aboutsummaryrefslogtreecommitdiffstats
path: root/docs/images/basics_flow.tex
blob: 53b55548768a96de6dc8f4310e6d3dabbea1f6f7 (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
42
43
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}
span class="p">}; \$lut #( .WIDTH(`LUT_WIDTH), .LUT(4'b1110) ) lut ( .A(AA), .Y(Y) ); endmodule (* techmap_celltype = "$_AND_" *) module _90_lut_and (A, B, Y); input A, B; output Y; wire [`LUT_WIDTH-1:0] AA; assign AA = {B, A}; \$lut #( .WIDTH(`LUT_WIDTH), .LUT(4'b1000) ) lut ( .A(AA), .Y(Y) ); endmodule (* techmap_celltype = "$_XOR_" *) module _90_lut_xor (A, B, Y); input A, B; output Y; wire [`LUT_WIDTH-1:0] AA; assign AA = {B, A}; \$lut #( .WIDTH(`LUT_WIDTH), .LUT(4'b0110) ) lut ( .A(AA), .Y(Y) ); endmodule (* techmap_celltype = "$_MUX_" *) module _90_lut_mux (A, B, S, Y); input A, B, S; output Y; wire [`LUT_WIDTH-1:0] AA; assign AA = {S, B, A}; \$lut #( .WIDTH(`LUT_WIDTH), // A 1010 1010 // B 1100 1100 // S 1111 0000 .LUT(8'b_1100_1010) ) lut ( .A(AA), .Y(Y) ); endmodule