\documentclass[hyperref={pdfpagelabels=false}]{beamer}
%\documentclass{beamer}

\mode<presentation>
{
  %\useinnertheme{echt}
  %\useinnertheme{proef}
  \usetheme{Recore}
  \setbeamercovered{transparent}
  \setbeamertemplate{footline}
	{%
 \leavevmode%
  \hbox{\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm plus1fill,rightskip=.3cm]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.4\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.1\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm plus1fil]{title in head/foot}%
    \usebeamerfont{title in head/foot} \insertframenumber-\inserttotalframenumber%\insertpagenumber-\insertpresentationendpage%Slide:\insertframenumber, Page:
  \end{beamercolorbox}}%
  \vskip0pt%
}
%\setbeamertemplate{footline}[frame number]
}

\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage{acronym}
\usepackage{tikz}
\usepackage{multimedia}
\usepackage{subfigure}
\usepackage{booktabs}
%For handouts, use the following two lines:
%\usepackage{pgfpages}
%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]


\title
{Scalability issues of a Network-on-Chip}

\author {David Bonfrer}

\institute[Recore Systems and University of Twente]
{
  \inst{1}%
  Recore Systems
  \and
  \inst{2}%
  Faculty of Electrical Engineering, Mathematics and Computer Science\\
  University of Twente
  }
  
\setbeamertemplate{navigation symbols}{}
  
 \pgfdeclareimage[height=0.5cm]{recore_logo}{images/recore_logo}
 \logo{\pgfuseimage{recore_logo}}



\AtBeginSubsection[]
{
  \begin{frame}<beamer>{Outline}
    \tableofcontents[currentsection,currentsubsection,hideothersubsections]
  \end{frame}
}



\begin{document}

\begin{frame}
	\titlepage
\end{frame}

\begin{frame}{Contents}
  \tableofcontents
\end{frame}

\section{Introduction}
	\subsection{Low power usage}
%		\begin{frame}{PDA}
%			\begin{center}
%				\includegraphics[scale=.44]{images/pda3}
%			\end{center}
%		\end{frame}
%		\begin{frame}{SoC}
%			%Picture of SoC
%		\end{frame}
%		\begin{frame}{Annabelle \ac{SoC}}
%			\begin{center}
%				\includegraphics[scale=0.52]{images/reconfigurable_fabric}
%			\end{center}
%		\end{frame}
%		\begin{frame}{CRISP \ac{SoC}}
%			\begin{center}
%				\includegraphics[scale=.76]{images/CRISP}%TODO fix blue too black
%			\end{center}
%		\end{frame}
\section{Problem description}
	%Problem description
