[[dtpr_v6]]

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_v6 [2018/05/07 08:47]
beckmanf [Vermessung des Zählers] - Hinweise ergänzt.
dtpr_v6 [2021/04/26 07:02] (current)
soeren fix: gitlab links
Line 15: Line 15:
 ==== Analyse der Flipflopschaltung ==== ==== Analyse der Flipflopschaltung ====
  
-Analysieren Sie die Schaltung in der Datei [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​de1_flipflop_rtl.vhd|de1_flipflop_rtl.vhd]]. Beispiele für die VHDL Beschreibung von Flipflops finden Sie hier [[dt-code-sequ]].+Analysieren Sie die Schaltung in der Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​de1_flipflop_rtl.vhd|de1_flipflop_rtl.vhd]]. Beispiele für die VHDL Beschreibung von Flipflops finden Sie hier [[dt-code-sequ]].
  
   - Zeichnen Sie die Schaltung auf Papier anhand der VHDL Beschreibung   - Zeichnen Sie die Schaltung auf Papier anhand der VHDL Beschreibung
Line 23: Line 23:
   - Geben Sie dazu die Zustandsfolgetabelle und die Ausgangstabelle an.    - Geben Sie dazu die Zustandsfolgetabelle und die Ausgangstabelle an. 
  
-Zu dieser Schaltung gibt es eine passende Testbench [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​t_de1_flipflop.vhd|t_de1_flipflop.vhd]] für die Simulation der Schaltung. ​+Zu dieser Schaltung gibt es eine passende Testbench [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​t_de1_flipflop.vhd|t_de1_flipflop.vhd]] für die Simulation der Schaltung. ​
  
   - Starten Sie die Simulation im Verzeichnis "​sim/​de1_flipflop"​ und schauen Sie sich die Waveform an.    - Starten Sie die Simulation im Verzeichnis "​sim/​de1_flipflop"​ und schauen Sie sich die Waveform an. 
Line 58: Line 58:
   - Geben Sie die Zustandsübergangslogik als boolesche Ausdrücke an.    - Geben Sie die Zustandsübergangslogik als boolesche Ausdrücke an. 
  
-Für den VHDL Entwurf des Blinklichtautomaten gibt es eine vorbereitete Datei [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​de1_blinklicht_rtl.vhd|de1_blinklicht_rtl.vhd]] und eine zugehörige Testbench [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​t_de1_blinklicht.vhd|t_de1_blinklicht.vhd]]. Dort können Sie die Ergänzungen direkt vornehmen. Das Verzeichnis "​pnr/​de1_blinklicht"​ für die Synthese und das Verzeichnis "​sim/​de1_blinklicht"​ für die Simulation sind mit den makefiles schon vorbereitet. ​+Für den VHDL Entwurf des Blinklichtautomaten gibt es eine vorbereitete Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​de1_blinklicht_rtl.vhd|de1_blinklicht_rtl.vhd]] und eine zugehörige Testbench [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​t_de1_blinklicht.vhd|t_de1_blinklicht.vhd]]. Dort können Sie die Ergänzungen direkt vornehmen. Das Verzeichnis "​pnr/​de1_blinklicht"​ für die Synthese und das Verzeichnis "​sim/​de1_blinklicht"​ für die Simulation sind mit den makefiles schon vorbereitet. ​
  
   - Entwerfen Sie den Automaten in VHDL    - Entwerfen Sie den Automaten in VHDL 
Line 112: Line 112:
 Bei diesem Vergleich wird das Signal "​x_is_greater_than_5"​ auf '​1'​ gesetzt, wenn die Zahl x größer ist als 5. Ansonsten ist der Wert '​0'​. ​ Bei diesem Vergleich wird das Signal "​x_is_greater_than_5"​ auf '​1'​ gesetzt, wenn die Zahl x größer ist als 5. Ansonsten ist der Wert '​0'​. ​
  
-Für den folgenden Entwurf ist eine Datei [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​cnt15_rtl.vhd|cnt15_rtl.vhd]] vorbereitet. Diese Datei soll den Zähler enthalten. ​+Für den folgenden Entwurf ist eine Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​cnt15_rtl.vhd|cnt15_rtl.vhd]] vorbereitet. Diese Datei soll den Zähler enthalten. ​Der Zähler soll die folgenden Eigenschaften haben: 
 + 
 +  * Der Zähler ist ladbar. Beim Laden soll der Zähler auf den Startwert 13 gesetzt werden. 
 +  * Wenn der Zähler den Wert 0 erreicht hat, dann soll der Zähler auf 0 stehen bleiben. 
 +  * Bei einem asynchronen Reset, soll der Zähler den Wert 0 haben.  
 + 
 +Gehen Sie dazu so vor:
  
-  - Entwerfen Sie einen ladbaren Rückwärtszähler,​ der beim Laden auf den Startwert 13 gesetzt wird. 
-  - Wenn der Zähler den Wert 0 erreicht hat, dann soll der Zähler auf 0 stehen bleiben. ​ 
   - Zeichnen Sie eine Architektur auf Papier bestehend aus Register, Addierer, Vergleicher und Multiplexer. ​   - Zeichnen Sie eine Architektur auf Papier bestehend aus Register, Addierer, Vergleicher und Multiplexer. ​
-  - Beschreiben Sie den Zähler in der Datei [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​cnt15_rtl.vhd|cnt15_rtl.vhd]]. ​+  - Beschreiben Sie den Zähler in der Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​cnt15_rtl.vhd|cnt15_rtl.vhd]] ​in VHDL
  
