OpenCores
URL https://opencores.org/ocsvn/funbase_ip_library/funbase_ip_library/trunk

Subversion Repositories funbase_ip_library

[/] [funbase_ip_library/] [trunk/] [TUT/] [ip.hwp.communication/] [fh_ring/] [1.0/] [doc/] [ref_doc_src/] [ref_doc.tex] - Blame information for rev 145

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 145 lanttu
\documentclass[a4paper,10pt,oneside,final]{article}
2
 
3
 
4
\usepackage[english]{babel}
5
\usepackage[T1]{fontenc}
6
\usepackage{tabularx}
7
\usepackage[usenames,dvipsnames]{color}
8
\usepackage[table]{xcolor}
9
\usepackage[left=3.0cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}
10
\usepackage{graphicx}
11
\usepackage{float}
12
\usepackage{caption}
13
\usepackage{listings}
14
 
15
 
16
\lstdefinestyle{ccc}
17
{
18
numbers=none,
19
basicstyle=\small\ttfamily,
20
keywordstyle=\bf\color[rgb]{0,0,0},
21
%commentstyle=\color[rgb]{0.133,0.545,0.133},
22
stringstyle=\color[rgb]{0.627,0.126,0.941},
23
backgroundcolor=\color{white},
24
frame=tb, %frame= lrtb,
25
framerule=0.5pt,
26
linewidth=\textwidth,
27
%aboveskip=-4.0pt,
28
%belowskip=-4.0pt,
29
lineskip=-5.0pt,
30
}
31
 
32
%
33
% Define author(s) and  component's name
34
%
35
\def\defauthor{Lasse Lehtonen}
36
\def\deftitle{FH Ring\\Reference Manual}
37
 
38
 
39
 
40
\author{\defauthor}
41
\title{\deftitle}
42
 
43
\usepackage{fancyhdr}
44
\pagestyle{fancy}
45
\lhead{\bfseries Department of Computer Systems\\
46
  Faculty of Computing and Electrical Engineering}
47
\chead{}
48
\rhead{\bfseries \deftitle}
49
\lfoot{\thepage}
50
\cfoot{}
51
\rfoot{\includegraphics[height=1.0cm]{pic/tty_logo.png}}
52
\renewcommand{\headrulewidth}{0.4pt}
53
\renewcommand{\footrulewidth}{0.4pt}
54
 
55
 
56
\def\deftablecolora{blue!10!white}
57
\def\deftablecolorb{white}
58
 
59
\begin{document}
60
 
61
 
62
%\maketitle
63
%\thispagestyle{empty}
64
 
65
\begin{titlepage}
66
\begin{center}
67
 
68
\vspace{6.0cm}
69
\textsc{\LARGE Tampere University of Technology}\\[1.0cm]
70
\textsc{\Large Faculty of Computing and Electrical Engineering}\\[1.0cm]
71
\textsc{\Large Department of Computer Systems}\\[1.0cm]
72
\vspace{6.0cm}
73
\hrule
74
\vspace{0.4cm}
75
{ \huge \bfseries FH Ring\\[0.5cm]Reference Manual}
76
\vspace{0.4cm}
77
\hrule
78
 
79
%\vspace{2.0cm}
80
 
81
\vfill
82
 
83
\begin{minipage}{0.4\textwidth}
84
\begin{flushleft} \large
85
\emph{Author:}\\
86
Lasse Lehtonen
87
\end{flushleft}
88
\end{minipage}
89
\begin{minipage}{0.4\textwidth}
90
\begin{flushright} \large
91
\emph{Updated:} \\
92
\today
93
\end{flushright}
94
\end{minipage}
95
 
96
\end{center}
97
\end{titlepage}
98
 
99
\newpage
100
\tableofcontents
101
 
102
 
103
 
104
\newpage
105
\section{REVISION HISTORY}
106
\setcounter{page}{1}
107
 
108
\begin{center}
109
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
110
 
111
  \captionof{table}{}
112
  \begin{tabularx}{\textwidth}{|lllX|}
113
    \hline
114
    Revision & Author          & Date       & Description\\
115
    \hline
116
    1.00  & Lasse Lehtonen  & 23.8.2011 & Initial documentation\\
117
    & & & \\
118
    & & & \\
119
    & & & \\
120
    & & & \\
121
    \hline
122
  \end{tabularx}
123
\end{center}
124
 
125
 
126
 
127
\newpage
128
\section{DOCUMENT OVERVIEW}
129
 
130
\subsection{SCOPE}
131
 
132
This documentation describes the basic operation and usage of FH Ring
133
Network-on-Chip component.
134
 