\section{Architecture}
		\begin{frame}
		\begin{center}
			\tikzstyle{help lines}=[black!10,thin]
			\begin{tikzpicture}[>=stealth,scale=.7]
				\foreach \x in {1,6,11}
					\foreach \y in {5,0}{
						\draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
						\draw (\x,\y) node{Router};
						\draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
						\draw (\x,\y) +(.9,1.5)node{Tile};
						\foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
				}
				\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);
				\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);
				\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);
				\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);
				\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);
				\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);
				\draw (4,5) circle (0.4) +(0,-0.4) -- (3,3.5) +(0,-0.2) node{Link};
				\draw (2,0) circle (0.4) +(0,0.4) -- (4,1.5) +(0,0.2) node{Port};
				\draw (9,4.9)  circle (0.1) +(0,-0.1) -- (8,3.5) +(0,-0.2) node{Lane};
			\end{tikzpicture}
		\end{center}
		\end{frame}
		\begin{frame}{Circuit switched}
			\begin{center}
				\tikzstyle{help lines}=[black!10,thin]
				\begin{tikzpicture}[>=stealth,scale=.6]
					\foreach \x in {1,6,11}
						\foreach \y in {5,0}{
							\draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
							\draw (\x,\y) node{Router};
							\draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
							\draw (\x,\y) +(.9,1.5)node{Tile};
							\foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
					}
					\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);
					\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);
					\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);
					\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);
					\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);
					\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);
					\draw [very thick,->] (-1,0.2)  -- (11.2,0.2) -- (11.2,4.9) -- (13,4.9);
				\end{tikzpicture}
			\end{center}
		\end{frame}
		\begin{frame}{Packet switched}
			\begin{center}
				\tikzstyle{help lines}=[black!10,thin]
				\begin{tikzpicture}[>=stealth,scale=.6]
					\foreach \x in {1,6,11}
						\foreach \y in {5,0}{
							\draw (\x,\y) +(-1,-1) rectangle ++(1,1)[draw=black!50,fill=black!20,thick];
							\draw (\x,\y) node{Router};
							\draw (\x,\y) +(.4,1.2) rectangle ++(1.4,1.8)[draw=black!50,fill=black!20,thick];
							\draw (\x,\y) +(.9,1.5)node{Tile};
							\foreach \z in {0,.1,.2,.3} \draw (\x,\y) ++(\z,0) ++(0.5,1) -- ++(0,0.2);
					}
					\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);
					\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);
					\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);
					\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);
					\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);
					\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);
					\draw [very thick,->] (-1,0.2)  -- (.8,0.2);
					\draw [very thick,->] (1.2,0.2)  -- (5.8,0.2);
					\draw [very thick,->] (6.2,0.2)  -- (10.8,0.2);
					\draw [very thick,->] (11.2,0.5)-- (11.2,4.5);
					\draw [very thick,->] (11.5,4.9)-- (13,4.9);
				\end{tikzpicture}
			\end{center}
		\end{frame}
		\begin{frame}{Router components}
			\begin{center}
				\tikzstyle{help lines}=[black!10,thin]
				\begin{tikzpicture}[>=stealth,scale=.84]
					\draw (-2.8,-1) rectangle ++(7.5,5);
					\draw (1,3.75) node{Generic router};
					\draw (.1,.1) rectangle ++(1.8,3);
					\draw (1,2.75) node{Crossbar};
					\foreach \x in {.1,2.6,2.0,1.4}{
						\draw (2.1,\x) rectangle ++(2.5,.5);
						\draw (2.1,\x) +(1.25,.25) node{Output buffer};
					}
					\foreach \x in {.8,1,1.2}{
						\draw (2.1,\x) +(1.25,0) circle (0.05);
					}
					\foreach \x in {.1,2.6,2.0,1.4}{
						\draw (-.1,\x) rectangle ++(-2.5,.5);
						\draw (-.1,\x) +(-1.25,.25) node{Input buffer};
					}
					\foreach \x in {.8,1,1.2}{
						\draw (-.1,\x) +(-1.25,0) circle (0.05);
					}
					\draw (.9,.1) -- (.9,-.1);
					\draw (1.1,.1) -- (1.1,-.1);
					\draw (0,-.1) rectangle (2,-.9);
					\draw (1,-.5) node {Arbiter};
					\foreach \x in {0.2,0.3,...,2.2}{
						\draw (0.2,\x) -- (.1,\x);
						\draw (1.9,\x) -- (1.8,\x);
					}
					\draw (.1,2.1) -- (.5,2.1);
					\draw (.1,0.2) -- (.5,0.2);
			
					\draw (1.5,2.1) -- (1.9,2.1);
					\draw (1.5,0.2) -- (1.9,0.2);
			
					\draw (-4.2,1.5) node {N inputs};
					\draw (6.5,1.5) node {N outputs};
			
					\draw (0.5,2.1) -- (1.5,0.2);
					\draw (0.5,0.2) -- (1.5,2.1);
					\draw (1.9,0.2) -- (2.1,.35);
					\draw (1.9,2.1) -- (2.1,2.85);
					\draw (1.9,2.0) -- (2.1,2.25);
					\draw (1.9,1.9) -- (2.1,1.65);
			
					\draw (.1,0.2) -- (-.1,.35);
					\draw (.1,2.1) -- (-.1,2.85);
					\draw (.1,2.0) -- (-.1,2.25);
					\draw (.1,1.9) -- (-.1,1.65);
			
			
					\draw [->] (4.5,0.35) -- (4.9,.35);
					\draw [->] (4.5,2.85) -- (4.9,2.85);
					\draw [->] (4.5,2.25) -- (4.9,2.25);
					\draw [->] (4.5,1.65) -- (4.9,1.65);
			
					\draw [<-] (-2.5,0.35) -- (-3,.35);
					\draw [<-] (-2.5,2.85) -- (-3,2.85);
					\draw [<-] (-2.5,2.25) -- (-3,2.25);
					\draw [<-] (-2.5,1.65) -- (-3,1.65);
				\end{tikzpicture}
			\end{center}
		\end{frame}
		\begin{frame}{Flow control}
			\begin{center}
				\tikzstyle{help lines}=[black!10,thin]
				\begin{tikzpicture}[>=stealth,scale=.5]
					\draw[->] (.5,1) -- (9.5,1)node[above,midway]{Data valid};
					\draw[<-] (.5,2) -- (9.5,2)node[above,midway]{Acknowledge};
					\draw[->][very thick] (.5,3.5) -- (9.5,3.5) node[above,midway]{Data};
				\end{tikzpicture}
			\end{center}
		\end{frame}