-Dieser Zähler wird in der Datei [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​de1_cnt15_rtl.vhd|de1_cnt15_rtl.vhd]] mit den Ein- und Ausgängen auf dem FPGA verbunden. Zusätzliche wird der Zählerstand auf der HEX0 Anzeige ausgegeben. Für diese Schaltung ist eine Testbench vorbereitet in der Datei [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​t_de1_cnt15.vhd|t_de1_cnt15.vhd]]. ​+Dieser Zähler wird in der Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​de1_cnt15_rtl.vhd|de1_cnt15_rtl.vhd]] mit den Ein- und Ausgängen auf dem FPGA verbunden. Zusätzliche wird der Zählerstand auf der HEX0 Anzeige ausgegeben. Für diese Schaltung ist eine Testbench vorbereitet in der Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​t_de1_cnt15.vhd|t_de1_cnt15.vhd]]. ​
  
-  - Zeichnen Sie die Schaltung, die in [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​de1_cnt15_rtl.vhd|de1_cnt15_rtl.vhd]] beschrieben ist auf Papier. ​+  - Zeichnen Sie die Schaltung, die in [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​de1_cnt15_rtl.vhd|de1_cnt15_rtl.vhd]] beschrieben ist auf Papier. ​
   - Simulieren Sie die Gesamtschaltung im Verzeichnis "​sim/​de1_cnt15" ​   - Simulieren Sie die Gesamtschaltung im Verzeichnis "​sim/​de1_cnt15" ​
   - Synthetisieren Sie die Schaltung im Verzeichnis "​pnr/​de1_cnt15"​ und probieren Sie die Schaltung auf dem FPGA aus.   - Synthetisieren Sie die Schaltung im Verzeichnis "​pnr/​de1_cnt15"​ und probieren Sie die Schaltung auf dem FPGA aus.
Line 129: Line 133:
 Bislang wird der Zähler mit der Taster KEY(1) getaktet. Jetzt soll die Zählschaltung so verändert werden, dass der 50 MHz Taktoszillator verwendet wird und die Funktion des Zählers am Logikanalysator vermessen werden kann. Bislang wird der Zähler mit der Taster KEY(1) getaktet. Jetzt soll die Zählschaltung so verändert werden, dass der 50 MHz Taktoszillator verwendet wird und die Funktion des Zählers am Logikanalysator vermessen werden kann.
  
-  - Ergänzen Sie die Schaltung [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​src/​de1_cnt15_rtl.vhd|de1_cnt15_rtl.vhd]],​ damit das Signal done_o, cnt_o, der Takt und der asynchrone Reset auf dem Expansion Port 1 zugänglich wird.+  - Ergänzen Sie die Schaltung [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​src/​de1_cnt15_rtl.vhd|de1_cnt15_rtl.vhd]],​ damit das Signal done_o, cnt_o, ld_i, der Takt und der asynchrone Reset auf dem Expansion Port 1 zugänglich wird.
   - Ändern Sie den Takteingang,​ damit die Schaltung mit dem 50 MHz Taktoszillator CLOCK_50 betrieben wird.   - Ändern Sie den Takteingang,​ damit die Schaltung mit dem 50 MHz Taktoszillator CLOCK_50 betrieben wird.
-  - Ergänzen Sie das [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​pnr/​de1_cnt15/​de1_cnt15_pins.tcl|Pindefinitionsfile]],​ damit die zusätzlichen Ein- und Ausgänge bei der Synthese berücksichtigt werden. Die Pins auf dem FPGA und auf dem Board können Sie im [[https://​www.hs-augsburg.de/​~beckmanf/​restricted/​DE1_V.1.0.1_CDROM/​DE1_user_manual/​DE1_UserManual_v1.2.1.pdf|Altera DE1 Usermanual]] finden. Eine Liste mit allen Pins finden Sie in [[https://git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum/​blob/​master/​scripts/​de1_pin_assignments_minimumio.tcl|scripts/​de1_pins_assignments_minimumio.tcl]] +  - Ergänzen Sie das [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​pnr/​de1_cnt15/​de1_cnt15_pins.tcl|Pindefinitionsfile]],​ damit die zusätzlichen Ein- und Ausgänge bei der Synthese berücksichtigt werden. Die Pins auf dem FPGA und auf dem Board können Sie im [[https://​www.hs-augsburg.de/​~beckmanf/​restricted/​DE1_V.1.0.1_CDROM/​DE1_user_manual/​DE1_UserManual_v1.2.1.pdf|Altera DE1 Usermanual]] finden. Eine Liste mit allen Pins finden Sie in [[https://gitlab.elektrotechnik.hs-augsburg.de/​beckmanf/​digitaltechnikpraktikum/-/​blob/​master/​scripts/​de1_pin_assignments_minimumio.tcl|scripts/​de1_pins_assignments_minimumio.tcl]] 
-  - Stellen Sie die Funktion des Zählers am Logikanalysator dar. Dabei soll der Takt, der asynchrone Reset, der Zählerstand und der Ausgang done_o sichtbar sein.+  - Stellen Sie die Funktion des Zählers am Logikanalysator dar. Benutzen Sie zum Anschluss der Digitaltastköpfe an die GPIO Pins die Klemmen. Dabei soll der Takt, der Load Eingang ld_i, der asynchrone Reset, der Zählerstand und der Ausgang done_o sichtbar sein.
  • dtpr_v6.1525675672.txt.gz
  • Last modified: 2018/05/07 08:47
  • by beckmanf