aboutsummaryrefslogtreecommitdiffstats
path: root/docs/images/basics_abstractions.tex
blob: ece06362348287971507fdc2e2948289940e6c1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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}