\section{Results}
	\subsection{Flow control}
		\begin{frame}{Flow control}
			\begin{itemize}
				\item Different types of flow control:
				\begin{itemize}
					\item Direct flow control
					\item Single register flow control
					\item Double register flow control
					\item Windowed transmission
				\end{itemize}
			\end{itemize}
		\end{frame}
	\subsection{Configuration network}
%		\begin{frame}{Configuration network}
%			\begin{center}
%				\includegraphics[trim = 10mm 200mm 100mm 20mm, clip, scale=.8]{images/d+c_router}
%			\end{center}
%		\end{frame}
		\begin{frame}{Configuration network}
			\begin{columns}
			\column{.8\textwidth}
			\begin{itemize}
				\item The configuration network \ac{CSDCnet}:
				\begin{itemize}
					\item Pros:
					\begin{itemize}
						\item Easy configuration
						\item Optimal config route
						\item Small area needed on chip ($0.002 mm^2$)
						\item High clock speed possible (1GHz)
					\end{itemize}
					\item Cons:
					\begin{itemize}
						\item Only configuration data.
						\item Central control needed.
						\item Long configuration times.
					\end{itemize}
				\end{itemize}
			\end{itemize}
			\column{.2\textwidth}
			\begin{center}
				\tikzstyle{place}=[circle,draw=blue!50,fill=blue!20,thick]
				\tikzstyle{transition}=[rectangle,draw=black!50,fill=black!20,thick]
				\begin{tikzpicture}[>=stealth,scale=.5,transform shape]
					\node[place] (1) {};
					\node[place] (2) [right of=1] {};
					\node[place] (3) [right of=2] {};
					\node[place] (4) [below of=1] {};
					\node[place] (5) [right of=4] {};
					\node[place] (6) [right of=5] {};
					\node[place] (7) [below of=4] {};
					\node[place] (8) [right of=7] {};
					\node[place] (9) [right of=8] {};
		
					\draw (1.east) -- (2.west);
					\draw (2.east) -- (3.west);
					\draw (4.east) -- (5.west);
					\draw (5.east) -- (6.west);
					\draw (7.east) -- (8.west);
					\draw (8.east) -- (9.west);
					\draw (1.south)-- (4.north);
					\draw (2.south)-- (5.north);
					\draw (3.south)-- (6.north);
					\draw (4.south)-- (7.north);
					\draw (5.south)-- (8.north);
					\draw (6.south)-- (9.north);
				\end{tikzpicture}
			\end{center}
			\end{columns}
		\end{frame}
		\begin{frame}{Configuring a NoC with CSDCnet}
			\begin{itemize}
				\item Configuration using relative addressing
				\item Configuration using commands
				\item Two states for CSDCrouters:
				\begin{itemize}
					\item \emph{passthrough mode}
					\item \emph{execute command mode}
				\end{itemize}
			\end{itemize}
		\end{frame}
		\begin{frame}[shrink=33]{Commands of CSDCnet}
			\vspace{2cm}
			\begin{table}
				\centering
				\begin{tabular}{lll} \toprule
					Command name & Command description & Parameters (Length in bits)\\
					\midrule
					CONFIG & Configure current data router & configuration data (11)\\
					DESTROY & Destroy complete configuration path & -\\
					EXTEND & Extend configuration path & direction to extend to (3)\\
					REMOVE & Remove the last router from path & -\\
					RESET\_ALL & Reset complete \acs{NoC} and all tiles & -\\
					RESET\_TILE & Reset current tile & -\\
					\bottomrule
				\end{tabular}
				\caption{Commands}
				\label{tab:commandsLimited}
			\end{table}
		\end{frame}

		
		\begin{frame}{Ring network}
			\begin{columns}
			\column{.8\textwidth}
			\begin{itemize}
				\item The ring network, from the University of Twente, can be used for configuration too:
				\begin{itemize}
					\item Pros:
					\begin{itemize}
						\item No setting up paths.
						\item Not only configuration data.
						\item Needs small area on chip ($0.003 mm^2$).
						\item High clock speed possible (1GHz).
						\item No central control of the network.
					\end{itemize}
					\item Cons:
					\begin{itemize}
						\item Routes not optimal. 
					\end{itemize}
				\end{itemize}
			\end{itemize}
			\column{.2\textwidth}
			\begin{center}
				\tikzstyle{place}=[circle,draw=blue!50,fill=blue!20,thick]
				\tikzstyle{transition}=[rectangle,draw=black!50,fill=black!20,thick]
				\begin{tikzpicture}[>=stealth,scale=.4,transform shape]
					\node[place] (1) at (-1,-2) {};
					\node[place] (2) at ( 1,-2) {};
					\node[place] (3) at ( 2,-1) {};
					\node[place] (4) at ( 2, 1) {};
					\node[place] (5) at ( 1, 2) {};
					\node[place] (6) at (-1, 2) {};
					\node[place] (7) at (-2, 1) {};
					\node[place] (8) at (-2,-1) {};
					\foreach \from/\to in {1/2,2/3,3/4,4/5,5/6,6/7,7/8,8/1}
					\draw (\from) -- (\to);
				\end{tikzpicture}
			\end{center}
			\end{columns}
		\end{frame}
		\begin{frame}
		\only<1>{\begin{center}
			\begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
				\foreach \x in {0,1,...,7}
				\foreach \y in {0,1,...,7}
				\draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) node {CU};
				\draw (0,7) node {A};
				\draw (7,0) node {B};
				%\draw[->,color=red,dashed,very thick] (0,0) -- (0,7);
				\draw[color=black!0] (0,-.5) -- (1,-.5);
				\foreach \x in {0,...,6}
				\foreach \y in {0,...,7}
				\draw (\y,\x)+(0,0.3) -- +(0,0.7);
				\foreach \x in {0,...,7}
				\foreach \y in {0,...,6}
				\draw (\y,\x)+(0.3,0) -- +(0.7,0);

				%\draw[very thick,->] (0,7) -- (7,7) -- (7,0);
			
			\end{tikzpicture}
			\begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
				\foreach \x in {0,1,...,7}
				\foreach \y in {0,1,...,7}
				\draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) node {CU};
				\draw (0,7) node {A};
				\draw (7,0) node {B};
				%\draw[very thick,->] (0,7) -- (0,0) -- (7,0);
				%ring-net lines
				\foreach \x in {0,...,5}
				\foreach \y in {0,...,7}
				\draw (\y,\x)+(0,0.3) -- +(0,0.7);
				\draw (0,6)+(0,0.3) -- +(0,0.7);
				\draw (7,6)+(0,0.3) -- +(0,0.7);
				\foreach \x in {0,2,4,6} \draw (\x,0)+(0.3,0) -- +(0.7,0);
				\foreach \x in {1,3,5}   \draw (\x,6)+(0.3,0) -- +(0.7,0);
				\foreach \x in {0,...,6} \draw (\x,7)+(0.3,0) -- +(0.7,0);
				
				\draw[color=black!0] (0,-.5) -- (1,-.5);
			\end{tikzpicture}
		\end{center}}
		\only<2>{\begin{center}
			\begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
				\foreach \x in {0,1,...,7}
				\foreach \y in {0,1,...,7}
				\draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) node {CU};
				\draw (0,7) node {A};
				\draw (7,0) node {B};
				\draw[->,color=red,dashed,very thick] (0,0) -- (0,7);
				\draw[color=black!0] (0,-.5) -- (1,-.5);
				\foreach \x in {0,...,6}
				\foreach \y in {0,...,7}
				\draw (\y,\x)+(0,0.3) -- +(0,0.7);
				\foreach \x in {0,...,7}
				\foreach \y in {0,...,6}
				\draw (\y,\x)+(0.3,0) -- +(0.7,0);

				\draw[very thick,->] (0,7) -- (7,7) -- (7,0);
			
			\end{tikzpicture}
			\begin{tikzpicture}[>=stealth,scale=0.5,transform shape]
				\foreach \x in {0,1,...,7}
				\foreach \y in {0,1,...,7}
				\draw (\y,\x) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) circle (0.3)[draw=blue!50,fill=blue!20,thick];
				\draw (0,-1) node {CU};
				\draw (0,7) node {A};
				\draw (7,0) node {B};
				\draw[very thick,->] (0,7) -- (0,0) -- (7,0);
				%ring-net lines
				\foreach \x in {0,...,5}
				\foreach \y in {0,...,7}
				\draw (\y,\x)+(0,0.3) -- +(0,0.7);
				\draw (0,6)+(0,0.3) -- +(0,0.7);
				\draw (7,6)+(0,0.3) -- +(0,0.7);
				\foreach \x in {0,2,4,6} \draw (\x,0)+(0.3,0) -- +(0.7,0);
				\foreach \x in {1,3,5}   \draw (\x,6)+(0.3,0) -- +(0.7,0);
				\foreach \x in {0,...,6} \draw (\x,7)+(0.3,0) -- +(0.7,0);
				
				\draw[color=black!0] (0,-.5) -- (1,-.5);
			\end{tikzpicture}
		\end{center}}
		\end{frame}
		\begin{frame}
		\begin{center}
			%\includegraphics[scale=.7]{results/conftimes2}
		\end{center}
		\end{frame}
		\small
		\begin{frame}{Synthesis results at 500MHz}
			\begin{table} [ht]
				\centering
				\begin{tabular}{lll}
					\toprule
					Component & Slack (ns) & Area ($mm^2$)\\
					\midrule
					Packet switched (Kavaldjiev) 			& 0.00 & 0.2133\\
					Small packet switched (Kavaldjiev) 		& 0.00 & 0.0769\\
					Circuit switched (Annabelle) 			& 0.42 & 0.0254\\
					Circuit switched SingleReg (thesis) 		& 0.35 & 0.0393\\
					Circuit switched DoubleReg (thesis) 		& 0.03 & 0.0681\\
					\midrule
					Ring configuration  				& 0.96 & 0.0030\\
					\acs{CSDCrouter} 				& 0.85 & 0.0021\\
					%\acs{CSDCrouter} with TTL 			& 0.26 & 0.0090\\
					
					
					\bottomrule
				\end{tabular}
				\caption{Results of 90nm ASIC technology from TSMC at 500MHz}
			\end{table}
		\end{frame}
		\begin{frame}{Synthesis results at 1000MHz}
			\begin{table} [ht]
				\centering
				\begin{tabular}{lll}
					\toprule
					Component & Slack (ns) & Area ($mm^2$)\\
					\midrule
					Packet switched (Kavaldjiev) 				& -0.66 & 0.2174 \\
					Small packet switched (Kavaldjiev) 			& -0.67	& 0.0812\\
					Circuit switched (Annabelle) 				& 0.00 	& 0.0265\\
					Circuit switched SingleReg (thesis) 			& 0.00 	& 0.0423\\
					Circuit switched DoubleReg (thesis) 			& 0.00 	& 0.0837\\
					\midrule
					Ring configuration	  				& 0.02 	& 0.0030\\
					\acs{CSDCrouter} 					& 0.01 	& 0.0022\\
					%\acs{CSDCrouter} with TTL 				& -0.17 & 0.0098\\
					\bottomrule
				\end{tabular}
				\caption{Results of 90nm ASIC technology from TSMC at 1000MHz}
				\label{tabASIC1000}
			\end{table}
		\end{frame}
		\normalsize

