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 \newcommand{\subsectionpagesuffix}{
64 \vfill\begin{centering}
65 {\usebeamerfont{subsection name}\usebeamercolor[fg]{subsection name}of \sectionname~\insertsectionnumber}
66 \vskip1em\par
67 \setbeamercolor{graybox}{bg=gray}
68 \begin{beamercolorbox}[sep=8pt,center,bg=gray]{graybox}
69 \usebeamerfont{subsection title}\insertsection\par
70 \end{beamercolorbox}
71 \end{centering}}
72
73 \title{Yosys Open SYnthesis Suite}
74 \author{Clifford Wolf}
75 \institute{http://www.clifford.at/}
76
77 \usetheme{Madrid}
78 \usecolortheme{seagull}
79 \beamertemplatenavigationsymbolsempty
80
81 \definecolor{YosysGreen}{RGB}{85,136,102}
82 \definecolor{MyBlue}{RGB}{85,130,180}
83
84 \setbeamercolor{title}{fg=black,bg=YosysGreen!70}
85 \setbeamercolor{titlelike}{fg=black,bg=YosysGreen!70}
86 \setbeamercolor{frametitle}{fg=black,bg=YosysGreen!70}
87 \setbeamercolor{block title}{fg=black,bg=YosysGreen!70}
88 \setbeamercolor{item projected}{fg=black,bg=YosysGreen}
89
90 \begin{document}
91
92 \begin{frame}
93 \titlepage
94 \end{frame}
95
96 \setcounter{section}{-2}
97
98 \section{Abstract}
99 \begin{frame}{Abstract}
100 Yosys is the first full-featured open source software for Verilog HDL
101 synthesis. It supports most of Verilog-2005 and is well tested with
102 real-world designs from the ASIC and FPGA world.
103
104 \bigskip
105 Learn how to use Yosys to create your own custom synthesis flows and
106 discover why open source HDL synthesis is important for researchers,
107 hobbyists, educators and engineers alike.
108
109 \bigskip
110 This presentation covers basic concepts of Yosys, writing synthesis scripts
111 for a wide range of applications, creating Yosys scripts for various
112 non-synthesis applications (such as formal equivialence checking) and
113 writing extensions to Yosys using the C++ API.
114 \end{frame}
115
116 \section{Outline}
117 \begin{frame}{Outline}
118 Yosys is an Open Source Verilog synthesis tool, and more.
119
120 \bigskip
121 Outline of this presentation:
122 \begin{itemize}
123 \item Introduction to the field and Yosys
124 \item Yosys by example: synthesis
125 \item Yosys by example: advanced synthesis
126 \item Yosys by example: beyond synthesis
127 \item Programming Yosys extensions
128 \end{itemize}
129 \end{frame}
130
131 \include{PRESENTATION_Intro}
132 \include{PRESENTATION_ExSyn}
133 \include{PRESENTATION_ExAdv}
134 \include{PRESENTATION_ExOth}
135 \include{PRESENTATION_Prog}
136
137 \end{document}