From: Matthijs Kooijman Date: Thu, 26 Jun 2008 16:26:41 +0000 (+0200) Subject: Add skeleton for progress presentation. Style and content based on presentation X-Git-Tag: Report-final~76 X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;h=297d15dacc86b868328eb370d6027d2137530c83;p=matthijs%2Fprojects%2Finternship.git Add skeleton for progress presentation. Style and content based on presentation by David Bonfrer, but is completely not conforming to the Recore house style yet. --- diff --git a/Progress presentation/Makefile b/Progress presentation/Makefile new file mode 100755 index 0000000..c6a8a32 --- /dev/null +++ b/Progress presentation/Makefile @@ -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 index 0000000..302cd8d --- /dev/null +++ b/Progress presentation/Presentation.tex @@ -0,0 +1,699 @@ +\documentclass[hyperref={pdfpagelabels=false}]{beamer} +%\documentclass{beamer} + +\mode +{ + %\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}{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 index 0000000..17ed22c --- /dev/null +++ b/Progress presentation/beamerthemeRecore.sty @@ -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 +\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 + diff --git a/Progress presentation/images/recore_logo__ai3.eps b/Progress presentation/images/recore_logo__ai3.eps new file mode 100644 index 0000000..66a0ad5 Binary files /dev/null and b/Progress presentation/images/recore_logo__ai3.eps differ