\section{Conclusion}
	\begin{frame}{Flow control}
		\begin{itemize}
			\item DirectAck is not scalable, but good for very small \acp{NoC}.\onslide<2->
			\item Single register is slower, but usable for any size of \ac{NoC}.\onslide<3->
			\item Double register requires twice as much area, but is fast and usable for any size of \ac{NoC}.\onslide<4->
			\item Windowed transmission requires very much buffer area in the tiles, and is therefore not recommended.\onslide<5->
		\end{itemize}
		Scalable flow control always requires two buffers or two clock cycles.
	\end{frame}
	\begin{frame}{Choosing a NoC}
	\begin{itemize}
		\item Best Effort (BE) traffic:
		\begin{itemize}
			\item Much BE traffic: use Packet Switched.\onslide<2->
			\item Some control BE traffic: use SAnet with ring network.\onslide<3->
			\item No BE traffic: use SAnet with CSDCnet.\onslide<4->
			\item Some BE traffic can also be routed efficiently using circuits in the circuit switched network, bursts for example.\onslide<5->
			\item CSDCnet does not support connections initiated from the tiles.\onslide<6->
		\end{itemize}
		\item Guaranteed Service (GS) traffic:
		\begin{itemize}
			\item High bandwidth streams: use circuit switched;
			\begin{itemize}
				\item Circuit switched has 4 outputs per port.
				\item Circuit switched can be clocked at 1GHz.\onslide<7->
			\end{itemize}
			\item Low bandwidth streams: use packet switched;
			\begin{itemize}
				\item Streams can be multiplexed.
			\end{itemize}

		\end{itemize}
	\end{itemize}
	\end{frame}
	%tiny
	\begin{frame}[shrink=33]{CSDCnet vs Ring}
		\vspace{2cm}
		\begin{table}
			\centering
			\begin{tabular}{ll}\toprule
				\acs{CSDCnet} & Ring network\\
				\midrule 
				Circuit switched 					& Packet switched\\%\onslide<2-> \\
				Full \acs{NoC} configuration in 1.3ms (for N=8) 	& Full \acs{NoC} configuration in 0.8ms (for N=8)\\%\onslide<3-> \\
				No BE traffic support 					& Tiles can send BE data over the ring\\%\onslide<4-> \\
				Topology the same as data \acs{NoC} 			& Topology differs from data \acs{NoC}\\%\onslide<5-> \\
				Worst case config time increases linearly 		& Worst case config time increases quadratically\\%\onslide<6-> \\
				Central coordination for avoiding deadlocks 		& No deadlocks possible\\%\onslide<7-> \\
				Area on chip is $2166 \mu m^2$ (one router) 		& Area on chip is $3026 \mu m^2$ (one router)\\%\onslide<1->\\
				 \bottomrule
			\end{tabular}
			\caption{Configuration networks: Serial VS Ring}
			\label{tab:SerialVSRing}
		\end{table}
	\end{frame}
	%\normalsize
	\begin{frame}{Future research}
		\begin{itemize}
			\item Recommendations for future research:
			\begin{itemize}
				\item Configuration using data lanes
				\item Optimisations for \ac{CSDCnet}
				\item Optimisations for ring network
				\item Packet switched mesh configuration network
			\end{itemize}
		\end{itemize}
	\end{frame}
