Moving images and static folders
Images now included relative to the `docs/source` folder instead of the rst file. Also makes sure to add the updated `yosyshq.css` (which as a sidenote has ended up as `custom.css` in most of the other docs).
18
docs/source/_images/011/example_out.tex
Normal file
|
@ -0,0 +1,18 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{tikz}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\node[inner sep=0pt] at (0,0)
|
||||
{\includegraphics[width=\linewidth]{example_00.pdf}};
|
||||
\node[inner sep=0pt] at (0,-3.8)
|
||||
{\includegraphics[width=\linewidth]{example_01.pdf}};
|
||||
\node[inner sep=0pt] at (0,-7)
|
||||
{\includegraphics[width=\linewidth]{example_02.pdf}};
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
19
docs/source/_images/011/select_prod.tex
Normal file
|
@ -0,0 +1,19 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\node[inner sep=0pt] at (0,0)
|
||||
{\hfill \includegraphics[width=4cm,trim=0 1cm 0 1cm]{sumprod_02.pdf}};
|
||||
\node[inner sep=0pt] at (0,-2.8)
|
||||
{\includegraphics[width=\linewidth,trim=0 0cm 0 1cm]{sumprod_03.pdf}};
|
||||
\node[inner sep=0pt] at (0,-6.2)
|
||||
{\includegraphics[width=\linewidth,trim=0 0cm 0 1cm]{sumprod_04.pdf}};
|
||||
\node[inner sep=0pt] at (0,-9.2)
|
||||
{\includegraphics[width=\linewidth,trim=0 1cm 0 1cm]{sumprod_05.pdf}};
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
15
docs/source/_images/011/splitnets_libfile.tex
Normal file
|
@ -0,0 +1,15 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\node[inner sep=0pt] at (0,0)
|
||||
{\includegraphics[height=\linewidth]{cmos_00.pdf}};
|
||||
\node[inner sep=0pt] at (2,-8)
|
||||
{\includegraphics[width=\linewidth]{cmos_01.pdf}};
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
27
docs/source/_images/011/submod_dots.tex
Normal file
|
@ -0,0 +1,27 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\node[inner sep=0pt] at (0,0)
|
||||
{\includegraphics[width=\linewidth,trim=0 1.3cm 0 0cm]{submod_00.pdf}};
|
||||
\node at (0, -2.5)
|
||||
{\tt memdemo};
|
||||
\node[inner sep=0pt] at (0,-5)
|
||||
{\includegraphics[width=\linewidth,trim=0 1.3cm 0 0cm]{submod_01.pdf}};
|
||||
\node at (0, -7.5)
|
||||
{\tt scramble};
|
||||
\node[inner sep=0pt] at (0, -11)
|
||||
{\includegraphics[width=\linewidth,trim=0 1.3cm 0 0cm]{submod_02.pdf}};
|
||||
\node at (0, -14.8)
|
||||
{\tt outstage};
|
||||
\node[inner sep=0pt] at (0,-16.6)
|
||||
{\includegraphics[width=\linewidth,trim=0 1.3cm 0 0cm]{submod_03.pdf}};
|
||||
\node at (0, -19)
|
||||
{\tt selstage};
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
61
docs/source/_images/Makefile
Normal file
|
@ -0,0 +1,61 @@
|
|||
all: resources dots tex svg tidy
|
||||
|
||||
RES_LIST:= PRESENTATION_Intro/ PRESENTATION_ExSyn/ PRESENTATION_ExAdv/ PRESENTATION_ExOth/
|
||||
RES_DIRS:= $(addprefix ../resources/,$(RES_LIST))
|
||||
.PHONY: resources
|
||||
resources: $(RES_DIRS)
|
||||
FORCE:
|
||||
../resources/%: FORCE
|
||||
@$(MAKE) -C $@
|
||||
@mkdir -p res/$*
|
||||
@cp --update -t res/$* $@*.dot
|
||||
|
||||
TEX_SOURCE:= $(wildcard *.tex)
|
||||
DOT_LOC:= ../source/APPNOTE_011_Design_Investigation
|
||||
DOT_SOURCE:= $(wildcard $(DOT_LOC)/*.dot)
|
||||
|
||||
RES_DOTS:= $(wildcard res/*/*.dot)
|
||||
RES_DIRS:= $(sort $(dir $(RES_DOTS)))
|
||||
RES_PDF:= $(RES_DOTS:%.dot=%.pdf)
|
||||
|
||||
TEX_SOURCE+= 011/example_out.tex
|
||||
011/example_out.pdf: 011/example_00.pdf 011/example_01.pdf 011/example_02.pdf
|
||||
TEX_SOURCE+= 011/select_prod.tex
|
||||
011/select_prod.pdf: 011/sumprod_02.pdf 011/sumprod_03.pdf 011/sumprod_04.pdf 011/sumprod_05.pdf
|
||||
TEX_SOURCE+= 011/splitnets_libfile.tex
|
||||
011/splitnets_libfile.pdf: 011/cmos_00.pdf 011/cmos_01.pdf
|
||||
TEX_SOURCE+= 011/submod_dots.tex
|
||||
011/submod_dots.pdf: 011/submod_00.pdf 011/submod_01.pdf 011/submod_02.pdf 011/submod_03.pdf
|
||||
|
||||
TEX_PDF:= $(patsubst %.tex,%.pdf,$(TEX_SOURCE))
|
||||
DOT_PDF:= $(addprefix 011/,$(notdir $(patsubst %.dot,%.pdf,$(DOT_SOURCE))))
|
||||
SVG_OUTPUT:= $(patsubst %.pdf,%.svg,$(TEX_PDF) $(DOT_PDF) $(RES_PDF))
|
||||
|
||||
dots: $(DOT_PDF) $(RES_PDF)
|
||||
tex: $(TEX_PDF)
|
||||
svg: $(SVG_OUTPUT)
|
||||
|
||||
011/%.pdf: $(DOT_LOC)/%.dot
|
||||
faketime -f '2022-01-01 00:00:00 x0,001' dot -Tpdf -o $@ $<
|
||||
|
||||
res/%.pdf: res/%.dot
|
||||
faketime -f '2022-01-01 00:00:00 x0,001' dot -Tpdf -o $@ $<
|
||||
|
||||
011/%.pdf: 011/%.tex
|
||||
cd 011 && faketime -f '2022-01-01 00:00:00 x0,001' pdflatex $(<F) --interaction=nonstopmode
|
||||
|
||||
%.pdf: %.tex
|
||||
pdflatex $< --interaction=nonstopmode
|
||||
|
||||
%.svg: %.pdf
|
||||
pdf2svg $< $@
|
||||
|
||||
.PHONY: clean tidy
|
||||
tidy:
|
||||
rm -f *.log
|
||||
rm -f *.aux
|
||||
rm -f 011/*.log 011/*.aux
|
||||
clean: tidy
|
||||
rm -f *.pdf
|
||||
rm -f *.svg
|
||||
rm -f 011/*.pdf 011/*.svg
|
BIN
docs/source/_images/approach_flow.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
38
docs/source/_images/approach_flow.tex
Normal file
|
@ -0,0 +1,38 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{calc}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\path (-1.5,3) coordinate (cursor);
|
||||
\draw[-latex] ($ (cursor) + (0,-1.5) $) -- ++(1,0);
|
||||
\draw[fill=orange!10] ($ (cursor) + (1,-3) $) rectangle node[rotate=90] {Frontend} ++(1,3) coordinate (cursor);
|
||||
\draw[-latex] ($ (cursor) + (0,-1.5) $) -- ++(1,0);
|
||||
\draw[fill=green!10] ($ (cursor) + (1,-3) $) rectangle node[rotate=90] {Pass} ++(1,3) coordinate (cursor);
|
||||
\draw[-latex] ($ (cursor) + (0,-1.5) $) -- ++(1,0);
|
||||
\draw[fill=green!10] ($ (cursor) + (1,-3) $) rectangle node[rotate=90] {Pass} ++(1,3) coordinate (cursor);
|
||||
\draw[-latex] ($ (cursor) + (0,-1.5) $) -- ++(1,0);
|
||||
\draw[fill=green!10] ($ (cursor) + (1,-3) $) rectangle node[rotate=90] {Pass} ++(1,3) coordinate (cursor);
|
||||
\draw[-latex] ($ (cursor) + (0,-1.5) $) -- ++(1,0);
|
||||
\draw[fill=orange!10] ($ (cursor) + (1,-3) $) rectangle node[rotate=90] {Backend} ++(1,3) coordinate (cursor);
|
||||
\draw[-latex] ($ (cursor) + (0,-1.5) $) -- ++(1,0);
|
||||
|
||||
\path (-3,-0.5) coordinate (cursor);
|
||||
\draw (cursor) -- node[below] {HDL} ++(3,0) coordinate (cursor);
|
||||
\draw[|-|] (cursor) -- node[below] {Internal Format(s)} ++(8,0) coordinate (cursor);
|
||||
\draw (cursor) -- node[below] {Netlist} ++(3,0);
|
||||
|
||||
\path (-3,3.5) coordinate (cursor);
|
||||
\draw[-] (cursor) -- node[above] {High-Level} ++(3,0) coordinate (cursor);
|
||||
\draw[-] (cursor) -- ++(8,0) coordinate (cursor);
|
||||
\draw[->] (cursor) -- node[above] {Low-Level} ++(3,0);
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
BIN
docs/source/_images/basics_abstractions.png
Normal file
After Width: | Height: | Size: 28 KiB |
41
docs/source/_images/basics_abstractions.tex
Normal file
|
@ -0,0 +1,41 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{lvl} = [draw, fill=green!10, rectangle, minimum height=2em, minimum width=15em]
|
||||
\node[lvl] (sys) {System Level};
|
||||
\node[lvl] (hl) [below of=sys] {High Level};
|
||||
\node[lvl] (beh) [below of=hl] {Behavioral Level};
|
||||
\node[lvl] (rtl) [below of=beh] {Register-Transfer Level (RTL)};
|
||||
\node[lvl] (lg) [below of=rtl] {Logical Gate Level};
|
||||
\node[lvl] (pg) [below of=lg] {Physical Gate Level};
|
||||
\node[lvl] (sw) [below of=pg] {Switch Level};
|
||||
|
||||
\draw[dotted] (sys.east) -- ++(1,0) coordinate (sysx);
|
||||
\draw[dotted] (hl.east) -- ++(1,0) coordinate (hlx);
|
||||
\draw[dotted] (beh.east) -- ++(1,0) coordinate (behx);
|
||||
\draw[dotted] (rtl.east) -- ++(1,0) coordinate (rtlx);
|
||||
\draw[dotted] (lg.east) -- ++(1,0) coordinate (lgx);
|
||||
\draw[dotted] (pg.east) -- ++(1,0) coordinate (pgx);
|
||||
\draw[dotted] (sw.east) -- ++(1,0) coordinate (swx);
|
||||
|
||||
\draw[gray,|->] (sysx) -- node[right] {System Design} (hlx);
|
||||
\draw[|->|] (hlx) -- node[right] {High Level Synthesis (HLS)} (behx);
|
||||
\draw[->|] (behx) -- node[right] {Behavioral Synthesis} (rtlx);
|
||||
\draw[->|] (rtlx) -- node[right] {RTL Synthesis} (lgx);
|
||||
\draw[->|] (lgx) -- node[right] {Logic Synthesis} (pgx);
|
||||
\draw[gray,->|] (pgx) -- node[right] {Cell Library} (swx);
|
||||
|
||||
\draw[dotted] (behx) -- ++(5,0) coordinate (a);
|
||||
\draw[dotted] (pgx) -- ++(5,0) coordinate (b);
|
||||
\draw[|->|] (a) -- node[right] {Yosys} (b);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
BIN
docs/source/_images/basics_ast.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
30
docs/source/_images/basics_ast.tex
Normal file
|
@ -0,0 +1,30 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{shapes.geometric}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{node} = [draw, fill=green!10, ellipse, minimum height=2em, minimum width=8em, node distance=10em]
|
||||
|
||||
\draw (+0,+0) node[node] (n1) {\tt ASSIGN};
|
||||
|
||||
\draw (-2,-2) node[node] (n11) {\tt ID: foo};
|
||||
\draw (+2,-2) node[node] (n12) {\tt PLUS};
|
||||
|
||||
\draw (+0,-4) node[node] (n121) {\tt ID: bar};
|
||||
\draw (+4,-4) node[node] (n122) {\tt CONST: 42};
|
||||
|
||||
\draw[-latex] (n1) -- (n11);
|
||||
\draw[-latex] (n1) -- (n12);
|
||||
|
||||
\draw[-latex] (n12) -- (n121);
|
||||
\draw[-latex] (n12) -- (n122);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
BIN
docs/source/_images/basics_flow.png
Normal file
After Width: | Height: | Size: 12 KiB |
44
docs/source/_images/basics_flow.tex
Normal file
|
@ -0,0 +1,44 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{manual} = [draw, fill=green!10, rectangle, minimum height=2em, minimum width=8em, node distance=10em]
|
||||
\tikzstyle{auto} = [draw, fill=orange!10, rectangle, minimum height=2em, minimum width=8em, node distance=10em]
|
||||
|
||||
\node[manual] (sys) {\begin{minipage}{8em}
|
||||
\center
|
||||
System Level \\
|
||||
Model
|
||||
\end{minipage}};
|
||||
\node[manual] (beh) [right of=sys] {\begin{minipage}{8em}
|
||||
\center
|
||||
Behavioral \\
|
||||
Model
|
||||
\end{minipage}};
|
||||
\node[auto] (rtl) [right of=beh] {\begin{minipage}{8em}
|
||||
\center
|
||||
RTL \\
|
||||
Model
|
||||
\end{minipage}};
|
||||
\node[auto] (gates) [right of=rtl] {\begin{minipage}{8em}
|
||||
\center
|
||||
Gate-Level \\
|
||||
Model
|
||||
\end{minipage}};
|
||||
|
||||
\draw[-latex] (beh) edge[double, bend left] node[above] {synthesis} (rtl);
|
||||
\draw[-latex] (rtl) edge[double, bend left] node[above] {synthesis} (gates);
|
||||
|
||||
\draw[latex-latex] (sys) edge[bend right] node[below] {verify} (beh);
|
||||
\draw[latex-latex] (beh) edge[bend right] node[below] {verify} (rtl);
|
||||
\draw[latex-latex] (rtl) edge[bend right] node[below] {verify} (gates);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
BIN
docs/source/_images/basics_parsetree.png
Normal file
After Width: | Height: | Size: 23 KiB |
44
docs/source/_images/basics_parsetree.tex
Normal file
|
@ -0,0 +1,44 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{shapes.geometric}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{node} = [draw, fill=green!10, ellipse, minimum height=2em, minimum width=8em, node distance=10em]
|
||||
|
||||
\draw (+0,+1) node[node] (n1) {\tt assign\_stmt};
|
||||
|
||||
\draw (-6,-1) node[node] (n11) {\tt TOK\_ASSIGN};
|
||||
\draw (-3,-2) node[node] (n12) {\tt TOK\_IDENTIFIER};
|
||||
\draw (+0,-1) node[node] (n13) {\tt TOK\_EQ};
|
||||
\draw (+3,-2) node[node] (n14) {\tt expr};
|
||||
\draw (+6,-1) node[node] (n15) {\tt TOK\_SEMICOLON};
|
||||
|
||||
\draw (-1,-4) node[node] (n141) {\tt expr};
|
||||
\draw (+3,-4) node[node] (n142) {\tt TOK\_PLUS};
|
||||
\draw (+7,-4) node[node] (n143) {\tt expr};
|
||||
|
||||
\draw (-1,-5.5) node[node] (n1411) {\tt TOK\_IDENTIFIER};
|
||||
\draw (+7,-5.5) node[node] (n1431) {\tt TOK\_NUMBER};
|
||||
|
||||
\draw[-latex] (n1) -- (n11);
|
||||
\draw[-latex] (n1) -- (n12);
|
||||
\draw[-latex] (n1) -- (n13);
|
||||
\draw[-latex] (n1) -- (n14);
|
||||
\draw[-latex] (n1) -- (n15);
|
||||
|
||||
\draw[-latex] (n14) -- (n141);
|
||||
\draw[-latex] (n14) -- (n142);
|
||||
\draw[-latex] (n14) -- (n143);
|
||||
|
||||
\draw[-latex] (n141) -- (n1411);
|
||||
\draw[-latex] (n143) -- (n1431);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
42
docs/source/_images/levels_of_abstraction.tex
Normal file
|
@ -0,0 +1,42 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\pagestyle{empty}
|
||||
\definecolor{MyBlue}{RGB}{85,130,180}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[scale=1.2, every node/.style={transform shape}]
|
||||
\tikzstyle{lvl} = [draw, fill=MyBlue, rectangle, minimum height=2em, minimum width=15em]
|
||||
\node[lvl] (sys) {System Level};
|
||||
\node[lvl] (hl) [below of=sys] {High Level};
|
||||
\node[lvl] (beh) [below of=hl] {Behavioral Level};
|
||||
\node[lvl] (rtl) [below of=beh] {Register-Transfer Level (RTL)};
|
||||
\node[lvl] (lg) [below of=rtl] {Logical Gate Level};
|
||||
\node[lvl] (pg) [below of=lg] {Physical Gate Level};
|
||||
\node[lvl] (sw) [below of=pg] {Switch Level};
|
||||
|
||||
\draw[dotted] (sys.east) -- ++(1,0) coordinate (sysx);
|
||||
\draw[dotted] (hl.east) -- ++(1,0) coordinate (hlx);
|
||||
\draw[dotted] (beh.east) -- ++(1,0) coordinate (behx);
|
||||
\draw[dotted] (rtl.east) -- ++(1,0) coordinate (rtlx);
|
||||
\draw[dotted] (lg.east) -- ++(1,0) coordinate (lgx);
|
||||
\draw[dotted] (pg.east) -- ++(1,0) coordinate (pgx);
|
||||
\draw[dotted] (sw.east) -- ++(1,0) coordinate (swx);
|
||||
|
||||
\draw[gray,|->] (sysx) -- node[right] {System Design} (hlx);
|
||||
\draw[|->|] (hlx) -- node[right] {High Level Synthesis (HLS)} (behx);
|
||||
\draw[->|] (behx) -- node[right] {Behavioral Synthesis} (rtlx);
|
||||
\draw[->|] (rtlx) -- node[right] {RTL Synthesis} (lgx);
|
||||
\draw[->|] (lgx) -- node[right] {Logic Synthesis} (pgx);
|
||||
\draw[gray,->|] (pgx) -- node[right] {Cell Library} (swx);
|
||||
|
||||
\draw[dotted] (behx) -- ++(4,0) coordinate (a);
|
||||
\draw[dotted] (pgx) -- ++(4,0) coordinate (b);
|
||||
\draw[|->|] (a) -- node[right] {Yosys} (b);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
BIN
docs/source/_images/overview_flow.png
Normal file
After Width: | Height: | Size: 17 KiB |
37
docs/source/_images/overview_flow.tex
Normal file
|
@ -0,0 +1,37 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{shapes.geometric}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{process} = [draw, fill=green!10, rectangle, minimum height=3em, minimum width=10em, node distance=15em]
|
||||
\tikzstyle{data} = [draw, fill=blue!10, ellipse, minimum height=3em, minimum width=7em, node distance=15em]
|
||||
\node[process] (vlog) {Verilog Frontend};
|
||||
\node[process, dashed, fill=green!5] (vhdl) [right of=vlog] {VHDL Frontend};
|
||||
\node[process] (ilang) [right of=vhdl] {RTLIL Frontend};
|
||||
\node[data] (ast) [below of=vlog, node distance=5em, xshift=7.5em] {AST};
|
||||
\node[process] (astfe) [below of=ast, node distance=5em] {AST Frontend};
|
||||
\node[data] (rtlil) [below of=astfe, node distance=5em, xshift=7.5em] {RTLIL};
|
||||
\node[process] (pass) [right of=rtlil, node distance=5em, xshift=7.5em] {Passes};
|
||||
\node[process] (vlbe) [below of=rtlil, node distance=7em, xshift=-13em] {Verilog Backend};
|
||||
\node[process] (ilangbe) [below of=rtlil, node distance=7em, xshift=0em] {RTLIL Backend};
|
||||
\node[process, dashed, fill=green!5] (otherbe) [below of=rtlil, node distance=7em, xshift=+13em] {Other Backends};
|
||||
|
||||
\draw[-latex] (vlog) -- (ast);
|
||||
\draw[-latex] (vhdl) -- (ast);
|
||||
\draw[-latex] (ast) -- (astfe);
|
||||
\draw[-latex] (astfe) -- (rtlil);
|
||||
\draw[-latex] (ilang) -- (rtlil);
|
||||
\draw[latex-latex] (rtlil) -- (pass);
|
||||
\draw[-latex] (rtlil) -- (vlbe);
|
||||
\draw[-latex] (rtlil) -- (ilangbe);
|
||||
\draw[-latex] (rtlil) -- (otherbe);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
BIN
docs/source/_images/overview_rtlil.png
Normal file
After Width: | Height: | Size: 16 KiB |
27
docs/source/_images/overview_rtlil.tex
Normal file
|
@ -0,0 +1,27 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{entity} = [draw, fill=gray!10, rectangle, minimum height=3em, minimum width=7em, node distance=5em, font={\ttfamily}]
|
||||
\node[entity] (design) {RTLIL::Design};
|
||||
\node[entity] (module) [right of=design, node distance=11em] {RTLIL::Module} edge [-latex] node[above] {\tiny 1 \hskip3em N} (design);
|
||||
|
||||
\node[entity] (process) [fill=green!10, right of=module, node distance=10em] {RTLIL::Process} (process.west) edge [-latex] (module);
|
||||
\node[entity] (memory) [fill=red!10, below of=process] {RTLIL::Memory} edge [-latex] (module);
|
||||
\node[entity] (wire) [fill=blue!10, above of=process] {RTLIL::Wire} (wire.west) edge [-latex] (module);
|
||||
\node[entity] (cell) [fill=blue!10, above of=wire] {RTLIL::Cell} (cell.west) edge [-latex] (module);
|
||||
|
||||
\node[entity] (case) [fill=green!10, right of=process, node distance=10em] {RTLIL::CaseRule} edge [latex-latex] (process);
|
||||
\node[entity] (sync) [fill=green!10, above of=case] {RTLIL::SyncRule} edge [-latex] (process);
|
||||
\node[entity] (switch) [fill=green!10, below of=case] {RTLIL::SwitchRule} edge [-latex] (case);
|
||||
\draw[latex-] (switch.east) -- ++(1em,0) |- (case.east);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
20
docs/source/_images/simplified_rtlil.tex
Normal file
|
@ -0,0 +1,20 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}[every node/.style={transform shape}]
|
||||
\tikzstyle{entity} = [draw, fill=gray!10, rectangle, minimum height=3em, minimum width=7em, node distance=5em, font={\ttfamily}]
|
||||
\node[entity] (design) {RTLIL::Design};
|
||||
\node[entity] (module) [right of=design, node distance=11em] {RTLIL::Module} edge [-latex] node[above] {\tiny 1 \hskip3em N} (design);
|
||||
|
||||
\node[entity] (wire) [fill=blue!10, right of=module, node distance=10em] {RTLIL::Wire} (wire.west) edge [-latex] (module);
|
||||
\node[entity] (cell) [fill=blue!10, above of=wire] {RTLIL::Cell} (cell.west) edge [-latex] (module);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
BIN
docs/source/_images/verilog_flow.png
Normal file
After Width: | Height: | Size: 16 KiB |
67
docs/source/_images/verilog_flow.tex
Normal file
|
@ -0,0 +1,67 @@
|
|||
\documentclass[12pt,tikz]{standalone}
|
||||
\pdfinfoomitdate 1
|
||||
\pdfsuppressptexinfo 1
|
||||
\pdftrailerid{}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{shapes.geometric}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{process} = [draw, fill=green!10, rectangle, minimum height=3em, minimum width=10em, node distance=5em, font={\ttfamily}]
|
||||
\tikzstyle{data} = [draw, fill=blue!10, ellipse, minimum height=3em, minimum width=7em, node distance=5em, font={\ttfamily}]
|
||||
|
||||
\node[data] (n1) {Verilog Source};
|
||||
\node[process] (n2) [below of=n1] {Verilog Frontend};
|
||||
\node[data] (n3) [below of=n2] {AST};
|
||||
\node[process] (n4) [below of=n3] {AST Frontend};
|
||||
\node[data] (n5) [below of=n4] {RTLIL};
|
||||
|
||||
\draw[-latex] (n1) -- (n2);
|
||||
\draw[-latex] (n2) -- (n3);
|
||||
\draw[-latex] (n3) -- (n4);
|
||||
\draw[-latex] (n4) -- (n5);
|
||||
|
||||
\tikzstyle{details} = [draw, fill=yellow!5, rectangle, node distance=6cm, font={\ttfamily}]
|
||||
|
||||
\node[details] (d1) [right of=n2] {\begin{minipage}{5cm}
|
||||
\hfil
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{subproc} = [draw, fill=green!10, rectangle, minimum height=2em, minimum width=10em, node distance=3em, font={\ttfamily}]
|
||||
\node (s0) {};
|
||||
\node[subproc] (s1) [below of=s0] {Preprocessor};
|
||||
\node[subproc] (s2) [below of=s1] {Lexer};
|
||||
\node[subproc] (s3) [below of=s2] {Parser};
|
||||
\node[node distance=3em] (s4) [below of=s3] {};
|
||||
\draw[-latex] (s0) -- (s1);
|
||||
\draw[-latex] (s1) -- (s2);
|
||||
\draw[-latex] (s2) -- (s3);
|
||||
\draw[-latex] (s3) -- (s4);
|
||||
\end{tikzpicture}
|
||||
\end{minipage}};
|
||||
|
||||
\draw[dashed] (n2.north east) -- (d1.north west);
|
||||
\draw[dashed] (n2.south east) -- (d1.south west);
|
||||
|
||||
\node[details] (d2) [right of=n4] {\begin{minipage}{5cm}
|
||||
\hfil
|
||||
\begin{tikzpicture}
|
||||
\tikzstyle{subproc} = [draw, fill=green!10, rectangle, minimum height=2em, minimum width=10em, node distance=3em, font={\ttfamily}]
|
||||
\node (s0) {};
|
||||
\node[subproc] (s1) [below of=s0] {Simplifier};
|
||||
\node[subproc] (s2) [below of=s1] {RTLIL Generator};
|
||||
\node[node distance=3em] (s3) [below of=s2] {};
|
||||
\draw[-latex] (s0) -- (s1);
|
||||
\draw[-latex] (s1) -- (s2);
|
||||
\draw[-latex] (s2) -- (s3);
|
||||
\end{tikzpicture}
|
||||
\end{minipage}};
|
||||
|
||||
\draw[dashed] (n4.north east) -- (d2.north west);
|
||||
\draw[dashed] (n4.south east) -- (d2.south west);
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{document}
|