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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
\documentclass[preview]{standalone}
\usepackage{tikz}
\usepackage{fontspec}
\setmainfont{Alegreya}
\usetikzlibrary{shapes,calc,arrows.meta}
\definecolor{hlscol}{HTML}{b3e2cd}
\definecolor{computingcol}{HTML}{fdcdac}
\definecolor{verificationcol}{HTML}{cbd5e8}
\begin{document}
\begin{tikzpicture}
\fill[hlscol,rounded corners=8pt] (0,1) rectangle ++(3,6);
\fill[computingcol,rounded corners=8pt] (3.5,1) rectangle ++(3,6);
\fill[verificationcol,rounded corners=8pt] (7,1) rectangle ++(3,6);
\node (hls) at (0.5,6.7) {HLS};
\node (computing) at (4.5,6.7) {Computing};
\node (verification) at (8,6.7) {Verification};
\node[draw,circle] (hlsa) at (0.5,6) {\footnotesize 1a};
\node[draw,circle] (hlsb) at (0.5,5) {\footnotesize 1b};
\node[draw,circle] (hlsc) at (0.5,4) {\footnotesize 1c};
\node[draw,circle] (hlsd) at (0.5,3) {\footnotesize 1d};
\node[draw,circle] (hlse) at (1.5,3) {\footnotesize 1b1};
\node[draw,circle] (hlsf) at (1.5,2) {\footnotesize 1b2};
\node[draw,circle] (hlsg) at (1.5,5) {\footnotesize 1a1};
\node[draw,circle] (hlsh) at (1.5,4) {\footnotesize 1a2};
\node[draw,circle] (hlsi) at (2.5,4) {\footnotesize 1a1a};
\node[draw,circle] (hlsj) at (2.5,3) {\footnotesize 1a1b};
\draw[->] (hlsa) -> (hlsb);
\draw[->] (hlsb) -> (hlsc);
\draw[->] (hlsc) -> (hlsd);
\draw[->] (hlsb) -> (hlse);
\draw[->] (hlse) -> (hlsf);
\draw[->] (hlsa) -> (hlsg);
\draw[->] (hlsg) -> (hlsh);
\draw[->] (hlsg) -> (hlsi);
\draw[->] (hlsi) -> (hlsj);
\node[draw,circle] (computinga) at (4,6) {\footnotesize 2a};
\node[draw,circle] (computingb) at (4,5) {\footnotesize 2b};
\node[draw,circle] (computingc) at (4,4) {\footnotesize 2c};
\node[draw,circle] (computinge) at (5,4) {\footnotesize 2b1};
\node[draw,circle] (computingf) at (5,3) {\footnotesize 2b2};
\node[draw,circle] (computingg) at (5,2) {\footnotesize 2b3};
\node[draw,circle] (computingh) at (6,2) {\footnotesize 2b2a};
\draw[->] (computinga) -> (computingb);
\draw[->] (computingb) -> (computingc);
\draw[->] (computingb) -> (computinge);
\draw[->] (computinge) -> (computingf);
\draw[->] (computingf) -> (computingg);
\draw[->] (computingf) -> (computingh);
\node[draw,circle] (verificationa) at (7.5,6) {\footnotesize 3a};
\node[draw,circle] (verificationb) at (7.5,5) {\footnotesize 3b};
\node[draw,circle] (verificationc) at (7.5,4) {\footnotesize 3c};
\node[draw,circle] (verificationd) at (7.5,3) {\footnotesize 3d};
\node[draw,circle] (verificatione) at (7.5,2) {\footnotesize 3e};
\node[draw,circle] (verificationf) at (8.5,2) {\footnotesize 3d1};
\node[draw,circle] (verificationg) at (8.5,4) {\footnotesize 3b1};
\node[draw,circle] (verificationh) at (8.5,3) {\footnotesize 3b2};
\draw[->] (verificationa) -> (verificationb);
\draw[->] (verificationb) -> (verificationc);
\draw[->] (verificationc) -> (verificationd);
\draw[->] (verificationd) -> (verificationf);
\draw[->] (verificationd) -> (verificatione);
\draw[->] (verificationb) -> (verificationg);
\draw[->] (verificationg) -> (verificationh);
%\draw[->] (hlsh) -> (computinga);
%\draw[->] (hlsg) -> (computingb);
%\draw[->] (hlsi) -> (computingg);
%\draw[->] (computingf) -> (hlsj);
%\draw[->] (computingh) to [out=60,in=225] ($(computingh) + (0.8,1.3)$) to [out=45,in=210] (verificationg);
%\draw[->] (hlsd) -> (hlsh);
%\draw[->] (hlsg) to [out=20,in=160] (verificationb);
\end{tikzpicture}
\end{document}
|