dtpr_versuch_8

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dtpr_versuch_8 [2011/12/04 22:00] – syncsm ergänzt beckmanfdtpr_versuch_8 [2014/01/03 15:42] (current) – [Zustandsautomat syncsm] - VHDL Automatencode eingefügt beckmanf
Line 1: Line 1:
 ===== Versuch 8 ===== ===== Versuch 8 =====
 +
 +Drucken Sie die Checkliste {{:dtpr-checkliste-v8.pdf}} aus. 
  
 ==== Zustandsautomat syncsm ==== ==== Zustandsautomat syncsm ====
Line 16: Line 18:
   * Stellen Sie eine Zustandsübergangstabelle für den Automaten auf.    * Stellen Sie eine Zustandsübergangstabelle für den Automaten auf. 
  
-Die Zustandsübergangslogik könnte jetzt aus der Zustandsübergangstabelle abgeleitet und mit booleschen Gleichungen formuliert werden. Alternativ soll hier die Zustandsübergangslogik mit Hilfe eines Multiplexers umgesetzt werden. In der folgenden Abbildung +Die Zustandsübergangslogik kann jetzt aus der Zustandsübergangstabelle abgeleitet und mit booleschen Gleichungen formuliert werden. 
  
-{{:dtpr-v8-mux.png}}    +  * Geben Sie die Zustandsübergangslogik und die Ausgangslogik als boolesche Gleichungen an.  
- +
-ist ein 4 zu 1 Multiplexer so mit Konstanten beschaltet, dass sich eine UND Funktion bezüglich der select Eingänge ergibt. Die Dateneingänge des Multiplexers können auch vom Typ std_ulogic_vector sein. Damit kann dann auch eine Logik mit mehreren Ausgängen beschrieben werden.  +
- +
-<code vhdl> +
-entity mux4 is  +
-  generic ( +
-    width : integer); +
-  port ( +
-    d0_i :           in std_ulogic_vector(width-1 downto 0); +
-    d1_i :           in std_ulogic_vector(width-1 downto 0); +
-    d2_i :           in std_ulogic_vector(width-1 downto 0); +
-    d3_i :           in std_ulogic_vector(width-1 downto 0); +
-    s_i :            in std_ulogic_vector(1 downto 0);  +
-    y_o :            out std_ulogic_vector(width-1 downto 0) +
-  ); +
-end;  +
-</code> +
- +
-  Stellen Sie die Zustandsübergangslogik mit Hilfe eines Multiplexers mit konstanten Eingängen dar.  +
-  * Geben Sie die Ausgangslogik als boolesche Gleichungen an.  +
   * Skizzieren Sie Ihre Gesamtschaltung mit Speicher, Zustandsübergangslogik und Ausgangslogik.    * Skizzieren Sie Ihre Gesamtschaltung mit Speicher, Zustandsübergangslogik und Ausgangslogik. 
  
Line 45: Line 27:
 Erklären Sie einer anderen Gruppe Ihren Entwurf.  Erklären Sie einer anderen Gruppe Ihren Entwurf. 
  
-=== Designphase ===+=== Designphase (syncsm, syncgen und vgatop) ===
  
-Setzen Sie Ihren Entwurf in VHDL um. Laden Sie dazu die folgenden Designdaten herunter {{:dtpr-v8-syncgen.zip}}.  +Setzen Sie Ihren Entwurf in VHDL um. 
- +
-  * Der synccnt Entwurf ist nicht vollständig. Kopieren Sie Ihren Entwurf in das src Verzeichnis.  +
-  * Der syncgen Entwurf ist schon fertig, d.h. die Verbindung von synccnt und syncsm.  +
-  * Fügen Sie das syncgen Modul in den vgatop ein und konfigurieren Sie die Zähler so, dass das hsync Signal korrekt erzeugt wird+
  
 === Verifikationsphase === === Verifikationsphase ===
  
-Laden Sie Ihr Design auf das FPGA und verifizieren Sie das Timing des HSYNC Signals+  * Verifizieren Sie das Design im Simulator 
 +  * Verifizieren Sie das Design auf dem FPGA und messen Sie das hsync und vsync Timing 
 + 
 +=== Umsetzung mit VHDL Automatencode === 
 + 
 +  * Setzen Sie jetzt den Automaten mit VHDL um und verwenden Sie dazu die Beschreibung wie in play_rtl.vhd 
 +  * Verifizieren Sie den Automaten im Simulator  
 +  * Finden Sie mit Quartus die Anzahl der benötigten Flipflops für den Automaten heraus 
  
  
  
  • dtpr_versuch_8.1323032429.txt.gz
  • Last modified: 2011/12/04 22:00
  • by beckmanf