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