1 \documentclass[hyperref={pdfpagelabels=false}]{beamer}
2 %\documentclass{beamer}
9 \setbeamercovered{transparent}
10 \setbeamertemplate{footline}
13 \hbox{\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm plus1fill,rightskip=.3cm]{author in head/foot}%
14 \usebeamerfont{author in head/foot}\insertshortauthor
16 \begin{beamercolorbox}[wd=.4\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot}%
17 \usebeamerfont{title in head/foot}\insertshorttitle
19 \begin{beamercolorbox}[wd=.1\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot}%
20 \usebeamerfont{title in head/foot} \insertframenumber-\inserttotalframenumber%\insertpagenumber-\insertpresentationendpage%Slide:\insertframenumber, Page:
21 \end{beamercolorbox}}%
24 %\setbeamertemplate{footline}[frame number]
27 \usepackage[english]{babel}
28 \usepackage[latin1]{inputenc}
30 \usepackage[T1]{fontenc}
33 \usepackage{multimedia}
34 \usepackage{subfigure}
36 %For handouts, use the following two lines:
37 %\usepackage{pgfpages}
38 %\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
42 {Scalability issues of a Network-on-Chip}
44 \author {David Bonfrer}
46 \institute[Recore Systems and University of Twente]
52 Faculty of Electrical Engineering, Mathematics and Computer Science\\
56 \setbeamertemplate{navigation symbols}{}
58 \pgfdeclareimage[height=0.5cm]{recore_logo}{images/recore_logo}
59 \logo{\pgfuseimage{recore_logo}}
65 \begin{frame}<beamer>{Outline}
66 \tableofcontents[currentsection,currentsubsection,hideothersubsections]
78 \begin{frame}{Contents}
82 \section{Introduction}
83 \subsection{Low power usage}
86 % \includegraphics[scale=.44]{images/pda3}
92 % \begin{frame}{Annabelle \ac{SoC}}
94 % \includegraphics[scale=0.52]{images/reconfigurable_fabric}
97 % \begin{frame}{CRISP \ac{SoC}}
99 % \includegraphics[scale=.76]{images/CRISP}%TODO fix blue too black
102 \section{Problem description}
104 \section{Architecture}
107 \tikzstyle{help lines}=[black!10,thin]
108 \begin{tikzpicture}[>=stealth,scale=.7]
109 \foreach \x in {1,6,11}
110 \foreach \y in {5,0}{
111 \draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
112 \draw (\x,\y) node{Router};
113 \draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
114 \draw (\x,\y) +(.9,1.5)node{Tile};
115 \foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
117 \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);
118 \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);
119 \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);
120 \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);
121 \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);
122 \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);
123 \draw (4,5) circle (0.4) +(0,-0.4) -- (3,3.5) +(0,-0.2) node{Link};
124 \draw (2,0) circle (0.4) +(0,0.4) -- (4,1.5) +(0,0.2) node{Port};
125 \draw (9,4.9) circle (0.1) +(0,-0.1) -- (8,3.5) +(0,-0.2) node{Lane};
129 \begin{frame}{Circuit switched}
131 \tikzstyle{help lines}=[black!10,thin]
132 \begin{tikzpicture}[>=stealth,scale=.6]
133 \foreach \x in {1,6,11}
134 \foreach \y in {5,0}{
135 \draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
136 \draw (\x,\y) node{Router};
137 \draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
138 \draw (\x,\y) +(.9,1.5)node{Tile};
139 \foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
141 \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);
142 \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);
143 \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);
144 \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);
145 \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);
146 \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);
147 \draw [very thick,->] (-1,0.2) -- (11.2,0.2) -- (11.2,4.9) -- (13,4.9);
151 \begin{frame}{Packet switched}
153 \tikzstyle{help lines}=[black!10,thin]
154 \begin{tikzpicture}[>=stealth,scale=.6]
155 \foreach \x in {1,6,11}
156 \foreach \y in {5,0}{
157 \draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
158 \draw (\x,\y) node{Router};
159 \draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
160 \draw (\x,\y) +(.9,1.5)node{Tile};
161 \foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
163 \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);
164 \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);
165 \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);
166 \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);
167 \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);
168 \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);
169 \draw [very thick,->] (-1,0.2) -- (.8,0.2);
170 \draw [very thick,->] (1.2,0.2) -- (5.8,0.2);
171 \draw [very thick,->] (6.2,0.2) -- (10.8,0.2);
172 \draw [very thick,->] (11.2,0.5)-- (11.2,4.5);
173 \draw [very thick,->] (11.5,4.9)-- (13,4.9);
177 \begin{frame}{Router components}
179 \tikzstyle{help lines}=[black!10,thin]
180 \begin{tikzpicture}[>=stealth,scale=.84]
181 \draw (-2.8,-1) rectangle ++(7.5,5);
182 \draw (1,3.75) node{Generic router};
183 \draw (.1,.1) rectangle ++(1.8,3);
184 \draw (1,2.75) node{Crossbar};
185 \foreach \x in {.1,2.6,2.0,1.4}{
186 \draw (2.1,\x) rectangle ++(2.5,.5);
187 \draw (2.1,\x) +(1.25,.25) node{Output buffer};
189 \foreach \x in {.8,1,1.2}{
190 \draw (2.1,\x) +(1.25,0) circle (0.05);
192 \foreach \x in {.1,2.6,2.0,1.4}{
193 \draw (-.1,\x) rectangle ++(-2.5,.5);
194 \draw (-.1,\x) +(-1.25,.25) node{Input buffer};
196 \foreach \x in {.8,1,1.2}{
197 \draw (-.1,\x) +(-1.25,0) circle (0.05);
199 \draw (.9,.1) -- (.9,-.1);
200 \draw (1.1,.1) -- (1.1,-.1);
201 \draw (0,-.1) rectangle (2,-.9);
202 \draw (1,-.5) node {Arbiter};
203 \foreach \x in {0.2,0.3,...,2.2}{
204 \draw (0.2,\x) -- (.1,\x);
205 \draw (1.9,\x) -- (1.8,\x);
207 \draw (.1,2.1) -- (.5,2.1);
208 \draw (.1,0.2) -- (.5,0.2);
210 \draw (1.5,2.1) -- (1.9,2.1);
211 \draw (1.5,0.2) -- (1.9,0.2);
213 \draw (-4.2,1.5) node {N inputs};
214 \draw (6.5,1.5) node {N outputs};
216 \draw (0.5,2.1) -- (1.5,0.2);
217 \draw (0.5,0.2) -- (1.5,2.1);
218 \draw (1.9,0.2) -- (2.1,.35);
219 \draw (1.9,2.1) -- (2.1,2.85);
220 \draw (1.9,2.0) -- (2.1,2.25);
221 \draw (1.9,1.9) -- (2.1,1.65);
223 \draw (.1,0.2) -- (-.1,.35);
224 \draw (.1,2.1) -- (-.1,2.85);
225 \draw (.1,2.0) -- (-.1,2.25);
226 \draw (.1,1.9) -- (-.1,1.65);
229 \draw [->] (4.5,0.35) -- (4.9,.35);
230 \draw [->] (4.5,2.85) -- (4.9,2.85);
231 \draw [->] (4.5,2.25) -- (4.9,2.25);
232 \draw [->] (4.5,1.65) -- (4.9,1.65);
234 \draw [<-] (-2.5,0.35) -- (-3,.35);
235 \draw [<-] (-2.5,2.85) -- (-3,2.85);
236 \draw [<-] (-2.5,2.25) -- (-3,2.25);
237 \draw [<-] (-2.5,1.65) -- (-3,1.65);
241 \begin{frame}{Flow control}
243 \tikzstyle{help lines}=[black!10,thin]
244 \begin{tikzpicture}[>=stealth,scale=.5]
245 \draw[->] (.5,1) -- (9.5,1)node[above,midway]{Data valid};
246 \draw[<-] (.5,2) -- (9.5,2)node[above,midway]{Acknowledge};
247 \draw[->][very thick] (.5,3.5) -- (9.5,3.5) node[above,midway]{Data};
252 \subsection{Flow control}
253 \begin{frame}{Flow control}
255 \item Different types of flow control:
257 \item Direct flow control
258 \item Single register flow control
259 \item Double register flow control
260 \item Windowed transmission
264 \subsection{Configuration network}
265 % \begin{frame}{Configuration network}
267 % \includegraphics[trim = 10mm 200mm 100mm 20mm, clip, scale=.8]{images/d+c_router}
270 \begin{frame}{Configuration network}
272 \column{.8\textwidth}
274 \item The configuration network \ac{CSDCnet}:
278 \item Easy configuration
279 \item Optimal config route
280 \item Small area needed on chip ($0.002 mm^2$)
281 \item High clock speed possible (1GHz)
285 \item Only configuration data.
286 \item Central control needed.
287 \item Long configuration times.
291 \column{.2\textwidth}
293 \tikzstyle{place}=[circle,draw=blue!50,fill=blue!20,thick]
294 \tikzstyle{transition}=[rectangle,draw=black!50,fill=black!20,thick]
295 \begin{tikzpicture}[>=stealth,scale=.5,transform shape]
297 \node[place] (2) [right of=1] {};
298 \node[place] (3) [right of=2] {};
299 \node[place] (4) [below of=1] {};
300 \node[place] (5) [right of=4] {};
301 \node[place] (6) [right of=5] {};
302 \node[place] (7) [below of=4] {};
303 \node[place] (8) [right of=7] {};
304 \node[place] (9) [right of=8] {};
306 \draw (1.east) -- (2.west);
307 \draw (2.east) -- (3.west);
308 \draw (4.east) -- (5.west);
309 \draw (5.east) -- (6.west);
310 \draw (7.east) -- (8.west);
311 \draw (8.east) -- (9.west);
312 \draw (1.south)-- (4.north);
313 \draw (2.south)-- (5.north);
314 \draw (3.south)-- (6.north);
315 \draw (4.south)-- (7.north);
316 \draw (5.south)-- (8.north);
317 \draw (6.south)-- (9.north);
322 \begin{frame}{Configuring a NoC with CSDCnet}
324 \item Configuration using relative addressing
325 \item Configuration using commands
326 \item Two states for CSDCrouters:
328 \item \emph{passthrough mode}
329 \item \emph{execute command mode}
333 \begin{frame}[shrink=33]{Commands of CSDCnet}
337 \begin{tabular}{lll} \toprule
338 Command name & Command description & Parameters (Length in bits)\\
340 CONFIG & Configure current data router & configuration data (11)\\
341 DESTROY & Destroy complete configuration path & -\\
342 EXTEND & Extend configuration path & direction to extend to (3)\\
343 REMOVE & Remove the last router from path & -\\
344 RESET\_ALL & Reset complete \acs{NoC} and all tiles & -\\
345 RESET\_TILE & Reset current tile & -\\
349 \label{tab:commandsLimited}
354 \begin{frame}{Ring network}
356 \column{.8\textwidth}
358 \item The ring network, from the University of Twente, can be used for configuration too:
362 \item No setting up paths.
363 \item Not only configuration data.
364 \item Needs small area on chip ($0.003 mm^2$).
365 \item High clock speed possible (1GHz).
366 \item No central control of the network.
370 \item Routes not optimal.
374 \column{.2\textwidth}
376 \tikzstyle{place}=[circle,draw=blue!50,fill=blue!20,thick]
377 \tikzstyle{transition}=[rectangle,draw=black!50,fill=black!20,thick]
378 \begin{tikzpicture}[>=stealth,scale=.4,transform shape]
379 \node[place] (1) at (-1,-2) {};
380 \node[place] (2) at ( 1,-2) {};
381 \node[place] (3) at ( 2,-1) {};
382 \node[place] (4) at ( 2, 1) {};
383 \node[place] (5) at ( 1, 2) {};
384 \node[place] (6) at (-1, 2) {};
385 \node[place] (7) at (-2, 1) {};
386 \node[place] (8) at (-2,-1) {};
387 \foreach \from/\to in {1/2,2/3,3/4,4/5,5/6,6/7,7/8,8/1}
388 \draw (\from) -- (\to);
394 \only<1>{\begin{center}
395 \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
396 \foreach \x in {0,1,...,7}
397 \foreach \y in {0,1,...,7}
398 \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
399 \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
400 \draw (0,-1) node {CU};
401 \draw (0,7) node {A};
402 \draw (7,0) node {B};
403 %\draw[->,color=red,dashed,very thick] (0,0) -- (0,7);
404 \draw[color=black!0] (0,-.5) -- (1,-.5);
405 \foreach \x in {0,...,6}
406 \foreach \y in {0,...,7}
407 \draw (\y,\x)+(0,0.3) -- +(0,0.7);
408 \foreach \x in {0,...,7}
409 \foreach \y in {0,...,6}
410 \draw (\y,\x)+(0.3,0) -- +(0.7,0);
412 %\draw[very thick,->] (0,7) -- (7,7) -- (7,0);
415 \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
416 \foreach \x in {0,1,...,7}
417 \foreach \y in {0,1,...,7}
418 \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
419 \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
420 \draw (0,-1) node {CU};
421 \draw (0,7) node {A};
422 \draw (7,0) node {B};
423 %\draw[very thick,->] (0,7) -- (0,0) -- (7,0);
425 \foreach \x in {0,...,5}
426 \foreach \y in {0,...,7}
427 \draw (\y,\x)+(0,0.3) -- +(0,0.7);
428 \draw (0,6)+(0,0.3) -- +(0,0.7);
429 \draw (7,6)+(0,0.3) -- +(0,0.7);
430 \foreach \x in {0,2,4,6} \draw (\x,0)+(0.3,0) -- +(0.7,0);
431 \foreach \x in {1,3,5} \draw (\x,6)+(0.3,0) -- +(0.7,0);
432 \foreach \x in {0,...,6} \draw (\x,7)+(0.3,0) -- +(0.7,0);
434 \draw[color=black!0] (0,-.5) -- (1,-.5);
437 \only<2>{\begin{center}
438 \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
439 \foreach \x in {0,1,...,7}
440 \foreach \y in {0,1,...,7}
441 \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
442 \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
443 \draw (0,-1) node {CU};
444 \draw (0,7) node {A};
445 \draw (7,0) node {B};
446 \draw[->,color=red,dashed,very thick] (0,0) -- (0,7);
447 \draw[color=black!0] (0,-.5) -- (1,-.5);
448 \foreach \x in {0,...,6}
449 \foreach \y in {0,...,7}
450 \draw (\y,\x)+(0,0.3) -- +(0,0.7);
451 \foreach \x in {0,...,7}
452 \foreach \y in {0,...,6}
453 \draw (\y,\x)+(0.3,0) -- +(0.7,0);
455 \draw[very thick,->] (0,7) -- (7,7) -- (7,0);
458 \begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
459 \foreach \x in {0,1,...,7}
460 \foreach \y in {0,1,...,7}
461 \draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
462 \draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
463 \draw (0,-1) node {CU};
464 \draw (0,7) node {A};
465 \draw (7,0) node {B};
466 \draw[very thick,->] (0,7) -- (0,0) -- (7,0);
468 \foreach \x in {0,...,5}
469 \foreach \y in {0,...,7}
470 \draw (\y,\x)+(0,0.3) -- +(0,0.7);
471 \draw (0,6)+(0,0.3) -- +(0,0.7);
472 \draw (7,6)+(0,0.3) -- +(0,0.7);
473 \foreach \x in {0,2,4,6} \draw (\x,0)+(0.3,0) -- +(0.7,0);
474 \foreach \x in {1,3,5} \draw (\x,6)+(0.3,0) -- +(0.7,0);
475 \foreach \x in {0,...,6} \draw (\x,7)+(0.3,0) -- +(0.7,0);
477 \draw[color=black!0] (0,-.5) -- (1,-.5);
483 %\includegraphics[scale=.7]{results/conftimes2}
487 \begin{frame}{Synthesis results at 500MHz}
492 Component & Slack (ns) & Area ($mm^2$)\\
494 Packet switched (Kavaldjiev) & 0.00 & 0.2133\\
495 Small packet switched (Kavaldjiev) & 0.00 & 0.0769\\
496 Circuit switched (Annabelle) & 0.42 & 0.0254\\
497 Circuit switched SingleReg (thesis) & 0.35 & 0.0393\\
498 Circuit switched DoubleReg (thesis) & 0.03 & 0.0681\\
500 Ring configuration & 0.96 & 0.0030\\
501 \acs{CSDCrouter} & 0.85 & 0.0021\\
502 %\acs{CSDCrouter} with TTL & 0.26 & 0.0090\\
507 \caption{Results of 90nm ASIC technology from TSMC at 500MHz}
510 \begin{frame}{Synthesis results at 1000MHz}
515 Component & Slack (ns) & Area ($mm^2$)\\
517 Packet switched (Kavaldjiev) & -0.66 & 0.2174 \\
518 Small packet switched (Kavaldjiev) & -0.67 & 0.0812\\
519 Circuit switched (Annabelle) & 0.00 & 0.0265\\
520 Circuit switched SingleReg (thesis) & 0.00 & 0.0423\\
521 Circuit switched DoubleReg (thesis) & 0.00 & 0.0837\\
523 Ring configuration & 0.02 & 0.0030\\
524 \acs{CSDCrouter} & 0.01 & 0.0022\\
525 %\acs{CSDCrouter} with TTL & -0.17 & 0.0098\\
528 \caption{Results of 90nm ASIC technology from TSMC at 1000MHz}
535 \begin{frame}{Flow control}
537 \item DirectAck is not scalable, but good for very small \acp{NoC}.\onslide<2->
538 \item Single register is slower, but usable for any size of \ac{NoC}.\onslide<3->
539 \item Double register requires twice as much area, but is fast and usable for any size of \ac{NoC}.\onslide<4->
540 \item Windowed transmission requires very much buffer area in the tiles, and is therefore not recommended.\onslide<5->
542 Scalable flow control always requires two buffers or two clock cycles.
544 \begin{frame}{Choosing a NoC}
546 \item Best Effort (BE) traffic:
548 \item Much BE traffic: use Packet Switched.\onslide<2->
549 \item Some control BE traffic: use SAnet with ring network.\onslide<3->
550 \item No BE traffic: use SAnet with CSDCnet.\onslide<4->
551 \item Some BE traffic can also be routed efficiently using circuits in the circuit switched network, bursts for example.\onslide<5->
552 \item CSDCnet does not support connections initiated from the tiles.\onslide<6->
554 \item Guaranteed Service (GS) traffic:
556 \item High bandwidth streams: use circuit switched;
558 \item Circuit switched has 4 outputs per port.
559 \item Circuit switched can be clocked at 1GHz.\onslide<7->
561 \item Low bandwidth streams: use packet switched;
563 \item Streams can be multiplexed.
570 \begin{frame}[shrink=33]{CSDCnet vs Ring}
574 \begin{tabular}{ll}\toprule
575 \acs{CSDCnet} & Ring network\\
577 Circuit switched & Packet switched\\%\onslide<2-> \\
578 Full \acs{NoC} configuration in 1.3ms (for N=8) & Full \acs{NoC} configuration in 0.8ms (for N=8)\\%\onslide<3-> \\
579 No BE traffic support & Tiles can send BE data over the ring\\%\onslide<4-> \\
580 Topology the same as data \acs{NoC} & Topology differs from data \acs{NoC}\\%\onslide<5-> \\
581 Worst case config time increases linearly & Worst case config time increases quadratically\\%\onslide<6-> \\
582 Central coordination for avoiding deadlocks & No deadlocks possible\\%\onslide<7-> \\
583 Area on chip is $2166 \mu m^2$ (one router) & Area on chip is $3026 \mu m^2$ (one router)\\%\onslide<1->\\
586 \caption{Configuration networks: Serial VS Ring}
587 \label{tab:SerialVSRing}
591 \begin{frame}{Future research}
593 \item Recommendations for future research:
595 \item Configuration using data lanes
596 \item Optimisations for \ac{CSDCnet}
597 \item Optimisations for ring network
598 \item Packet switched mesh configuration network
604 % \includegraphics[scale=.16]{images/qmark2}
609 %\begin{frame}{Synthesis settings}
610 % To compare size and maximum clock frequency of various \acp{NoC}, we synthesised them using the 90nm TSMC library with the following settings:
612 % \item Operating Condition Name: WCCOM.
613 % \item Library: tcbn90gthpwc.
614 % \item Process: 1.00.
615 % \item Temperature: 125.00.
616 % \item Voltage: 1.08.
617 % \item Interconnect Model: balanced\_tree.
621 %\begin{frame}{Commands}
624 % \begin{tabular}{lll} \toprule
625 % Command name & Command description & Parameters (Length in bits)\\
627 % CONFIG & Configure current data router & configuration data (11)\\
628 % CONFIG\_TTL & Configure current data router & configuration data and TTL (13)\\
629 % DESTROY & Destroy complete configuration path & -\\
630 % EXTEND & Extend configuration path & direction to extend to (3)\\
631 % REMOVE & Remove the last router from path & -\\
632 % RESET\_ALL & Reset complete \acs{NoC} and all tiles & -\\
633 % RESET\_TILE & Reset current tile & -\\
634 % SET\_TTL & Set TTL value & TTL, destination and timeout (14)\\
635 % STATUS & Returns the TTL status & no data while status is returned (20)\\
639 % \label{tab:commands}
644 %\begin{frame}{SRAM size vs register size}
647 % \includegraphics[scale=.5]{images/sram_register_16_90}
648 % \caption{Estimation of size of SRAM vs registers in 90nm UMC technology}
649 % \label{pic:SRAMvsREGS}
653 %\begin{frame}{Examples of \acp{NoC}}
657 % \begin{tabular}{lllll} \toprule
658 % NoC & CS or PS & BE/GS & Flow control & Configuration \\
660 % \AE thereal & PS & BE and GS & BE:Handshake, GS:Windowed & Header\\
661 % Kavaldjiev & PS & BE and GS & Handshake & Header\\
662 % SoCIN & PS & BE & Handshake & XY header\\
663 % SoCBUS & CS & GS & Handshake & Header\\
664 % PACT XPP & CS & GS & Handshake & Config network\\
665 % Annabelle's NoC & CS & GS & Handshake & Config network\\
668 % \caption{Different NoCs}
673 %\begin{frame}{Glossary}
674 \begin{acronym}[CRISP]
675 \acro{ASIC}{application-specific integrated circuit}
676 \acro{CRISP}{Cutting edge Reconfigurable ICs for Stream Processing}
677 \acro{CSDCnet}{Circuit switched Serial Dedicated Configuration network}
678 \acro{CSDCrouter}{Circuit switched Serial Dedicated Configuration router}
679 \acro{CU}{Configuration Unit}
680 \acro{FPGA}{field programmable gate array}
681 \acro{GPP}{general purpose processor}
682 \acro{KISS}{keeping it simple and stupid}
683 \acro{NoC}{Network-on-Chip}
684 \acro{SAnet}{Scalable Annabelle network}
685 \acro{SoC}{System-on-Chip}
691 %\scriptsize very small font
692 %\footnotesize quite small font
694 %\normalsize normal font
697 %\LARGE very large font