3a7d1101972c211366d780198ccaf4cea436a562
[matthijs/projects/internship.git] / Progress presentation / Presentation.tex
1 \documentclass[hyperref={pdfpagelabels=false}]{beamer}
2 %\documentclass{beamer}
3
4 \mode<presentation>
5 {
6   %\useinnertheme{echt}
7   %\useinnertheme{proef}
8   \usetheme{recore}
9   \setbeamercovered{transparent}
10 %\setbeamertemplate{footline}[frame number]
11 }
12
13 \usepackage[english]{babel}
14 \usepackage[latin1]{inputenc}
15 \usepackage{times}
16 \usepackage[T1]{fontenc}
17 \usepackage{acronym}
18 \usepackage{tikz}
19 \usepackage{multimedia}
20 \usepackage{subfigure}
21 \usepackage{booktabs}
22 %For handouts, use the following two lines:
23 %\usepackage{pgfpages}
24 %\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
25
26
27 \title
28 {Scalability issues of a Network-on-Chip}
29
30 \author {David Bonfrer}
31
32 \institute[Recore Systems and University of Twente]
33 {
34   \inst{1}%
35   Recore Systems
36   \and
37   \inst{2}%
38   Faculty of Electrical Engineering, Mathematics and Computer Science\\
39   University of Twente
40   }
41   
42 %\setbeamertemplate{navigation symbols}{}
43   
44 % \pgfdeclareimage[height=0.5cm]{recore_logo}{images/recore_logo}
45 % \logo{\pgfuseimage{recore_logo}}
46
47
48
49 %\AtBeginSubsection[]
50 %{
51 %  \begin{frame}<beamer>{Outline}
52 %    \tableofcontents[currentsection,currentsubsection,hideothersubsections]
53 %  \end{frame}
54 %}
55
56
57
58 \begin{document}
59
60 \begin{frame}
61         \titlepage
62 \end{frame}
63
64 \begin{frame}{Contents}
65   \tableofcontents
66 \end{frame}
67
68 \section{Introduction}
69         \subsection{Low power usage}
70 %               \begin{frame}{PDA}
71 %                       \begin{center}
72 %                               \includegraphics[scale=.44]{images/pda3}
73 %                       \end{center}
74 %               \end{frame}
75 %               \begin{frame}{SoC}
76 %                       %Picture of SoC
77 %               \end{frame}
78 %               \begin{frame}{Annabelle \ac{SoC}}
79 %                       \begin{center}
80 %                               \includegraphics[scale=0.52]{images/reconfigurable_fabric}
81 %                       \end{center}
82 %               \end{frame}
83 %               \begin{frame}{CRISP \ac{SoC}}
84 %                       \begin{center}
85 %                               \includegraphics[scale=.76]{images/CRISP}%TODO fix blue too black
86 %                       \end{center}
87 %               \end{frame}
88 %\section{Problem description}
89 %       %Problem description
90 %\section{Architecture}
91 %               \begin{frame}
92 %               \begin{center}
93 %                       \tikzstyle{help lines}=[black!10,thin]
94 %                       \begin{tikzpicture}[>=stealth,scale=.7]
95 %                               \foreach \x in {1,6,11}
96 %                                       \foreach \y in {5,0}{
97 %                                               \draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
98 %                                               \draw (\x,\y) node{Router};
99 %                                               \draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
100 %                                               \draw (\x,\y) +(.9,1.5)node{Tile};
101 %                                               \foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
102 %                               }
103 %                               \foreach \x in {1,6}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(1,\z) -- ++(4,\z);
104 %                               \foreach \x in {1,6,11}\foreach \y in {0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,1) -- ++(\z,4);
105 %                               \foreach \x in {11}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(1,\z) -- ++(1.5,\z);
106 %                               \foreach \x in {1,6,11}\foreach \y in {5}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,1) -- ++(\z,1.5);
107 %                               \foreach \x in {1}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(-1,\z) -- ++(-1.5,\z);
108 %                               \foreach \x in {1,6,11}\foreach \y in {0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,-1) -- ++(\z,-1.5);
109 %                               \draw (4,5) circle (0.4) +(0,-0.4) -- (3,3.5) +(0,-0.2) node{Link};
110 %                               \draw (2,0) circle (0.4) +(0,0.4) -- (4,1.5) +(0,0.2) node{Port};
111 %                               \draw (9,4.9)  circle (0.1) +(0,-0.1) -- (8,3.5) +(0,-0.2) node{Lane};
112 %                       \end{tikzpicture}
113 %               \end{center}
114 %               \end{frame}
115 %               \begin{frame}{Circuit switched}
116 %                       \begin{center}
117 %                               \tikzstyle{help lines}=[black!10,thin]
118 %                               \begin{tikzpicture}[>=stealth,scale=.6]
119 %                                       \foreach \x in {1,6,11}
120 %                                               \foreach \y in {5,0}{
121 %                                                       \draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
122 %                                                       \draw (\x,\y) node{Router};
123 %                                                       \draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
124 %                                                       \draw (\x,\y) +(.9,1.5)node{Tile};
125 %                                                       \foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
126 %                                       }
127 %                                       \foreach \x in {1,6}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(1,\z) -- ++(4,\z);
128 %                                       \foreach \x in {1,6,11}\foreach \y in {0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,1) -- ++(\z,4);
129 %                                       \foreach \x in {11}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(1,\z) -- ++(1.5,\z);
130 %                                       \foreach \x in {1,6,11}\foreach \y in {5}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,1) -- ++(\z,1.5);
131 %                                       \foreach \x in {1}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(-1,\z) -- ++(-1.5,\z);
132 %                                       \foreach \x in {1,6,11}\foreach \y in {0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,-1) -- ++(\z,-1.5);
133 %                                       \draw [very thick,->] (-1,0.2)  -- (11.2,0.2) -- (11.2,4.9) -- (13,4.9);
134 %                               \end{tikzpicture}
135 %                       \end{center}
136 %               \end{frame}
137 %               \begin{frame}{Packet switched}
138 %                       \begin{center}
139 %                               \tikzstyle{help lines}=[black!10,thin]
140 %                               \begin{tikzpicture}[>=stealth,scale=.6]
141 %                                       \foreach \x in {1,6,11}
142 %                                               \foreach \y in {5,0}{
143 %                                                       \draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
144 %                                                       \draw (\x,\y) node{Router};
145 %                                                       \draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
146 %                                                       \draw (\x,\y) +(.9,1.5)node{Tile};
147 %                                                       \foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
148 %                                       }
149 %                                       \foreach \x in {1,6}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(1,\z) -- ++(4,\z);
150 %                                       \foreach \x in {1,6,11}\foreach \y in {0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,1) -- ++(\z,4);
151 %                                       \foreach \x in {11}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(1,\z) -- ++(1.5,\z);
152 %                                       \foreach \x in {1,6,11}\foreach \y in {5}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,1) -- ++(\z,1.5);
153 %                                       \foreach \x in {1}\foreach \y in {5,0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(-1,\z) -- ++(-1.5,\z);
154 %                                       \foreach \x in {1,6,11}\foreach \y in {0}\foreach \z in {-0.1,0,0.1,0.2}\draw (\x,\y) +(\z,-1) -- ++(\z,-1.5);
155 %                                       \draw [very thick,->] (-1,0.2)  -- (.8,0.2);
156 %                                       \draw [very thick,->] (1.2,0.2)  -- (5.8,0.2);
157 %                                       \draw [very thick,->] (6.2,0.2)  -- (10.8,0.2);
158 %                                       \draw [very thick,->] (11.2,0.5)-- (11.2,4.5);
159 %                                       \draw [very thick,->] (11.5,4.9)-- (13,4.9);
160 %                               \end{tikzpicture}
161 %                       \end{center}
162 %               \end{frame}
163 %               \begin{frame}{Router components}
164 %                       \begin{center}
165 %                               \tikzstyle{help lines}=[black!10,thin]
166 %                               \begin{tikzpicture}[>=stealth,scale=.84]
167 %                                       \draw (-2.8,-1) rectangle ++(7.5,5);
168 %                                       \draw (1,3.75) node{Generic router};
169 %                                       \draw (.1,.1) rectangle ++(1.8,3);
170 %                                       \draw (1,2.75) node{Crossbar};
171 %                                       \foreach \x in {.1,2.6,2.0,1.4}{
172 %                                               \draw (2.1,\x) rectangle ++(2.5,.5);
173 %                                               \draw (2.1,\x) +(1.25,.25) node{Output buffer};
174 %                                       }
175 %                                       \foreach \x in {.8,1,1.2}{
176 %                                               \draw (2.1,\x) +(1.25,0) circle (0.05);
177 %                                       }
178 %                                       \foreach \x in {.1,2.6,2.0,1.4}{
179 %                                               \draw (-.1,\x) rectangle ++(-2.5,.5);
180 %                                               \draw (-.1,\x) +(-1.25,.25) node{Input buffer};
181 %                                       }
182 %                                       \foreach \x in {.8,1,1.2}{
183 %                                               \draw (-.1,\x) +(-1.25,0) circle (0.05);
184 %                                       }
185 %                                       \draw (.9,.1) -- (.9,-.1);
186 %                                       \draw (1.1,.1) -- (1.1,-.1);
187 %                                       \draw (0,-.1) rectangle (2,-.9);
188 %                                       \draw (1,-.5) node {Arbiter};
189 %                                       \foreach \x in {0.2,0.3,...,2.2}{
190 %                                               \draw (0.2,\x) -- (.1,\x);
191 %                                               \draw (1.9,\x) -- (1.8,\x);
192 %                                       }
193 %                                       \draw (.1,2.1) -- (.5,2.1);
194 %                                       \draw (.1,0.2) -- (.5,0.2);
195 %                       
196 %                                       \draw (1.5,2.1) -- (1.9,2.1);
197 %                                       \draw (1.5,0.2) -- (1.9,0.2);
198 %                       
199 %                                       \draw (-4.2,1.5) node {N inputs};
200 %                                       \draw (6.5,1.5) node {N outputs};
201 %                       
202 %                                       \draw (0.5,2.1) -- (1.5,0.2);
203 %                                       \draw (0.5,0.2) -- (1.5,2.1);
204 %                                       \draw (1.9,0.2) -- (2.1,.35);
205 %                                       \draw (1.9,2.1) -- (2.1,2.85);
206 %                                       \draw (1.9,2.0) -- (2.1,2.25);
207 %                                       \draw (1.9,1.9) -- (2.1,1.65);
208 %                       
209 %                                       \draw (.1,0.2) -- (-.1,.35);
210 %                                       \draw (.1,2.1) -- (-.1,2.85);
211 %                                       \draw (.1,2.0) -- (-.1,2.25);
212 %                                       \draw (.1,1.9) -- (-.1,1.65);
213 %                       
214 %                       
215 %                                       \draw [->] (4.5,0.35) -- (4.9,.35);
216 %                                       \draw [->] (4.5,2.85) -- (4.9,2.85);
217 %                                       \draw [->] (4.5,2.25) -- (4.9,2.25);
218 %                                       \draw [->] (4.5,1.65) -- (4.9,1.65);
219 %                       
220 %                                       \draw [<-] (-2.5,0.35) -- (-3,.35);
221 %                                       \draw [<-] (-2.5,2.85) -- (-3,2.85);
222 %                                       \draw [<-] (-2.5,2.25) -- (-3,2.25);
223 %                                       \draw [<-] (-2.5,1.65) -- (-3,1.65);
224 %                               \end{tikzpicture}
225 %                       \end{center}
226 %               \end{frame}
227 %               \begin{frame}{Flow control}
228 %                       \begin{center}
229 %                               \tikzstyle{help lines}=[black!10,thin]
230 %                               \begin{tikzpicture}[>=stealth,scale=.5]
231 %                                       \draw[->] (.5,1) -- (9.5,1)node[above,midway]{Data valid};
232 %                                       \draw[<-] (.5,2) -- (9.5,2)node[above,midway]{Acknowledge};
233 %                                       \draw[->][very thick] (.5,3.5) -- (9.5,3.5) node[above,midway]{Data};
234 %                               \end{tikzpicture}
235 %                       \end{center}
236 %               \end{frame}
237 %\section{Results}
238 %       \subsection{Flow control}
239 %               \begin{frame}{Flow control}
240 %                       \begin{itemize}
241 %                               \item Different types of flow control:
242 %                               \begin{itemize}
243 %                                       \item Direct flow control
244 %                                       \item Single register flow control
245 %                                       \item Double register flow control
246 %                                       \item Windowed transmission
247 %                               \end{itemize}
248 %                       \end{itemize}
249 %               \end{frame}
250 %       \subsection{Configuration network}
251 %%              \begin{frame}{Configuration network}
252 %%                      \begin{center}
253 %%                              \includegraphics[trim = 10mm 200mm 100mm 20mm, clip, scale=.8]{images/d+c_router}
254 %%                      \end{center}
255 %%              \end{frame}
256 %               \begin{frame}{Configuration network}
257 %                       \begin{columns}
258 %                       \column{.8\textwidth}
259 %                       \begin{itemize}
260 %                               \item The configuration network \ac{CSDCnet}:
261 %                               \begin{itemize}
262 %                                       \item Pros:
263 %                                       \begin{itemize}
264 %                                               \item Easy configuration
265 %                                               \item Optimal config route
266 %                                               \item Small area needed on chip ($0.002 mm^2$)
267 %                                               \item High clock speed possible (1GHz)
268 %                                       \end{itemize}
269 %                                       \item Cons:
270 %                                       \begin{itemize}
271 %                                               \item Only configuration data.
272 %                                               \item Central control needed.
273 %                                               \item Long configuration times.
274 %                                       \end{itemize}
275 %                               \end{itemize}
276 %                       \end{itemize}
277 %                       \column{.2\textwidth}
278 %                       \begin{center}
279 %                               \tikzstyle{place}=[circle,draw=blue!50,fill=blue!20,thick]
280 %                               \tikzstyle{transition}=[rectangle,draw=black!50,fill=black!20,thick]
281 %                               \begin{tikzpicture}[>=stealth,scale=.5,transform shape]
282 %                                       \node[place] (1) {};
283 %                                       \node[place] (2) [right of=1] {};
284 %                                       \node[place] (3) [right of=2] {};
285 %                                       \node[place] (4) [below of=1] {};
286 %                                       \node[place] (5) [right of=4] {};
287 %                                       \node[place] (6) [right of=5] {};
288 %                                       \node[place] (7) [below of=4] {};
289 %                                       \node[place] (8) [right of=7] {};
290 %                                       \node[place] (9) [right of=8] {};
291 %               
292 %                                       \draw (1.east) -- (2.west);
293 %                                       \draw (2.east) -- (3.west);
294 %                                       \draw (4.east) -- (5.west);
295 %                                       \draw (5.east) -- (6.west);
296 %                                       \draw (7.east) -- (8.west);
297 %                                       \draw (8.east) -- (9.west);
298 %                                       \draw (1.south)-- (4.north);
299 %                                       \draw (2.south)-- (5.north);
300 %                                       \draw (3.south)-- (6.north);
301 %                                       \draw (4.south)-- (7.north);
302 %                                       \draw (5.south)-- (8.north);
303 %                                       \draw (6.south)-- (9.north);
304 %                               \end{tikzpicture}
305 %                       \end{center}
306 %                       \end{columns}
307 %               \end{frame}
308 %               \begin{frame}{Configuring a NoC with CSDCnet}
309 %                       \begin{itemize}
310 %                               \item Configuration using relative addressing
311 %                               \item Configuration using commands
312 %                               \item Two states for CSDCrouters:
313 %                               \begin{itemize}
314 %                                       \item \emph{passthrough mode}
315 %                                       \item \emph{execute command mode}
316 %                               \end{itemize}
317 %                       \end{itemize}
318 %               \end{frame}
319 %               \begin{frame}[shrink=33]{Commands of CSDCnet}
320 %                       \vspace{2cm}
321 %                       \begin{table}
322 %                               \centering
323 %                               \begin{tabular}{lll} \toprule
324 %                                       Command name & Command description & Parameters (Length in bits)\\
325 %                                       \midrule
326 %                                       CONFIG & Configure current data router & configuration data (11)\\
327 %                                       DESTROY & Destroy complete configuration path & -\\
328 %                                       EXTEND & Extend configuration path & direction to extend to (3)\\
329 %                                       REMOVE & Remove the last router from path & -\\
330 %                                       RESET\_ALL & Reset complete \acs{NoC} and all tiles & -\\
331 %                                       RESET\_TILE & Reset current tile & -\\
332 %                                       \bottomrule
333 %                               \end{tabular}
334 %                               \caption{Commands}
335 %                               \label{tab:commandsLimited}
336 %                       \end{table}
337 %               \end{frame}
338 %
339 %               
340 %               \begin{frame}{Ring network}
341 %                       \begin{columns}
342 %                       \column{.8\textwidth}
343 %                       \begin{itemize}
344 %                               \item The ring network, from the University of Twente, can be used for configuration too:
345 %                               \begin{itemize}
346 %                                       \item Pros:
347 %                                       \begin{itemize}
348 %                                               \item No setting up paths.
349 %                                               \item Not only configuration data.
350 %                                               \item Needs small area on chip ($0.003 mm^2$).
351 %                                               \item High clock speed possible (1GHz).
352 %                                               \item No central control of the network.
353 %                                       \end{itemize}
354 %                                       \item Cons:
355 %                                       \begin{itemize}
356 %                                               \item Routes not optimal. 
357 %                                       \end{itemize}
358 %                               \end{itemize}
359 %                       \end{itemize}
360 %                       \column{.2\textwidth}
361 %                       \begin{center}
362 %                               \tikzstyle{place}=[circle,draw=blue!50,fill=blue!20,thick]
363 %                               \tikzstyle{transition}=[rectangle,draw=black!50,fill=black!20,thick]
364 %                               \begin{tikzpicture}[>=stealth,scale=.4,transform shape]
365 %                                       \node[place] (1) at (-1,-2) {};
366 %                                       \node[place] (2) at ( 1,-2) {};
367 %                                       \node[place] (3) at ( 2,-1) {};
368 %                                       \node[place] (4) at ( 2, 1) {};
369 %                                       \node[place] (5) at ( 1, 2) {};
370 %                                       \node[place] (6) at (-1, 2) {};
371 %                                       \node[place] (7) at (-2, 1) {};
372 %                                       \node[place] (8) at (-2,-1) {};
373 %                                       \foreach \from/\to in {1/2,2/3,3/4,4/5,5/6,6/7,7/8,8/1}
374 %                                       \draw (\from) -- (\to);
375 %                               \end{tikzpicture}
376 %                       \end{center}
377 %                       \end{columns}
378 %               \end{frame}
379 %               \begin{frame}
380 %               \only<1>{\begin{center}
381 %                       \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
382 %                               \foreach \x in {0,1,...,7}
383 %                               \foreach \y in {0,1,...,7}
384 %                               \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
385 %                               \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
386 %                               \draw (0,-1) node {CU};
387 %                               \draw (0,7) node {A};
388 %                               \draw (7,0) node {B};
389 %                               %\draw[->,color=red,dashed,very thick] (0,0) -- (0,7);
390 %                               \draw[color=black!0] (0,-.5) -- (1,-.5);
391 %                               \foreach \x in {0,...,6}
392 %                               \foreach \y in {0,...,7}
393 %                               \draw (\y,\x)+(0,0.3) -- +(0,0.7);
394 %                               \foreach \x in {0,...,7}
395 %                               \foreach \y in {0,...,6}
396 %                               \draw (\y,\x)+(0.3,0) -- +(0.7,0);
397 %
398 %                               %\draw[very thick,->] (0,7) -- (7,7) -- (7,0);
399 %                       
400 %                       \end{tikzpicture}
401 %                       \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
402 %                               \foreach \x in {0,1,...,7}
403 %                               \foreach \y in {0,1,...,7}
404 %                               \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
405 %                               \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
406 %                               \draw (0,-1) node {CU};
407 %                               \draw (0,7) node {A};
408 %                               \draw (7,0) node {B};
409 %                               %\draw[very thick,->] (0,7) -- (0,0) -- (7,0);
410 %                               %ring-net lines
411 %                               \foreach \x in {0,...,5}
412 %                               \foreach \y in {0,...,7}
413 %                               \draw (\y,\x)+(0,0.3) -- +(0,0.7);
414 %                               \draw (0,6)+(0,0.3) -- +(0,0.7);
415 %                               \draw (7,6)+(0,0.3) -- +(0,0.7);
416 %                               \foreach \x in {0,2,4,6} \draw (\x,0)+(0.3,0) -- +(0.7,0);
417 %                               \foreach \x in {1,3,5}   \draw (\x,6)+(0.3,0) -- +(0.7,0);
418 %                               \foreach \x in {0,...,6} \draw (\x,7)+(0.3,0) -- +(0.7,0);
419 %                               
420 %                               \draw[color=black!0] (0,-.5) -- (1,-.5);
421 %                       \end{tikzpicture}
422 %               \end{center}}
423 %               \only<2>{\begin{center}
424 %                       \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
425 %                               \foreach \x in {0,1,...,7}
426 %                               \foreach \y in {0,1,...,7}
427 %                               \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
428 %                               \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
429 %                               \draw (0,-1) node {CU};
430 %                               \draw (0,7) node {A};
431 %                               \draw (7,0) node {B};
432 %                               \draw[->,color=red,dashed,very thick] (0,0) -- (0,7);
433 %                               \draw[color=black!0] (0,-.5) -- (1,-.5);
434 %                               \foreach \x in {0,...,6}
435 %                               \foreach \y in {0,...,7}
436 %                               \draw (\y,\x)+(0,0.3) -- +(0,0.7);
437 %                               \foreach \x in {0,...,7}
438 %                               \foreach \y in {0,...,6}
439 %                               \draw (\y,\x)+(0.3,0) -- +(0.7,0);
440 %
441 %                               \draw[very thick,->] (0,7) -- (7,7) -- (7,0);
442 %                       
443 %                       \end{tikzpicture}
444 %                       \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
445 %                               \foreach \x in {0,1,...,7}
446 %                               \foreach \y in {0,1,...,7}
447 %                               \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
448 %                               \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
449 %                               \draw (0,-1) node {CU};
450 %                               \draw (0,7) node {A};
451 %                               \draw (7,0) node {B};
452 %                               \draw[very thick,->] (0,7) -- (0,0) -- (7,0);
453 %                               %ring-net lines
454 %                               \foreach \x in {0,...,5}
455 %                               \foreach \y in {0,...,7}
456 %                               \draw (\y,\x)+(0,0.3) -- +(0,0.7);
457 %                               \draw (0,6)+(0,0.3) -- +(0,0.7);
458 %                               \draw (7,6)+(0,0.3) -- +(0,0.7);
459 %                               \foreach \x in {0,2,4,6} \draw (\x,0)+(0.3,0) -- +(0.7,0);
460 %                               \foreach \x in {1,3,5}   \draw (\x,6)+(0.3,0) -- +(0.7,0);
461 %                               \foreach \x in {0,...,6} \draw (\x,7)+(0.3,0) -- +(0.7,0);
462 %                               
463 %                               \draw[color=black!0] (0,-.5) -- (1,-.5);
464 %                       \end{tikzpicture}
465 %               \end{center}}
466 %               \end{frame}
467 %               \begin{frame}
468 %               \begin{center}
469 %                       %\includegraphics[scale=.7]{results/conftimes2}
470 %               \end{center}
471 %               \end{frame}
472 %               \small
473 %               \begin{frame}{Synthesis results at 500MHz}
474 %                       \begin{table} [ht]
475 %                               \centering
476 %                               \begin{tabular}{lll}
477 %                                       \toprule
478 %                                       Component & Slack (ns) & Area ($mm^2$)\\
479 %                                       \midrule
480 %                                       Packet switched (Kavaldjiev)                    & 0.00 & 0.2133\\
481 %                                       Small packet switched (Kavaldjiev)              & 0.00 & 0.0769\\
482 %                                       Circuit switched (Annabelle)                    & 0.42 & 0.0254\\
483 %                                       Circuit switched SingleReg (thesis)             & 0.35 & 0.0393\\
484 %                                       Circuit switched DoubleReg (thesis)             & 0.03 & 0.0681\\
485 %                                       \midrule
486 %                                       Ring configuration                              & 0.96 & 0.0030\\
487 %                                       \acs{CSDCrouter}                                & 0.85 & 0.0021\\
488 %                                       %\acs{CSDCrouter} with TTL                      & 0.26 & 0.0090\\
489 %                                       
490 %                                       
491 %                                       \bottomrule
492 %                               \end{tabular}
493 %                               \caption{Results of 90nm ASIC technology from TSMC at 500MHz}
494 %                       \end{table}
495 %               \end{frame}
496 %               \begin{frame}{Synthesis results at 1000MHz}
497 %                       \begin{table} [ht]
498 %                               \centering
499 %                               \begin{tabular}{lll}
500 %                                       \toprule
501 %                                       Component & Slack (ns) & Area ($mm^2$)\\
502 %                                       \midrule
503 %                                       Packet switched (Kavaldjiev)                            & -0.66 & 0.2174 \\
504 %                                       Small packet switched (Kavaldjiev)                      & -0.67 & 0.0812\\
505 %                                       Circuit switched (Annabelle)                            & 0.00  & 0.0265\\
506 %                                       Circuit switched SingleReg (thesis)                     & 0.00  & 0.0423\\
507 %                                       Circuit switched DoubleReg (thesis)                     & 0.00  & 0.0837\\
508 %                                       \midrule
509 %                                       Ring configuration                                      & 0.02  & 0.0030\\
510 %                                       \acs{CSDCrouter}                                        & 0.01  & 0.0022\\
511 %                                       %\acs{CSDCrouter} with TTL                              & -0.17 & 0.0098\\
512 %                                       \bottomrule
513 %                               \end{tabular}
514 %                               \caption{Results of 90nm ASIC technology from TSMC at 1000MHz}
515 %                               \label{tabASIC1000}
516 %                       \end{table}
517 %               \end{frame}
518 %               \normalsize
519 %
520 %\section{Conclusion}
521 %       \begin{frame}{Flow control}
522 %               \begin{itemize}
523 %                       \item DirectAck is not scalable, but good for very small \acp{NoC}.\onslide<2->
524 %                       \item Single register is slower, but usable for any size of \ac{NoC}.\onslide<3->
525 %                       \item Double register requires twice as much area, but is fast and usable for any size of \ac{NoC}.\onslide<4->
526 %                       \item Windowed transmission requires very much buffer area in the tiles, and is therefore not recommended.\onslide<5->
527 %               \end{itemize}
528 %               Scalable flow control always requires two buffers or two clock cycles.
529 %       \end{frame}
530 %       \begin{frame}{Choosing a NoC}
531 %       \begin{itemize}
532 %               \item Best Effort (BE) traffic:
533 %               \begin{itemize}
534 %                       \item Much BE traffic: use Packet Switched.\onslide<2->
535 %                       \item Some control BE traffic: use SAnet with ring network.\onslide<3->
536 %                       \item No BE traffic: use SAnet with CSDCnet.\onslide<4->
537 %                       \item Some BE traffic can also be routed efficiently using circuits in the circuit switched network, bursts for example.\onslide<5->
538 %                       \item CSDCnet does not support connections initiated from the tiles.\onslide<6->
539 %               \end{itemize}
540 %               \item Guaranteed Service (GS) traffic:
541 %               \begin{itemize}
542 %                       \item High bandwidth streams: use circuit switched;
543 %                       \begin{itemize}
544 %                               \item Circuit switched has 4 outputs per port.
545 %                               \item Circuit switched can be clocked at 1GHz.\onslide<7->
546 %                       \end{itemize}
547 %                       \item Low bandwidth streams: use packet switched;
548 %                       \begin{itemize}
549 %                               \item Streams can be multiplexed.
550 %                       \end{itemize}
551 %
552 %               \end{itemize}
553 %       \end{itemize}
554 %       \end{frame}
555         %tiny
556         \begin{frame}[shrink=33]{CSDCnet vs Ring}
557                 \vspace{2cm}
558                 \begin{table}
559                         \centering
560                         \begin{tabular}{ll}\toprule
561                                 \acs{CSDCnet} & Ring network\\
562                                 \midrule 
563                                 Circuit switched                                        & Packet switched\\%\onslide<2-> \\
564                                 Full \acs{NoC} configuration in 1.3ms (for N=8)         & Full \acs{NoC} configuration in 0.8ms (for N=8)\\%\onslide<3-> \\
565                                 No BE traffic support                                   & Tiles can send BE data over the ring\\%\onslide<4-> \\
566                                 Topology the same as data \acs{NoC}                     & Topology differs from data \acs{NoC}\\%\onslide<5-> \\
567                                 Worst case config time increases linearly               & Worst case config time increases quadratically\\%\onslide<6-> \\
568                                 Central coordination for avoiding deadlocks             & No deadlocks possible\\%\onslide<7-> \\
569                                 Area on chip is $2166 \mu m^2$ (one router)             & Area on chip is $3026 \mu m^2$ (one router)\\%\onslide<1->\\
570                                  \bottomrule
571                         \end{tabular}
572                         \caption{Configuration networks: Serial VS Ring}
573                         \label{tab:SerialVSRing}
574                 \end{table}
575         \end{frame}
576         %\normalsize
577         \begin{frame}{Future research}
578                 \begin{itemize}
579                         \item Recommendations for future research:
580                         \begin{itemize}
581                                 \item Configuration using data lanes
582                                 \item Optimisations for \ac{CSDCnet}
583                                 \item Optimisations for ring network
584                                 \item Packet switched mesh configuration network
585                         \end{itemize}
586                 \end{itemize}
587         \end{frame}
588 %       \begin{frame}
589 %               \begin{center}
590 %                       \includegraphics[scale=.16]{images/qmark2}
591 %               \end{center}
592 %       \end{frame}
593 \appendix
594
595 %\begin{frame}{Synthesis settings}
596 %       To compare size and maximum clock frequency of various \acp{NoC}, we synthesised them using the 90nm TSMC library with the following settings:
597 %       \begin{itemize}
598 %               \item Operating Condition Name: WCCOM.
599 %               \item Library: tcbn90gthpwc.
600 %               \item Process: 1.00.
601 %               \item Temperature: 125.00.
602 %               \item Voltage: 1.08.
603 %               \item Interconnect Model: balanced\_tree.
604 %       \end{itemize}
605 %\end{frame}
606 %\tiny
607 %\begin{frame}{Commands}
608 %       \begin{table} [ht]
609 %               \centering
610 %               \begin{tabular}{lll} \toprule
611 %                       Command name & Command description & Parameters (Length in bits)\\
612 %                       \midrule
613 %                       CONFIG & Configure current data router & configuration data (11)\\
614 %                       CONFIG\_TTL & Configure current data router & configuration data and TTL (13)\\
615 %                       DESTROY & Destroy complete configuration path & -\\
616 %                       EXTEND & Extend configuration path & direction to extend to (3)\\
617 %                       REMOVE & Remove the last router from path & -\\
618 %                       RESET\_ALL & Reset complete \acs{NoC} and all tiles & -\\
619 %                       RESET\_TILE & Reset current tile & -\\
620 %                       SET\_TTL & Set TTL value & TTL, destination and timeout (14)\\
621 %                       STATUS & Returns the TTL status & no data while status is returned (20)\\
622 %                       \bottomrule
623 %               \end{tabular}
624 %               \caption{Commands}
625 %               \label{tab:commands}
626 %       \end{table}
627 %\end{frame}
628 %\normalsize
629
630 %\begin{frame}{SRAM size vs register size}
631 %       \begin{figure}
632 %               \centering
633 %               \includegraphics[scale=.5]{images/sram_register_16_90}
634 %               \caption{Estimation of size of SRAM vs registers in 90nm UMC technology}
635 %               \label{pic:SRAMvsREGS}
636 %       \end{figure}
637 %\end{frame}
638
639 %\begin{frame}{Examples of \acp{NoC}}
640 %       \tiny
641 %       \begin{table} [ht]
642 %               \centering
643 %                       \begin{tabular}{lllll} \toprule
644 %                       NoC & CS or PS & BE/GS & Flow control & Configuration \\
645 %                       \midrule
646 %                       \AE thereal                             & PS            & BE and GS     & BE:Handshake, GS:Windowed     & Header\\
647 %                       Kavaldjiev                              & PS            & BE and GS     & Handshake                     & Header\\
648 %                       SoCIN                                   & PS            & BE            & Handshake                     & XY header\\
649 %                       SoCBUS                                  & CS            & GS            & Handshake                     & Header\\
650 %                       PACT XPP                                & CS            & GS            & Handshake                     & Config network\\
651 %                       Annabelle's NoC                         & CS            & GS            & Handshake                     & Config network\\
652 %                       \bottomrule
653 %               \end{tabular}
654 %               \caption{Different NoCs}
655 %               \label{tab:NoCs}
656 %       \end{table}
657 %\end{frame}
658
659 %\begin{frame}{Glossary}
660         \begin{acronym}[CRISP]
661                 \acro{ASIC}{application-specific integrated circuit}
662                 \acro{CRISP}{Cutting edge Reconfigurable ICs for Stream Processing}
663                 \acro{CSDCnet}{Circuit switched Serial Dedicated Configuration network}
664                 \acro{CSDCrouter}{Circuit switched Serial Dedicated Configuration router}
665                 \acro{CU}{Configuration Unit}
666                 \acro{FPGA}{field programmable gate array}
667                 \acro{GPP}{general purpose processor}
668                 \acro{KISS}{keeping it simple and stupid}
669                 \acro{NoC}{Network-on-Chip}
670                 \acro{SAnet}{Scalable Annabelle network}
671                 \acro{SoC}{System-on-Chip}
672         \end{acronym}
673 %\end{frame}
674 \end{document}
675
676 %\tiny tiny font
677 %\scriptsize very small font
678 %\footnotesize quite small font
679 %\small small font
680 %\normalsize normal font
681 %\large large font
682 %\Large larger font
683 %\LARGE very large font
684 %\huge huge
685 %\Huge largest