[[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:06]
beckmanf Verifikation ergänzt.
dtpr_versuch_8 [2014/01/03 15:42] (current)
beckmanf [Zustandsautomat syncsm] - VHDL Automatencode eingefügt
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 47: Line 29:
 === Designphase (syncsm, syncgen und vgatop) === === 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 ===
  
   * Verifizieren Sie das Design im Simulator   * Verifizieren Sie das Design im Simulator
-  * Erzeugen Sie eine FPGA Belegung auf Basis des "​de1_vgatop"​. Laden Sie das Design auf das FPGA und verifizieren ​Sie das hsync Timing mit dem Logikanalysator+  * 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.1323032774.txt.gz
  • Last modified: 2011/12/04 22:06
  • by beckmanf