135
\subsection{AUDIENCE}
136
 
137
For hardware integrators wanting to use this component.
138
 
139
\subsection{RELATED DOCUMENTATION}
140
 
141
\begin{center}
142
  \rowcolors[]{2}{\deftablecolora}{\deftablecolorb}
143
 
144
  \captionof{table}{}
145
  \begin{tabularx}{\textwidth}{|lX|}
146
    \hline
147
    Document & Description\\
148
    \hline
149
    & \\
150
    & \\
151
    & \\
152
    & \\
153
    \hline
154
  \end{tabularx}
155
\end{center}
156
 
157
\subsection{DOCUMENT CONVENTIONS}
158
 
159
 
160
\begin{itemize}
161
\item Ports: \texttt{teletype} in text
162
\item Generics: \texttt{teletype} in text
163
\end{itemize}
164
 
165
 
166
 
167
\newpage
168
\section{INTRODUCTION}
169
 
170
\subsection{BRIEF DESCRIPTION}
171
 
172
FH Ring Network-on-Chip is a highly configurable network. Network can
173
be configured to use either store-and-forward of wormhole switching
174
and has optional diagonal links. Fifo depths and bus widths can be
175
freely set and the network supports different synchronous frequencies
176
for agents than the network's operating frequency.
177
 
178
\subsection{EXAMPLE SYSTEM}
179
 
180
Example system in figure~\ref{fig:example_system} presents an eight
181
agent FH Ring with diagonal links enabled.
182
 
183
 
184
\begin{center}
185
  \includegraphics[width=0.8\textwidth]{pic/example_system.png}
186
  \captionof{figure}{}
187
  \label{fig:example_system}
188
\end{center}
189
 
190
 
191
 
192
\newpage
193
\section{HARDWARE DESIGN}
194
 
195
\subsection{FH RING}
196
 
197
\subsubsection{GENERICS}
198
 
199
\begin{center}
200
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
201
 
202
  \captionof{table}{}
203
  \begin{tabularx}{\textwidth}{|lX|}
204
    \hline
205
    Name                & Description\\
206
    \hline
207
    diag\_en\_g  & Enable diagonal links, requires even amount of agents\\
208
    n\_ag\_g            & Number of agents NoC connects\\
209
    stfwd\_en\_g     & Selects between store-and-forward (1)
210
                          and wormhole (0) switching\\
211
    data\_width\_g  & Width of the data bus in bits\\
212
    addr\_width\_g  & Width of the address bus in bits. Must be less
213
                          or equal than data\_width\_g\\
214
    fifo\_depth\_g   & Depth of FIFOs in words\\
215
    packet\_length\_g     & Maximum packet size in words\\
216
    timeout\_g          & How long to wait for packet to fill\\
217
    lut\_en\_g          & Enable memory mapped address translation\\
218
    len\_flit\_en\_g  & Enable packet to carry length information in
219
                           its own flit\\
220
    fill\_packet\_g     & Only send full packets\\
221
    oaddr\_flit\_en\_g  & Enable packet to carry the destination
222
                             memory-mapped address\\
223
    ring\_freq\_g  & Network's frequency relative to IP  frequecy\\
224
    ip\_freq\_g  & Agent's relative frequency to network frequecy\\
225
    \hline
226
  \end{tabularx}
227
\end{center}
228
 
229
\subsubsection{CLOCKING AND RESET}
230
 
231
 
232
\begin{center}
233
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
234
 
235
  \captionof{table}{}
236
  \begin{tabularx}{\textwidth}{|lllX|}
237
    \hline
238
    Port   & Width & Direction & Description\\
239
    \hline
240
    clk\_net  & 1     & in      & Clock for the network, active on rising edge\\
241
    clk\_ip   & 1     & in      & Clock for the IP, active on rising edge\\
242
    rst\_n & 1     & in      & Reset, asynchronous, active low\\
243
    \hline
244
  \end{tabularx}
245
\end{center}
246
 
247
Clock frequencies must be at integer ratio (e.g. 1:3 but not 2:3) and they must
248
have a synchronized rising edge.
249
 
250
\subsubsection{DATA INTERFACE}
251
 
252
\begin{center}
253
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
254
 
255
  \captionof{table}{}
256
  \begin{tabularx}{\textwidth}{|lllX|}
257
    \hline
258
    Port   & Width & Direction & Description\\
259
    \hline
260
    tx\_data\_in & n\_ag\_g*data\_width\_g & in  & All TX datas from IPs \\
261
    tx\_we\_in & n\_ag\_g & in & Write enables from all IPs\\
