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_crossbar/] [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 Crossbar\\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 Crossbar\\[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  & 22.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 Crossbar
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 Crossbar Network-on-Chip is a highly configurable network. Network can
173
be configured to use either store-and-forward of wormhole switching and
174
either packet or circuit switching. 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 a four
181
agent FH Crossbar.
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 CROSSBAR}
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
    pkt\_switch\_en\_g  & Packet (1) or circuit (0) switched\\
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
    max\_send\_g       & Max continuos send in the crossbar\\
224
    net\_freq\_g  & Network's frequency relative to IP  frequecy\\
225
    ip\_freq\_g  & Agent's relative frequency to network frequecy\\
226
    \hline
227
  \end{tabularx}
228
\end{center}
229
 
230
\subsubsection{CLOCKING AND RESET}
231
 
232
 
233
\begin{center}
234
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
235
 
236
  \captionof{table}{}
237
  \begin{tabularx}{\textwidth}{|lllX|}
238
    \hline
239
    Port   & Width & Direction & Description\\
240
    \hline
241
    clk\_net  & 1     & in      & Clock for the network, active on rising edge\\
242
    clk\_ip   & 1     & in      & Clock for the IP, active on rising edge\\
243
    rst\_n & 1     & in      & Reset, asynchronous, active low\\
244
    \hline
245
  \end{tabularx}
246
\end{center}
247
 
248
Clock frequencies must be at integer ratio (e.g. 1:3 but not 2:3) and they must
249
have a synchronized rising edge.
250
 
251
\subsubsection{DATA INTERFACE}
252
 
253
\begin{center}
254
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
255
 
256
  \captionof{table}{}
257
  \begin{tabularx}{\textwidth}{|lllX|}
258
    \hline
259
    Port   & Width & Direction & Description\\
260
    \hline
261
    tx\_data\_in & n\_ag\_g*data\_width\_g & in  & All TX datas from IPs \\
262
    tx\_we\_in & n\_ag\_g & in & Write enables from all IPs\\
263
    tx\_re\_in & n\_ag\_g & in & Read enables from all IPs\\
264
    rx\_data\_out & n\_ag\_g*data\_width\_g & out & All RX datas from the network\\
265
    rx\_empty\_out & n\_ag\_g & out &  RX FIFO empty signals\\
266
    rx\_full\_out & n\_ag\_g & out &  RX FIFO full signals\\
267
    tx\_empty\_out & n\_ag\_g & out &  TX FIFO empty signals\\
268
    tx\_full\_out & n\_ag\_g & out &  TX FIFO full signals\\
269
    \hline
270
  \end{tabularx}
271
\end{center}
272
 
273
Routers are connected to vectors starting from 0 and continuing to
274
$n\_ag\_g-1$.
275
 
276
 
277
 
278
\subsubsection{ARCHITECTURE}
279
 
280
 Packet Codec is instantiated between the FH Crossbar and agents to
281
 enable additional features such as clock domain crossing and address
282
 translation from memory mapped io addresses to the network address.
283
 
284
\begin{center}
285
  \includegraphics[width=0.4\textwidth]{pic/architecture.png}
286
  \captionof{figure}{}
287
\end{center}
288
 
289
\subsubsection{INTEGRATION}
290
 
291
Related  source  files  are listed  in  next  table  in the  order  of
292
compilation (when applicable).
293
 
294
\begin{center}
295
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
296
 
297
  \captionof{table}{}
298
  \label{tab:files}
299
  \begin{tabularx}{\textwidth}{|lX|}
300
    \hline
301
    Filename   & Description\\
302
    \hline
303
    fifo.vhd           & Simple synchronous FIFO\\
304
    multiclk\_fifo.vhd & FIFO with clock domain crossing\\
305
    pkt\_counter.vhd   & Debug component counting packets\\
306
    addr\_lut\_pkg.vhd & Package for pkt\_codec\\
307
    addr\_lut.vhd      & Address translation unit\\
308
    pkt\_enc.vhd       & Packet encoder\\
309
    pkt\_dec.vhd       & Pakcet decoder\\
310
    pkt\_enc\_dec\_1d  & Top level for encoders and decoders\\
311
    allocator.vhd      & Allocates connections\\
312
    arbiter.vhd        & Arbiter\\
313
    io\_block.vhd      & Contains FIFOSs\\
314
    switch\_matrix.vhd & Switching element\\
315
    crossbar.vhd       & Top level for FH Crossbar\\
316
    crossbar\_with\_pkt\_codec\_top.vhd & Top level with Packet Codecs\\
317
    \hline
318
  \end{tabularx}
319
\end{center}
320
 
321
 
322
\subsubsection{SWITCHING}
323
 
324
Depending on generic \texttt{stfwd\_en\_g} FH Crossbar uses either
325
store-and-forward or wormhole switching. If store-and-forward
326
switching is used the Packet Codec handles the creation of the network
327
packet. If there's not enough data to fill the whole packet the unused
328
flits will be sent empty. Packet Codec will wait few clock cycles
329
before filling the packet to allow IP to stall a little while
330
sending. For store-and-forward switching the FIFOs must be the same
331
size as the packets. If circuit-switched mode is used Packet Codec is
332
not instantiated.
333
 
334
\vspace{0.4cm}
335
\noindent
336
For wormhole switched configuration there's no limitation to the size
337
of the FIFOs.
338
 
339
 
340
 
341
\newpage
342
\section{TESTING}
343
 
344
\subsection{TEST CASE}
345
 
346
FH Crossbar network model comes with a simple test case which instantiates
347
a six agent crossbar with packet codec inteface. Test case sends one message
348
from agent 0 to agent 5 and terminates after that.
349
 
350
\subsection{SIMULATION}
351
 
352
In order to simulate the test case one needs to compile files listed
353
in table~\ref{tab:files} in addition to files listed in
354
table~\ref{tab:simfiles} found in basic\_tester/vhd. Top level for the
355
simulation (simple\_test\_crossbar.vhd) and the test case files are
356
located in directory crossbar/sim. For the users of Modelsim also a
357
do-file to compile needed files is supplied.
358
 
359
 
360
\begin{center}
361
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
362
 
363
  \captionof{table}{}
364
  \label{tab:simfiles}
365
  \begin{tabularx}{\textwidth}{|lX|}
366
    \hline
367
    Filename   & Description\\
368
    \hline
369
    txt\_util.vhd          & Helper functions for printing\\
370
    basic\_tester\_pkg.vhd & Package for Basic Tester\\
371
    basic\_tester\_tx.vhd  & Transfer generation\\
372
    basic\_tester\_rx.vhd  & Transfer validator\\
373
    \hline
374
  \end{tabularx}
375
\end{center}
376
 
377
 
378
\end{document}

powered by: WebSVN 2.1.0

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