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/] [pkt_codec_mk2/] [1.0/] [doc/] [ref_doc_src/] [ref_doc.tex] - Rev 145

Compare with Previous | Blame | View Log

\documentclass[a4paper,10pt,oneside,final]{article}
 
 
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage[usenames,dvipsnames]{color}
\usepackage[table]{xcolor}
\usepackage[left=3.0cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}
\usepackage{graphicx}
\usepackage{float}
\usepackage{caption}
\usepackage{listings}
 
 
\lstdefinestyle{ccc} 
{ 
numbers=none, 
basicstyle=\small\ttfamily, 
keywordstyle=\bf\color[rgb]{0,0,0}, 
%commentstyle=\color[rgb]{0.133,0.545,0.133}, 
stringstyle=\color[rgb]{0.627,0.126,0.941}, 
backgroundcolor=\color{white}, 
frame=tb, %frame= lrtb, 
framerule=0.5pt, 
linewidth=\textwidth,
%aboveskip=-4.0pt,
%belowskip=-4.0pt,
lineskip=-5.0pt,
}
 
%
% Define author(s) and  component's name
%
\def\defauthor{Lasse Lehtonen}
\def\deftitle{PKT\_CODEC\_MK2\\Reference Manual}
 
 
 
\author{\defauthor}
\title{\deftitle}
 
\usepackage{fancyhdr} 
\pagestyle{fancy} 
\lhead{\bfseries Department of Computer Systems\\
  Faculty of Computing and Electrical Engineering}
\chead{} 
\rhead{\bfseries \deftitle} 
\lfoot{\thepage} 
\cfoot{}
\rfoot{\includegraphics[height=1.0cm]{pic/tty_logo.png}}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
 
 
\def\deftablecolora{blue!10!white}
\def\deftablecolorb{white}
 
\begin{document}
 
 
%\maketitle
%\thispagestyle{empty}
 
\begin{titlepage}
\begin{center}
 
\vspace{6.0cm}
\textsc{\LARGE Tampere University of Technology}\\[1.0cm]
\textsc{\Large Faculty of Computing and Electrical Engineering}\\[1.0cm]
\textsc{\Large Department of Computer Systems}\\[1.0cm]
\vspace{6.0cm}
\hrule
\vspace{0.4cm}
{ \huge \bfseries PKT\_CODEC\_MK2\\\vspace{10pt}Reference Manual}
\vspace{0.4cm}
\hrule
 
%\vspace{2.0cm}
 
\vfill
 
\begin{minipage}{0.4\textwidth}
\begin{flushleft} \large
\emph{Author:}\\
\defauthor
\end{flushleft}
\end{minipage}
\begin{minipage}{0.4\textwidth}
\begin{flushright} \large
\emph{Updated:} \\
\today
\end{flushright}
\end{minipage}
 
\end{center}
\end{titlepage}
 
\newpage
\tableofcontents
 
 
 
\newpage
\section{REVISION HISTORY}
\setcounter{page}{1}
 
\begin{center}
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
 
  \captionof{table}{}
  \begin{tabularx}{\textwidth}{|lllX|}
    \hline
    Revision & Author          & Date       & Description\\
    \hline
    1.00  & Lasse Lehtonen  & 09.11.2011 & Initial documentation\\
    & & & \\
    & & & \\
    & & & \\
    & & & \\
    \hline
  \end{tabularx}
\end{center}
 
 
 
\newpage
\section{DOCUMENT OVERVIEW}
 
\subsection{SCOPE}
 
This documentation describes how to interface with NoCs using
pkt\_codec\_mk2 interface.
 
\subsection{AUDIENCE}
 
For hardware integrators wanting to use this component.
 
\subsection{RELATED DOCUMENTATION}
 
\begin{center}
  \rowcolors[]{2}{\deftablecolora}{\deftablecolorb}
 
  \captionof{table}{}
  \begin{tabularx}{\textwidth}{|lX|}
    \hline
    Document & Description\\
    \hline    
    & \\
    & \\
    & \\
    & \\
    \hline
  \end{tabularx}