%	\begin{frame}
%		\begin{center}
%			\includegraphics[scale=.16]{images/qmark2}
%		\end{center}
%	\end{frame}
\appendix

%\begin{frame}{Synthesis settings}
%	To compare size and maximum clock frequency of various \acp{NoC}, we synthesised them using the 90nm TSMC library with the following settings:
%	\begin{itemize}
%		\item Operating Condition Name: WCCOM.
%		\item Library: tcbn90gthpwc.
%		\item Process: 1.00.
%		\item Temperature: 125.00.
%		\item Voltage: 1.08.
%		\item Interconnect Model: balanced\_tree.
%	\end{itemize}
%\end{frame}
%\tiny
%\begin{frame}{Commands}
%	\begin{table} [ht]
%		\centering
%		\begin{tabular}{lll} \toprule
%			Command name & Command description & Parameters (Length in bits)\\
%			\midrule
%			CONFIG & Configure current data router & configuration data (11)\\
%			CONFIG\_TTL & Configure current data router & configuration data and TTL (13)\\
%			DESTROY & Destroy complete configuration path & -\\
%			EXTEND & Extend configuration path & direction to extend to (3)\\
%			REMOVE & Remove the last router from path & -\\
%			RESET\_ALL & Reset complete \acs{NoC} and all tiles & -\\
%			RESET\_TILE & Reset current tile & -\\
%			SET\_TTL & Set TTL value & TTL, destination and timeout (14)\\
%			STATUS & Returns the TTL status & no data while status is returned (20)\\
%			\bottomrule
%		\end{tabular}
%		\caption{Commands}
%		\label{tab:commands}
%	\end{table}
%\end{frame}
%\normalsize

