[[dtpr_versuch_8]]

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
dtpr_versuch_8 [2011/12/01 11:13]
beckmanf created
dtpr_versuch_8 [2011/12/04 22:15]
beckmanf Checkliste 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. ​  +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  
 + 
 +{{:​dtpr-v8-mux.png}} ​  ​ 
 + 
 +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.  
 + 
 +=== Erklärphase === 
 + 
 +Erklären Sie einer anderen Gruppe Ihren Entwurf.  
 + 
 +=== Designphase (syncsm, syncgen und vgatop) === 
 + 
 +Setzen Sie Ihren Entwurf in VHDL um. Laden Sie dazu die folgenden Designdaten herunter {{:​dtpr-v8-syncgen.zip}}.  
 + 
 +  * 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 ===
  
 +  * 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. ​
  
  
  
  • dtpr_versuch_8.txt
  • Last modified: 2014/01/03 15:42
  • by beckmanf