From a14dec79ebc85fae807684fa027d8098a16a4d34 Mon Sep 17 00:00:00 2001 From: KrystalDelusion <93062060+KrystalDelusion@users.noreply.github.com> Date: Wed, 16 Nov 2022 00:55:22 +1300 Subject: Rst docs conversion (#3496) Rst docs conversion --- docs/images/011/example_out.tex | 18 +++++++++ docs/images/011/select_prod.tex | 19 ++++++++++ docs/images/011/splitnets_libfile.tex | 15 ++++++++ docs/images/011/submod_dots.tex | 27 ++++++++++++++ docs/images/Makefile | 44 ++++++++++++++++++++++ docs/images/approach_flow.png | Bin 0 -> 9709 bytes docs/images/approach_flow.tex | 38 +++++++++++++++++++ docs/images/basics_abstractions.png | Bin 0 -> 29158 bytes docs/images/basics_abstractions.tex | 41 +++++++++++++++++++++ docs/images/basics_ast.png | Bin 0 -> 9478 bytes docs/images/basics_ast.tex | 30 +++++++++++++++ docs/images/basics_flow.png | Bin 0 -> 12540 bytes docs/images/basics_flow.tex | 44 ++++++++++++++++++++++ docs/images/basics_parsetree.png | Bin 0 -> 23196 bytes docs/images/basics_parsetree.tex | 44 ++++++++++++++++++++++ docs/images/overview_flow.png | Bin 0 -> 17668 bytes docs/images/overview_flow.tex | 37 +++++++++++++++++++ docs/images/overview_rtlil.png | Bin 0 -> 16034 bytes docs/images/overview_rtlil.tex | 27 ++++++++++++++ docs/images/verilog_flow.png | Bin 0 -> 15934 bytes docs/images/verilog_flow.tex | 67 ++++++++++++++++++++++++++++++++++ 21 files changed, 451 insertions(+) create mode 100644 docs/images/011/example_out.tex create mode 100644 docs/images/011/select_prod.tex create mode 100644 docs/images/011/splitnets_libfile.tex create mode 100644 docs/images/011/submod_dots.tex create mode 100644 docs/images/Makefile create mode 100644 docs/images/approach_flow.png create mode 100644 docs/images/approach_flow.tex create mode 100644 docs/images/basics_abstractions.png create mode 100644 docs/images/basics_abstractions.tex create mode 100644 docs/images/basics_ast.png create mode 100644 docs/images/basics_ast.tex create mode 100644 docs/images/basics_flow.png create mode 100644 docs/images/basics_flow.tex create mode 100644 docs/images/basics_parsetree.png create mode 100644 docs/images/basics_parsetree.tex create mode 100644 docs/images/overview_flow.png create mode 100644 docs/images/overview_flow.tex create mode 100644 docs/images/overview_rtlil.png create mode 100644 docs/images/overview_rtlil.tex create mode 100644 docs/images/verilog_flow.png create mode 100644 docs/images/verilog_flow.tex (limited to 'docs/images') diff --git a/docs/images/011/example_out.tex b/docs/images/011/example_out.tex new file mode 100644 index 000000000..831b036e9 --- /dev/null +++ b/docs/images/011/example_out.tex @@ -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} diff --git a/docs/images/011/select_prod.tex b/docs/images/011/select_prod.tex new file mode 100644 index 000000000..c4a3c6e37 --- /dev/null +++ b/docs/images/011/select_prod.tex @@ -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} diff --git a/docs/images/011/splitnets_libfile.tex b/docs/images/011/splitnets_libfile.tex new file mode 100644 index 000000000..9669ef841 --- /dev/null +++ b/docs/images/011/splitnets_libfile.tex @@ -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} diff --git a/docs/images/011/submod_dots.tex b/docs/images/011/submod_dots.tex new file mode 100644 index 000000000..3d48b46e5 --- /dev/null +++ b/docs/images/011/submod_dots.tex @@ -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} diff --git a/docs/images/Makefile b/docs/images/Makefile new file mode 100644 index 000000000..b62f6c7f6 --- /dev/null +++ b/docs/images/Makefile @@ -0,0 +1,44 @@ +all: dots tex svg tidy + +TEX_SOURCE:= $(wildcard *.tex) +DOT_LOC:= ../../manual/APPNOTE_011_Design_Investigation +DOT_SOURCE:= $(wildcard $(DOT_LOC)/*.dot) + +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)) + +dots: $(DOT_PDF) +tex: $(TEX_PDF) +svg: $(SVG_OUTPUT) + +011/%.pdf: $(DOT_LOC)/%.dot + dot -Tpdf -o $@ $< + +011/%.pdf: 011/%.tex + cd 011 && pdflatex $(] (cursor) -- node[above] {Low-Level} ++(3,0); + +\end{tikzpicture} +\end{document} diff --git a/docs/images/basics_abstractions.png b/docs/images/basics_abstractions.png new file mode 100644 index 000000000..a735fbd3b Binary files /dev/null and b/docs/images/basics_abstractions.png differ diff --git a/docs/images/basics_abstractions.tex b/docs/images/basics_abstractions.tex new file mode 100644 index 000000000..ece063623 --- /dev/null +++ b/docs/images/basics_abstractions.tex @@ -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} diff --git a/docs/images/basics_ast.png b/docs/images/basics_ast.png new file mode 100644 index 000000000..c2d95c844 Binary files /dev/null and b/docs/images/basics_ast.png differ diff --git a/docs/images/basics_ast.tex b/docs/images/basics_ast.tex new file mode 100644 index 000000000..dac6a8d47 --- /dev/null +++ b/docs/images/basics_ast.tex @@ -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} diff --git a/docs/images/basics_flow.png b/docs/images/basics_flow.png new file mode 100644 index 000000000..a027b5eac Binary files /dev/null and b/docs/images/basics_flow.png differ diff --git a/docs/images/basics_flow.tex b/docs/images/basics_flow.tex new file mode 100644 index 000000000..53b555487 --- /dev/null +++ b/docs/images/basics_flow.tex @@ -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} diff --git a/docs/images/basics_parsetree.png b/docs/images/basics_parsetree.png new file mode 100644 index 000000000..ff7a17e2b Binary files /dev/null and b/docs/images/basics_parsetree.png differ diff --git a/docs/images/basics_parsetree.tex b/docs/images/basics_parsetree.tex new file mode 100644 index 000000000..1c8392b88 --- /dev/null +++ b/docs/images/basics_parsetree.tex @@ -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} diff --git a/docs/images/overview_flow.png b/docs/images/overview_flow.png new file mode 100644 index 000000000..c1b13a000 Binary files /dev/null and b/docs/images/overview_flow.png differ diff --git a/docs/images/overview_flow.tex b/docs/images/overview_flow.tex new file mode 100644 index 000000000..ac0afde5f --- /dev/null +++ b/docs/images/overview_flow.tex @@ -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} diff --git a/docs/images/overview_rtlil.png b/docs/images/overview_rtlil.png new file mode 100644 index 000000000..f79c667e8 Binary files /dev/null and b/docs/images/overview_rtlil.png differ diff --git a/docs/images/overview_rtlil.tex b/docs/images/overview_rtlil.tex new file mode 100644 index 000000000..ddacbff00 --- /dev/null +++ b/docs/images/overview_rtlil.tex @@ -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} diff --git a/docs/images/verilog_flow.png b/docs/images/verilog_flow.png new file mode 100644 index 000000000..1f3d82780 Binary files /dev/null and b/docs/images/verilog_flow.png differ diff --git a/docs/images/verilog_flow.tex b/docs/images/verilog_flow.tex new file mode 100644 index 000000000..d3e269d0d --- /dev/null +++ b/docs/images/verilog_flow.tex @@ -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} -- cgit v1.2.3