%\begin{frame}{SRAM size vs register size}
%	\begin{figure}
%		\centering
%		\includegraphics[scale=.5]{images/sram_register_16_90}
%		\caption{Estimation of size of SRAM vs registers in 90nm UMC technology}
%		\label{pic:SRAMvsREGS}
%	\end{figure}
%\end{frame}

%\begin{frame}{Examples of \acp{NoC}}
%	\tiny
%	\begin{table} [ht]
%		\centering
%			\begin{tabular}{lllll} \toprule
%			NoC & CS or PS & BE/GS & Flow control & Configuration \\
%			\midrule
%			\AE thereal		 		& PS 		& BE and GS 	& BE:Handshake, GS:Windowed 	& Header\\
%			Kavaldjiev				& PS		& BE and GS	& Handshake			& Header\\
%			SoCIN					& PS		& BE		& Handshake			& XY header\\
%			SoCBUS					& CS		& GS		& Handshake			& Header\\
%			PACT XPP				& CS		& GS		& Handshake			& Config network\\
%			Annabelle's NoC				& CS		& GS		& Handshake			& Config network\\
%			\bottomrule
%		\end{tabular}
%		\caption{Different NoCs}
%		\label{tab:NoCs}
%	\end{table}
%\end{frame}

%\begin{frame}{Glossary}
	\begin{acronym}[CRISP]
		\acro{ASIC}{application-specific integrated circuit}
		\acro{CRISP}{Cutting edge Reconfigurable ICs for Stream Processing}
		\acro{CSDCnet}{Circuit switched Serial Dedicated Configuration network}
		\acro{CSDCrouter}{Circuit switched Serial Dedicated Configuration router}
		\acro{CU}{Configuration Unit}
		\acro{FPGA}{field programmable gate array}
		\acro{GPP}{general purpose processor}
		\acro{KISS}{keeping it simple and stupid}
		\acro{NoC}{Network-on-Chip}
		\acro{SAnet}{Scalable Annabelle network}
		\acro{SoC}{System-on-Chip}
	\end{acronym}
%\end{frame}
\end{document}

%\tiny tiny font
%\scriptsize very small font
%\footnotesize quite small font
%\small small font
%\normalsize normal font
%\large large font
%\Large larger font
%\LARGE very large font
%\huge huge
%\Huge largest
