prot2: weiterer text und ich muss weg master
authorBernhard Urban <lewurm@gmx.net>
Fri, 6 Nov 2009 19:28:08 +0000 (20:28 +0100)
committerBernhard Urban <lewurm@gmx.net>
Fri, 6 Nov 2009 19:28:08 +0000 (20:28 +0100)
bsp2/Protokolle/chapter2.tex

index 267259983d507eeefd7efd979ab0adc8fb857a8f..3c027e0ab522f9045919f774dd8ddb3c8753169c 100644 (file)
@@ -25,10 +25,10 @@ Weiter unten im Code entdeckt man folgenden Block:
 \begin{lstlisting}
   BLINKER_syn: process(clk, reset)
   begin
-    if (reset = RES_ACT) then                       -- asyn reset
+    if (reset = RES_ACT) then
       toggle_counter_sig  <= (others => '0');
       toggle_sig  <= COLR_OFF;
-    elsif(clk'event and clk = '1') then             -- synchronous capture
+    elsif(clk'event and clk = '1') then
       toggle_counter_sig <= toggle_counter_next;
       toggle_sig  <= toggle_next;
     end if;
@@ -37,12 +37,12 @@ Weiter unten im Code entdeckt man folgenden Block:
 
   BLINKER_next : process(toggle_counter_sig, toggle_sig)
   begin
-    if toggle_counter_sig >= HALFPERIOD then           -- after half period ...
-      toggle_counter_next <= (others => '0');          -- ... clear counter
-      toggle_next  <= not(toggle_sig);                 -- ... and toggle colour.
-    else                                               -- before half period ...
-      toggle_counter_next <= toggle_counter_sig + '1'; -- ... increment counter
-      toggle_next  <= toggle_sig;                      -- ... and hold colour
+    if toggle_counter_sig >= HALFPERIOD then
+      toggle_counter_next <= (others => '0');
+      toggle_next  <= not(toggle_sig);
+    else
+      toggle_counter_next <= toggle_counter_sig + '1';
+      toggle_next  <= toggle_sig;
     end if;
   end process;
 \end{lstlisting}
@@ -68,7 +68,7 @@ ist uns das bei der Simulation nicht aufgefallen (vgl. Screenshots).
 
 
 Wie auch immer, fuhren wir mit dem falschen Wert fort. 
-Dieser entspricht einen Bin\"arwert von: $(101101110001101100000)_2$. Diese Wert \"ubernahmen wir:
+Dieser entspricht einen Bin\"arwert von: $(1500000)_{10} = (101101110001101100000)_2$. Diese Wert \"ubernahmen wir:
 \begin{lstlisting}
 constant HALFPERIOD   : std_logic_vector(TOG_CNT_WIDTH-1 downto 0) := "0000101101110001101100000";
 \end{lstlisting}
@@ -80,7 +80,11 @@ constant HALFPERIOD   : std_logic_vector(TOG_CNT_WIDTH-1 downto 0) := "000010110
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Behavioral Simulation}
-Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz genug und m\"uessen daher unseren Wert nicht skalieren.
+Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz 
+genug und m\"uessen daher unseren Wert nicht skalieren. An 
+\emph{d\_toggle} kann man sch\"on unsere eingestellte halbierte Periodendauer
+von $60ms$ ablesen. Wir sind also bereit f\"ur die Synthese.
+
 %1behsim.png
 \begin{center}
 \includegraphics[width=\textwidth]{pics/1behsim.png}
@@ -89,10 +93,27 @@ Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz genug und
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Synthese}
+Mit Synplify Pro wird der VHDL Code in Logik-Elemente umgesetzt.
+Bei diesem Schritt ist zu beachten, dass nur VHDL Ausdr\"ucke
+umgesetzt werden k\"onnen die auch in Hardware modellierbar sind!
+
+Die Ausgegebenen Dateien dieses Schrittes werden f\"ur die
+n\"achsten ben\"otigt.
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
 \subsection{Pre-Layout Simulation}
+F\"ur die Pre-Layout Simulation wird nun die synthetisierte 
+Datei \emph{vga.vhm} und die entsprechende Testbench verwendet.
+Dieser Schritt war insofern heimt\"uckisch, da bei den
+File-Pattern kein *.vhm enthalten war und wir deswegen (ohne darauf weiter zu achten)
+\emph{vga.\textbf{vqm}} ausw\"ahlten, da diese automatisch angezeigt wurde,
+da diese Dateiendung in den vorgegebenen File-Patterns enthalten
+war\dots{} Nach einem Hinweis vom Tutor war diese Problem gel\"ost. 
+
+Wie auch immer: auch hier sind die $60ms$ f\"ur \emph{d\_toggle} erkenntlich.
+
 %3prelayoutsim.png
 \begin{center}
 \includegraphics[width=\textwidth]{pics/3prelayoutsim.png}
@@ -100,7 +121,14 @@ Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz genug und
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
 \subsection{PPR}
+Partition, Place and Route erfolgt mit Hilfe des Tools
+\emph{Quartus II}. Vorerst wird unser Projekt ohne PLL
+kompiliert um damit die Post-Layout Simulation ausf\"uhren
+zu k\"onnen.
+
+Die folgende Abbildung zeigt die Auslastung des FPGAs:
 %4ppr_auslastung.png
 \begin{center}
 \includegraphics[width=\textwidth]{pics/4ppr_auslastung.png}
@@ -108,11 +136,22 @@ Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz genug und
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
 \subsection{Post-Layout Simulation}
+In der Post-Layout stehen nun die von \emph{Quartus II}
+generierten Daten zur Verf\"ugung die schon exakte 
+Timinig-Informationen enthalten. Wieder sind die $60ms$
+ersichtlich.
+
 %5postlayout_sim.png
 \begin{center}
 \includegraphics[width=\textwidth]{pics/5postlayout_sim.png}
 \end{center}
+
+\newpage
+Hier noch ein Screenshot der Simulationsumgebung: Bei der
+Testbench f\"ur die Post-Layout Simulation waren weitere Parameter
+anzugeben (\emph{vga\_unit}).
 %5postlayout_vgaunit.png
 \begin{center}
 \includegraphics[width=\textwidth]{pics/5postlayout_vgaunit.png}
@@ -120,7 +159,10 @@ Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz genug und
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
 \subsection{PPR mit PLL}
+Die folgende Abbildung zeigt die Auslastung des FPGAs, diesmal
+mit PLL. Anschliessend wurde die Ausgabe auf das FPGA downgeloaded.
 %6pll_auslastung.png
 \begin{center}
 \includegraphics[width=\textwidth]{pics/6pll_auslastung.png}
@@ -128,12 +170,14 @@ Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz genug und
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
 \section{Logikanalysator}
 %7logikwave.jpg
 \begin{center}
 \includegraphics[width=\textwidth]{pics/7logikwave.jpg}
 \end{center}
 
+\newpage
 %7trigger.jpg
 \begin{center}
 \includegraphics[width=\textwidth]{pics/7trigger.jpg}
@@ -141,11 +185,15 @@ Gl\"ucklicherweise ist unsere Periodendauer f\"ur die Simulation kurz genug und
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
 \section{Ergebnisse}
 \begin{itemize}
 \item Blinkfrequenz = $\frac{1}{0.12}s = 8.33333$ Hz
 \end{itemize}
 
+Unser Arbeitsplatz: Rechts ist das blinkende Objekt zu sehen
+und am mittleren Schirm ist noch die Post-Layout Simulation
+sichtbar.
 \begin{center}
 \includegraphics[width=\textwidth]{pics/fertig.jpg}
 \end{center}