[[dtlab_t6]]

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
dtlab_t6 [2024/04/30 15:12]
beckmanf [Simulation der Schaltung]
dtlab_t6 [2025/03/14 20:43] (current)
beckmanf switch code server
Line 27: Line 27:
  
 ==== VHDL toplevel top_shift ==== ==== VHDL toplevel top_shift ====
-Die Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​dtlab/​-/​blob/​master/​src/​top_shift.vhd|top_shift.vhd]] beschreibt das Modul "​top_shift"​. "​top_shift"​ stellt den toplevel auf dem FPGA dar. In Abbildung 2 sind die Ein- und Ausgänge von "​top_shift"​ dargestellt.+Die Datei [[https://caeis.etech.fh-augsburg.de/​beckmanf/​dtlab.git/tree/​src/​top_shift.vhd|top_shift.vhd]] beschreibt das Modul "​top_shift"​. "​top_shift"​ stellt den toplevel auf dem FPGA dar. In Abbildung 2 sind die Ein- und Ausgänge von "​top_shift"​ dargestellt.
  
 <​html>​ <​html>​
Line 96: Line 96:
 Der Eingang SW wird in der Simulation mit einem konstanten Wert simuliert. Der Eingang SW wird in der Simulation mit einem konstanten Wert simuliert.
  
-Für die Stimulation der Eingänge wird die Testbench in [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​dtlab/​-/​blob/​master/​src/​t_top_shift.vhd|t_top_shift.vhd]] eingesetzt.+Für die Stimulation der Eingänge wird die Testbench in [[https://caeis.etech.fh-augsburg.de/​beckmanf/​dtlab.git/tree/​src/​t_top_shift.vhd|t_top_shift.vhd]] eingesetzt.
  
 Dort ist die Schaltung top_shift als Device Under Test (DUT) instantiiert. In der Testbench gibt es VHDL Code für die Simulation des 50 MHz Taktsignals,​ den asynchronen Reset und den Taster KEY(1) für den Eingang x des Schieberegisters. Dort ist die Schaltung top_shift als Device Under Test (DUT) instantiiert. In der Testbench gibt es VHDL Code für die Simulation des 50 MHz Taktsignals,​ den asynchronen Reset und den Taster KEY(1) für den Eingang x des Schieberegisters.
Line 116: Line 116:
 Diese Signale sollen auf dem Expansionport ausgegeben werden. Mit der aktuellen Signalauswahl wird der Expansionport in der Simulation nicht dargestellt. In der Testbench ist das Signal "​sim_exp"​ an den Ausgangsport EXP von top_shift angeschlossen. **Wählen Sie das Signal sim_exp links aus und stellen Sie sim_exp in gtkwave dar. Machen Sie einen Screenshot.** Beurteilen Sie ob alle relevanten Signale am Expansionport zu sehen sind. Diese Signale sollen auf dem Expansionport ausgegeben werden. Mit der aktuellen Signalauswahl wird der Expansionport in der Simulation nicht dargestellt. In der Testbench ist das Signal "​sim_exp"​ an den Ausgangsport EXP von top_shift angeschlossen. **Wählen Sie das Signal sim_exp links aus und stellen Sie sim_exp in gtkwave dar. Machen Sie einen Screenshot.** Beurteilen Sie ob alle relevanten Signale am Expansionport zu sehen sind.
  
-Wenn Sie die Auswahl der dargestellten Signale in gtkwave geändert haben, dann können ​Sie im Simulationsverzeichnis ​einfach ​"​make"​ eingeben und auf den Reloadknopf in gtkwave drücken. ​Sie können die Signalauswahl auch mit "File -> Write Save File" speichern.+Wenn Sie die Auswahl der dargestellten Signale in gtkwave geändert haben und gtkwave schließen und neu starten, dann wird wieder die vorkonfigurierte Signalauswahl dargestellt. ​Sie können gtkwave auch geöffnet lassen, den VHDL Code ändern, dann im Simulationsverzeichnis "​make"​ eingeben und auf den Reloadknopf in gtkwave drücken. ​Alternativ ​können ​Sie die Signalauswahl auch mit "File -> Write Save File" speichern. Dann wird auch nach einem Neustart von gtkwave die gespeicherte Signalauswahl dargestellt.
  
 ==== Umstrukturierung und Instantiierung des Flankendetektors ==== ==== Umstrukturierung und Instantiierung des Flankendetektors ====
  
-Die Funktion des Flankendetektors ist direkt in top_shift.vhd beschrieben. Der Flankendetektor soll jetzt in eigenes Modul und damit in eine eigene Datei bewegt werden. Die Funktion der Schaltung soll sich nicht ändern, d.h. wir strukturieren den Code nur etwas anders. Dazu ist schon die Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​dtlab/​-/​blob/​master/​src/​edge.vhd|edge.vhd]] vorbereitet. Die Datei enthält schon die entity "​edge"​ mit den geplanten Ein- und Ausgängen.+Die Funktion des Flankendetektors ist direkt in top_shift.vhd beschrieben. Der Flankendetektor soll jetzt in eigenes Modul und damit in eine eigene Datei bewegt werden. Die Funktion der Schaltung soll sich nicht ändern, d.h. wir strukturieren den Code nur etwas anders. Dazu ist schon die Datei [[https://caeis.etech.fh-augsburg.de/​beckmanf/​dtlab.git/tree/​src/​edge.vhd|edge.vhd]] vorbereitet. Die Datei enthält schon die entity "​edge"​ mit den geplanten Ein- und Ausgängen.
  
 <​html>​ <​html>​
Line 134: Line 134:
 ==== Ringzähler für die roten LEDs ==== ==== Ringzähler für die roten LEDs ====
  
-Die roten LEDs werden derzeit direkt von den Schaltern SW gesteuert. Die roten LEDs sollen mit einem 10 Bit Ringzähler angesteuert werden. Der Ringzähler soll in die Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​dtlab/​-/​blob/​master/​src/​ringcnt.vhd|ringcnt.vhd]] kommen. Die Datei ist schon vorbereitet,​ aber es fehlen u.a. die Ports in der entity.+Die roten LEDs werden derzeit direkt von den Schaltern SW gesteuert. Die roten LEDs sollen mit einem 10 Bit Ringzähler angesteuert werden. Der Ringzähler soll in die Datei [[https://caeis.etech.fh-augsburg.de/​beckmanf/​dtlab.git/tree/​src/​ringcnt.vhd|ringcnt.vhd]] kommen. Die Datei ist schon vorbereitet,​ aber es fehlen u.a. die Ports in der entity.
  
 <​html>​ <​html>​
  • dtlab_t6.1714482736.txt.gz
  • Last modified: 2024/04/30 15:12
  • by beckmanf