Add skeleton for progress presentation. Style and content based on presentation
authorMatthijs Kooijman <kooijman@eris.recoresystems.com>
Thu, 26 Jun 2008 16:26:41 +0000 (18:26 +0200)
committerMatthijs Kooijman <kooijman@eris.recoresystems.com>
Thu, 26 Jun 2008 16:26:41 +0000 (18:26 +0200)
by David Bonfrer, but is completely not conforming to the Recore house style
yet.

Progress presentation/Makefile [new file with mode: 0755]
Progress presentation/Presentation.tex [new file with mode: 0755]
Progress presentation/beamerthemeRecore.sty [new file with mode: 0755]
Progress presentation/images/recore_logo__ai3.eps [new file with mode: 0644]

diff --git a/Progress presentation/Makefile b/Progress presentation/Makefile
new file mode 100755 (executable)
index 0000000..c6a8a32
--- /dev/null
@@ -0,0 +1,18 @@
+all: Presentation.pdf
+
+REPEAT_TEXT = 'Rerun to get cross-references right'
+
+%.pdf: %.dvi
+       dvipdf $(basename $@)
+
+%.ps: %.svg
+       inkscape $(addsuffix .svg,$(basename $@)) --export-ps=$@
+
+Presentation.dvi: *.tex
+       latex '\scrollmode\input $(basename $@)' || exit 1; \
+       while grep -s $(REPEAT_TEXT)  $(addsuffix .log,$(basename $@)) ; do \
+               latex '\scrollmode\input $(basename $@)' || exit 1; \
+       done
+
+clean:
+       rm -f *.ps *.pdf *.dvi *.log *.toc *.out *.aux *.bbl *.blg *.lof *.nav *.snm
diff --git a/Progress presentation/Presentation.tex b/Progress presentation/Presentation.tex
new file mode 100755 (executable)
index 0000000..302cd8d
--- /dev/null
@@ -0,0 +1,699 @@
+\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
diff --git a/Progress presentation/beamerthemeRecore.sty b/Progress presentation/beamerthemeRecore.sty
new file mode 100755 (executable)
index 0000000..17ed22c
--- /dev/null
@@ -0,0 +1,23 @@
+% Copyright 2007 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/licenses/LICENSE for more details.
+
+\ProvidesPackageRCS $Header: /cvsroot/latex-beamer/latex-beamer/themes/theme/beamerthemeRecore.sty,v 1.9 2007/01/28 20:48:30 tantau Exp $
+
+
+\mode<presentation>
+\definecolor{beamer@blendedblue}{rgb}{0.0,0.3,0.5} % use structure theme to change
+\useinnertheme[shadow=true]{rounded}
+\useoutertheme{shadow}
+\usecolortheme{orchid}
+\usecolortheme{whale}
+
+\setbeamerfont{block title}{size={}}
+
+\mode
+<all>
diff --git a/Progress presentation/images/recore_logo__ai3.eps b/Progress presentation/images/recore_logo__ai3.eps
new file mode 100644 (file)
index 0000000..66a0ad5
Binary files /dev/null and b/Progress presentation/images/recore_logo__ai3.eps differ