\end{center}
 
\subsection{DOCUMENT CONVENTIONS}
 
 
\begin{itemize}
\item Ports: \texttt{teletype} in text
\item Generics: \texttt{teletype} in text
\end{itemize}
 
 
 
\newpage
\section{INTRODUCTION}
 
\subsection{BRIEF DESCRIPTION}
 
PKT\_CODEC\_MK2 is a network interface component placed between the IP
and the network. It handles the clock domain crossing and the
generation of the network depended packet headers. Supported
addressing modes include memory mapped, target id and raw where ip is
responsible for using correct network address.
 
 
%\subsection{EXAMPLE SYSTEM}
 
 
%\begin{center}  
%  \includegraphics[width=0.8\textwidth]{pic/example_system.png}
%  \captionof{figure}{}  
%  \label{fig:example_system}
%\end{center}
 
 
 
\newpage
\section{HARDWARE DESIGN}
 
\subsection{PKT\_CODEC\_MK2}
 
\subsubsection{GENERICS}
 
\begin{center}
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
 
  \captionof{table}{}
  \begin{tabularx}{\textwidth}{|lX|}
    \hline
    Name                & Description\\
    \hline
    my\_id\_g           & Id number for addressing the agent\\
    cmd\_width\_g       & Width of the command bus\\
    data\_width\_g      & Width of the data bus\\
    agents\_g           & Total number of agents in the network\\
    cols\_g             & Columns in mesh like networks\\
    rows\_g             & Rows in mesh like networks\\
    agent\_ports\_g     & How many agents are connected to a router\\
    addr\_flit\_en\_g   & Transfer the original address with the packet\\
    address\_mode\_g    & Select addressing mode to use\\
    clock\_mode\_g      & Select asynchronous clock\\
    rip\_addr\_g        & Remove the network address from the packet\\
    noc\_type\_g        & Select the network model to use\\
    \hline
  \end{tabularx}
\end{center}
 
\subsubsection{CLOCKING AND RESET}
 
\begin{center}
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
 
  \captionof{table}{}
  \begin{tabularx}{\textwidth}{|lllX|}
    \hline
    Port   & Width & Direction & Description\\
    \hline
    clk\_net  & 1     & in      & Clock for the network, active on rising edge\\
    clk\_ip   & 1     & in      & Clock for the IP, active on rising edge\\
    rst\_n & 1     & in         & Reset, asynchronous, active low\\
    \hline
  \end{tabularx}
\end{center}
 
When \texttt{clock\_mode\_g} is 0 both clock inputs should be
connected to the same clock source and when 1 they can be connected to
asynchronous clocks.
 
\subsubsection{DATA INTERFACE}
 
\begin{center}
  \rowcolors{3}{\deftablecolora}{\deftablecolorb}
 
  \captionof{table}{}
  \begin{tabularx}{\textwidth}{|lllX|}
    \hline
    Port   & Width & Direction & Description\\
    \hline
    cmd\_in    & 2 & in  & Incoming command\\
    data\_in   & g & in  & Incoming data\\
    stall\_out & 1 & out & Stall the incoming data\\
    cmd\_out   & 2 & out & Outgoing command\\
    data\_out  & g & out & Outgoing data\\
    stall\_in  & 1 & in  & Stall sending data\\
    \hline
  \end{tabularx}
\end{center}
 
Zero on command line means that the line does not contain
anything. One means that on the data bus there's a address for the
next data flits. Two means there's data to be sent to the previous address.
Value three is undefined. Flow control is simple: at the clock cycle
when stall signal is read being high the corresponding command and
data lines must remain unmodified.
 
Format of the address depends on the \texttt{address\_mode\_g}
generic. Zero means that the IP should generate the network address
directly, one that address should be the id number of the target IP
and two that memory mapped addresses are used. Memory map translation
table can be defined in \texttt{addr\_lut.vhd}.
 
 
 
 
\end{document}
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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