Kapitel Anhang
This commit is contained in:
Binary file not shown.
@@ -164,7 +164,7 @@ Es ist als Block-Design in Vivado unter der Bezeichnung \emph{axi\_crc\_dma\_ip}
|
||||
Das IP besteht aus insgesamt vier Komponenten, die untereinander über AXI-Stream Schnittstellen kommunizieren und Daten weitergeben.
|
||||
In den folgenden Abschnitten werden die einzelnen Komponenten genauer beschrieben.
|
||||
|
||||
\subsubsection{DMA Komponente - axis\_dma}
|
||||
\subsubsection{DMA Komponente - axis\_dma} \label{sec:DMAKomponente}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
@@ -196,7 +196,7 @@ Daher kann die Komponente parallel Daten lesen und schreiben.
|
||||
Des Weiteren hält diese Komponente alle AXIL-Register des IPs, wofür sie eine \emph{S\_AXIL} Schnittstelle besitzt.
|
||||
Die Register, die zur Konfiguration der CRC-Berechnung dienen, sind als Ausgänge nach Außen geführt.
|
||||
|
||||
\subsubsection{CRC-Berechnungskomponente - axis\_crc}
|
||||
\subsubsection{CRC-Berechnungskomponente - axis\_crc} \label{sec:CRCBerechnungskomponente}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
@@ -223,7 +223,7 @@ Die Komponente ist dann wieder bereit, eine neue CRC-Prüfsumme zu berechnen.
|
||||
Intern erfolgt die Berechnung der CRC-Prüfsumme mithilfe eines endlichen Automaten.
|
||||
Um keine Timingprobleme zu verursachen, wurde so die Berechnung der CRC-Prüfsumme auf drei Takte aufgeteilt.
|
||||
|
||||
\subsection{AXI-CRC-DMA-IP}
|
||||
\subsection{AXI-CRC-DMA-IP} \label{sec:AXI_CRC_DMA_IP}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
@@ -270,7 +270,7 @@ Dieses Gesamtsystem kann nun synthetisiert und implementiert werden.
|
||||
\newpage
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{Software - Treiberfunktion}
|
||||
\section{Software - Treiberfunktion} \label{sec:Software_Treiberfunktion}
|
||||
|
||||
|
||||
\begin{lstlisting}[caption={Struct für CRC-DMA-IP}, label={code:StructCRC}]
|
||||
@@ -327,7 +327,7 @@ Beide gezeigten Codeausschnitte sind in der Headerdatei \texttt{axi\_crc\_dma.h}
|
||||
Die Korrektheit der von der CRC-Berechnungskomponente berechneten CRC-Prüfsumme ist für das Gesamtsystem von essentieller Bedeutung.
|
||||
Daher liegt ein besonderes Augenmerk auf der Verifikation dieser Komponente.
|
||||
|
||||
\subsubsection{Referenzprogramm}
|
||||
\subsubsection{Referenzprogramm} \label{sec:Referenzprogramm}
|
||||
|
||||
Zunächst wurde das C-Programm \emph{crc.c} geschrieben, das CRC-Prüfsummen in Software berechnet.
|
||||
Dieses Programm dient bei der Entwicklung der Hardware als Referenz für die berechneten CRC-Prüfsummen.
|
||||
@@ -393,7 +393,7 @@ Dies geschieht in der Funktion \texttt{void calc\_axis\_crc\_tb()}.
|
||||
% }
|
||||
% \end{lstlisting}
|
||||
|
||||
\subsubsection{Simulation / Testbench}
|
||||
\subsubsection{Simulation / Testbench} \label{sec:Simulation_CRC_Berechnungskomponente}
|
||||
|
||||
Um die Korrektheit der CRC-Berechnungskomponente \emph{axis\_crc} zu gewährleisten, wurde eine Testbench erstellt.
|
||||
In dieser Testbench werden von der CRC-Berechnungskomponente insgesamt 24 Prüfsummen über dasselbe Datenpaket von drei 32-Bit-Worten mit verschiedenen Parametern berechnet.
|
||||
@@ -414,7 +414,7 @@ Somit kann die korrekte Funktionalität der CRC-Berechnungskomponente gewährlei
|
||||
|
||||
Die in dieser Arbeit erstellte CRC-Berechnungskomponente wurde mithilfe dieser Testbench erfolgriech verfiziert.
|
||||
|
||||
\subsection{Simulation des CRC-DMA-IPs}
|
||||
\subsection{Simulation des CRC-DMA-IPs} \label{sec:Simulation_CRC_DMA_IP}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
@@ -461,7 +461,7 @@ Zusätzlich wurden dabei verschiedene Konfigurationen des IPs getetest, um auch
|
||||
|
||||
\subsection{Verifikation des Gesamtsystems} \label{sec:VerifikationGesamtsystem}
|
||||
|
||||
\subsubsection{Testprogramm}
|
||||
\subsubsection{Testprogramm} \label{sec:Testprogramm}
|
||||
|
||||
Die Verifikation des Gesamtsystems erfolgt auf der Hardware.
|
||||
|
||||
@@ -532,6 +532,35 @@ Dies führt unter Umständen zu unnötigen Wartezeiten.
|
||||
\newpage
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{Anahng}
|
||||
|
||||
\subsection{Hardware}
|
||||
|
||||
Jegliche Hardwarequelldateien sind im Vivadoprojekt \texttt{axi\_crc\_dma} zu finden.
|
||||
Dieses beinhaltet folgende VHDL-Quelldateien:
|
||||
\begin{itemize}
|
||||
\item \textbf{axis\_crc.vhd}: CRC-Berechnungskomponente siehe Abschnitt~\ref{sec:CRCBerechnungskomponente}
|
||||
\item \textbf{axis\_crc\_tb.vhd}: Testbench für die CRC-Berechnungskomponente siehe Abschnitt~\ref{sec:Simulation_CRC_Berechnungskomponente}
|
||||
\item \textbf{axis\_dma.vhd}: DMA-Komponente siehe Abschnitt~\ref{sec:DMAKomponente}
|
||||
\item \textbf{axi3\_slave\_verif.vhd}: Full-AXI-Slave zur Verifikation des Gesamtsystems siehe Abschnitt~\ref{sec:Simulation_CRC_DMA_IP}
|
||||
\end{itemize}
|
||||
|
||||
Dazu beinhaltet das Vivadoprojekt folgende Block-Designs:
|
||||
\begin{itemize}
|
||||
\item \textbf{axi\_crc\_dma\_ip}: Block-Design des CRC-DMA-IPs siehe Abschnitt~\ref{sec:AXI_CRC_DMA_IP}
|
||||
\item \textbf{axi\_crc\_dma\_sim\_01}: Block-Design zur Simulation des CRC-DMA-IPs siehe Abschnitt~\ref{sec:Simulation_CRC_DMA_IP}
|
||||
\item \textbf{axi\_crc\_dma\_syn\_01}: Block-Design zur Synthese des Gesamtsystems mit CRC-DMA-IP siehe Abschnitt~\ref{sec:Einbindung}
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Software}
|
||||
|
||||
Folgende Programme bzw. Software-Quelldateien wurden erstellt:
|
||||
\begin{itemize}
|
||||
\item \textbf{crc.c}: Referenzprogramm zur Berechnung von CRC-Prüfsummen in Software siehe Abschnitt~\ref{sec:Referenzprogramm}
|
||||
\item \textbf{axi\_crc\_dma.h}: Headerdatei für das CRC-DMA-IP siehe Abschnitt~\ref{sec:Software_Treiberfunktion}
|
||||
\item \textbf{axi\_crc\_dma.cpp}: Treiberfunktion für das CRC-DMA-IP siehe Abschnitt~\ref{sec:Software_Treiberfunktion}
|
||||
\item \textbf{CRC\_DMA.cpp}: Testprogramm zur Verifikation des Gesamtsystems siehe Abschnitt~\ref{sec:Testprogramm}
|
||||
\end{itemize}
|
||||
|
||||
%Anhang im ZIP-Ornder außer Litaratur
|
||||
|
||||
|
||||
Reference in New Issue
Block a user