presentation progress
[yosys.git] / manual / presentation.tex
1 \documentclass{beamer}
2
3 \usepackage[T1]{fontenc} % required for luximono!
4 \usepackage{lmodern}
5 \usepackage[scaled=0.8]{luximono} % typewriter font with bold face
6
7 % To install the luximono font files:
8 % getnonfreefonts-sys --all or
9 % getnonfreefonts-sys luximono
10 %
11 % when there are trouble you might need to:
12 % - Create /etc/texmf/updmap.d/99local-luximono.cfg
13 % containing the single line: Map ul9.map
14 % - Run update-updmap followed by mktexlsr and updmap-sys
15 %
16 % This commands must be executed as root with a root environment
17 % (i.e. run "sudo su" and then execute the commands in the root
18 % shell, don't just prefix the commands with "sudo").
19
20 % formats the text accourding the set language
21 \usepackage[english]{babel}
22 \usepackage{amsmath}
23 \usepackage{multirow}
24 \usepackage{booktabs}
25 \usepackage{listings}
26 \usepackage{setspace}
27 \usepackage{skull}
28 \usepackage{units}
29
30 \usepackage{tikz}
31 \usetikzlibrary{calc}
32 \usetikzlibrary{arrows}
33 \usetikzlibrary{scopes}
34 \usetikzlibrary{through}
35 \usetikzlibrary{shapes.geometric}
36
37 \lstset{basicstyle=\ttfamily}
38
39 \def\B#1{{\tt\textbackslash{}#1}}
40 \def\C#1{\lstinline[language=C++]{#1}}
41 \def\V#1{\lstinline[language=Verilog]{#1}}
42
43 \lstdefinelanguage{liberty}{
44 morecomment=[s]{/*}{*/},
45 morekeywords={library,cell,area,pin,direction,function,clocked_on,next_state,clock,ff},
46 morestring=[b]",
47 }
48
49 \lstdefinelanguage{rtlil}{
50 morecomment=[l]{\#},
51 morekeywords={module,attribute,parameter,wire,memory,auto,width,offset,size,input,output,inout,cell,connect,switch,case,assign,sync,low,high,posedge,negedge,edge,always,update,process,end},
52 morestring=[b]",
53 }
54
55 \newenvironment{boxalertenv}{\begin{altenv}%
56 {\usebeamertemplate{alerted text begin}\usebeamercolor[fg]{alerted text}\usebeamerfont{alerted text}\setlength{\fboxsep}{1pt}\colorbox{bg}}
57 {\usebeamertemplate{alerted text end}}{\color{.}}{}}{\end{altenv}}
58
59 \newcommand<>{\boxalert}[1]{{%
60 \begin{boxalertenv}#2{#1}\end{boxalertenv}%
61 }}
62
63 \title{Yosys Open SYnthesis Suite}
64 \author{Clifford Wolf}
65 \institute{http://www.clifford.at/}
66
67 \usetheme{Madrid}
68 \usecolortheme{seagull}
69 \beamertemplatenavigationsymbolsempty
70
71 \definecolor{YosysGreen}{RGB}{85,136,102}
72 \definecolor{MyBlue}{RGB}{85,130,180}
73
74 \setbeamercolor{title}{fg=black,bg=YosysGreen!70}
75 \setbeamercolor{titlelike}{fg=black,bg=YosysGreen!70}
76 \setbeamercolor{frametitle}{fg=black,bg=YosysGreen!70}
77 \setbeamercolor{block title}{fg=black,bg=YosysGreen!70}
78 \setbeamercolor{item projected}{fg=black,bg=YosysGreen}
79
80 \begin{document}
81
82 \begin{frame}
83 \titlepage
84 \end{frame}
85
86 \setcounter{section}{-2}
87
88 \section{Abstract}
89 \begin{frame}{Abstract}
90 Yosys is the first full-featured open source software for Verilog HDL
91 synthesis. It supports most of Verilog-2005 and is well tested with
92 real-world designs from the ASIC and FPGA world.
93
94 \bigskip
95 Learn how to use Yosys to create your own custom synthesis flows and discover
96 why open source HDL synthesis is important for researchers, hobbyists,
97 educators and engineers alike.
98
99 \bigskip
100 This presentation covers basic concepts of Yosys, creating simple synthesis
101 scripts, creating synthesis scripts for advanced applications, creating Yosys
102 scripts for non-synthesis applications (such as formal equivialence checking)
103 and writing extensions to Yosys using the C++ API.
104 \end{frame}
105
106 \section{Outline}
107 \begin{frame}{Outline}
108 Yosys is an Open Source Verilog synthesis tool, and more.
109
110 \bigskip
111 Outline of this presentation:
112 \begin{itemize}
113 \item Introduction to the field and Yosys
114 \item Yosys by example: synthesis
115 \item Yosys by example: advanced synthesis
116 \item Yosys by example: beyond synthesis
117 \item Programming Yosys extensions
118 \end{itemize}
119 \end{frame}
120
121 \include{PRESENTATION_Intro}
122 \include{PRESENTATION_ExSyn}
123 \include{PRESENTATION_ExAdv}
124 \include{PRESENTATION_ExOth}
125 \include{PRESENTATION_Prog}
126
127 \end{document}