262
    tx\_re\_in & n\_ag\_g & in & Read enables from all IPs\\
263
    rx\_data\_out & n\_ag\_g*data\_width\_g & out & All RX datas from the network\\
264
    rx\_empty\_out & n\_ag\_g & out &  RX FIFO empty signals\\
265
    rx\_full\_out & n\_ag\_g & out &  RX FIFO full signals\\
266
    tx\_empty\_out & n\_ag\_g & out &  TX FIFO empty signals\\
267
    tx\_full\_out & n\_ag\_g & out &  TX FIFO full signals\\
268
    \hline
269
  \end{tabularx}
270
\end{center}
271
 
272
Routers are connected to vectors starting from 0 and continuing to
273
$n\_ag\_g-1$.
274
 
275
 
276
 
277
\subsubsection{ARCHITECTURE}
278
 
279
 Packet Codec is instantiated between the FH Ring and agents to
280
 enable additional features such as clock domain crossing and address
281
 translation from memory mapped io addresses to the network address.
282
 
283
\begin{center}
284
  \includegraphics[width=0.4\textwidth]{pic/architecture.png}
285
  \captionof{figure}{}
286
\end{center}
287
 
288
\subsubsection{INTEGRATION}
289
 
290
Related  source  files  are listed  in  next  table  in the  order  of
291
compilation (when applicable).
292
 
293
\begin{center}
294
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
295
 
296
  \captionof{table}{}
297
  \label{tab:files}
298
  \begin{tabularx}{\textwidth}{|lX|}
299
    \hline
300
    Filename   & Description\\
301
    \hline
302
    fifo.vhd           & Simple synchronous FIFO\\
303
    multiclk\_fifo.vhd & FIFO with clock domain crossing\\
304
    pkt\_counter.vhd   & Debug component counting packets\\
305
    addr\_lut\_pkg.vhd & Package for pkt\_codec\\
306
    addr\_lut.vhd      & Address translation unit\\
307
    pkt\_enc.vhd       & Packet encoder\\
308
    pkt\_dec.vhd       & Pakcet decoder\\
309
    pkt\_enc\_dec\_1d  & Top level for encoders and decoders\\
310
    ring\_router.vhd   & Router\\
311
    ring.vhd           & Top level for FH Ring\\
312
    ring\_with\_pkt\_codec\_top.vhd & Top level with Packet Codecs\\
313
    \hline
314
  \end{tabularx}
315
\end{center}
316
 
317
 
318
\subsubsection{SWITCHING}
319
 
320
Depending on generic \texttt{stfwd\_en\_g} FH Ring uses either
321
store-and-forward or wormhole switching. If store-and-forward
322
switching is used the Packet Codec handles the creation of the network
323
packet. If there's not enough data to fill the whole packet the unused
324
flits will be sent empty if \texttt{fill\_packet\_g} is
325
enabled. Packet Codec will wait few clock cycles before filling the
326
packet to allow IP to stall a little while sending. For
327
store-and-forward switching the FIFOs must be the same size as the
328
packets.
329
 
330
\vspace{0.4cm}
331
\noindent
332
For wormhole switched configuration there's no limitation to the size
333
of the FIFOs.
334
 
335
 
336
 
337
\newpage
338
\section{TESTING}
339
 
340
\subsection{TEST CASE}
341
 
342
FH Ring network model comes with a simple test case which instantiates
343
a six agent ring with packet codec inteface. Test case sends one message
344
from agent 0 to agent 5 and terminates after that.
345
 
346
\subsection{SIMULATION}
347
 
348
In order to simulate the test case one needs to compile files listed
349
in table~\ref{tab:files} in addition to files listed in
350
table~\ref{tab:simfiles} found in basic\_tester/vhd. Top level for the
351
simulation (simple\_test\_ring.vhd) and the test case files are
352
located in directory rin/sim. For the users of Modelsim also a
353
do-file to compile needed files is supplied.
354
 
355
 
356
\begin{center}
357
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
358
 
359
  \captionof{table}{}
360
  \label{tab:simfiles}
361
  \begin{tabularx}{\textwidth}{|lX|}
362
    \hline
363
    Filename   & Description\\
364
    \hline
365
    txt\_util.vhd          & Helper functions for printing\\
366
    basic\_tester\_pkg.vhd & Package for Basic Tester\\
367
    basic\_tester\_tx.vhd  & Transfer generation\\
368
    basic\_tester\_rx.vhd  & Transfer validator\\
369
    \hline
370
  \end{tabularx}
371
\end{center}
372
 
373
 
374
\end{document}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.