Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dtpr_v7 [2018/06/04 08:16] beckmanf [Suchmaschine] ctrl_i ergänzt |
dtpr_v7 [2021/05/09 21:09] (current) beckmanf [LED Blinkschaltung] add play_rtl.vhd link |
||
---|---|---|---|
Line 26: | Line 26: | ||
Im git Projekt sind schon einige Dateien vorbereitet. | Im git Projekt sind schon einige Dateien vorbereitet. | ||
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/cntblnk_rtl.vhd|cntblnk_rtl.vhd]] enthält ein GerĂĽst fĂĽr den ZählerĚý | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/cntblnk_rtl.vhd|cntblnk_rtl.vhd]] enthält ein GerĂĽst fĂĽr den ZählerĚý |
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/blnkctr_rtl.vhd|blnkctr_rtl.vhd]] enthält ein GerĂĽst fĂĽr den AutomatenĚý | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/blnkctr_rtl.vhd|blnkctr_rtl.vhd]] enthält ein GerĂĽst fĂĽr den AutomatenĚý |
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/de1_blnkauto_rtl.vhd|de1_blnkauto_rtl.vhd]] enthält die Zusammenschaltung von Automat und ZählerĚý | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/de1_blnkauto_rtl.vhd|de1_blnkauto_rtl.vhd]] enthält die Zusammenschaltung von Automat und ZählerĚý |
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/t_de1_blnkauto.vhd|t_de1_blnkauto.vhd]] enthält die Testbench | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/t_de1_blnkauto.vhd|t_de1_blnkauto.vhd]] enthält die Testbench |
* Es gibt ein Simulationverzeichen "sim/de1_blnkauto" | * Es gibt ein Simulationverzeichen "sim/de1_blnkauto" | ||
* Es gibt ein Syntheseverzeichnis "pnr/de1_blnkauto" | * Es gibt ein Syntheseverzeichnis "pnr/de1_blnkauto" | ||
- | Bauen Sie jetzt den LED Blinkautomaten! Ěý | + | Im Kapitel [[https://www-degruyter-com.ezproxy.hs-augsburg.de/document/doi/10.1515/9783110706970-014/pdf|Reichardt, Digitaltechnik und digitale Systeme, Entwurf von Zustandsautomaten]] wird die Beschreibung von Zustandsautomaten in VHDL beschrieben. Die Datei [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/-/blob/master/src/play_rtl.vhd|play_rlt.vhd]] enthält die Beschreibung eines Mooreautomaten mit einem VHDL Designpattern fĂĽr Automaten. Bauen Sie jetzt den LED Blinkautomaten!Ěý |
- | Ěý | + | |
===== Suchmaschine ===== | ===== Suchmaschine ===== | ||
Line 41: | Line 40: | ||
Die Suchmaschine sucht in einem Datenstrom eine bestimmte Bitsequenz. Zu dem Projekt gehören die folgenden Dateien. | Die Suchmaschine sucht in einem Datenstrom eine bestimmte Bitsequenz. Zu dem Projekt gehören die folgenden Dateien. | ||
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/seqgen_rtl.vhd|seqgen_rtl.vhd]] erzeugt einen Bitstrom mit einer ladbaren Länge. Die Anzahl der erzeugten Bits hängt vom Eingang "ctrl_i" ab. Ěý | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/seqgen_rtl.vhd|seqgen_rtl.vhd]] erzeugt einen Bitstrom mit einer ladbaren Länge. Die Anzahl der erzeugten Bits hängt vom Eingang "ctrl_i" ab. Ěý |
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/seqdet_rtl.vhd|seqdet_rtl.vhd]] enthält dann die SuchmaschineĚý | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/seqdet_rtl.vhd|seqdet_rtl.vhd]] enthält dann die SuchmaschineĚý |
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/de1_seq_rtl.vhd|de1_seq_rtl.vhd]] enthält die Zusammenschaltung von Generator und DetektorĚý | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/de1_seq_rtl.vhd|de1_seq_rtl.vhd]] enthält die Zusammenschaltung von Generator und DetektorĚý |
- | * [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/t_de1_seq.vhd|t_de1_seq.vhd]] enthält die Testbench. | + | * [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/t_de1_seq.vhd|t_de1_seq.vhd]] enthält die Testbench. |
Weiterhin gibt es die Verzeichnisse "pnr/de1_seq" und "sim/de1_seq" fĂĽr die Synthese und die Simulation. Der Bitgenerator basiert auf einem linearen rĂĽckgekoppelten Schieberegister. | Weiterhin gibt es die Verzeichnisse "pnr/de1_seq" und "sim/de1_seq" fĂĽr die Synthese und die Simulation. Der Bitgenerator basiert auf einem linearen rĂĽckgekoppelten Schieberegister. | ||
- Analysieren Sie die Verschaltung auf dem toplevel "de1_seq_rtl.vhd" | - Analysieren Sie die Verschaltung auf dem toplevel "de1_seq_rtl.vhd" | ||
- | - Simulieren Sie die vorhandene Schaltung mit dem Bitgenerator. Stellen Sie das Signal "ctrl_i" in der Schaltung [[https://git.etech.fh-augsburg.de/friedrich.beckmann/digitaltechnikpraktikum/blob/master/src/seqgen_rtl.vhd|seqgen_rtl.vhd]] im Waveformfenster dar | + | - Simulieren Sie die vorhandene Schaltung mit dem Bitgenerator. Stellen Sie das Signal "ctrl_i" in der Schaltung [[https://gitlab.elektrotechnik.hs-augsburg.de/beckmanf/digitaltechnikpraktikum/blob/master/src/seqgen_rtl.vhd|seqgen_rtl.vhd]] im Waveformfenster dar |
- In der Testbench werden dem Signal "schalter" keine Werte zugewiesen. Deshalb ist das Signal "ctrl_i" undefined. Ergänzen Sie die Testbench und weisen Sie dem Signal "schalter" verschiedene Werte zu. Stellen Sie das Verhalten der Schaltung im Waveformfenster dar. | - In der Testbench werden dem Signal "schalter" keine Werte zugewiesen. Deshalb ist das Signal "ctrl_i" undefined. Ergänzen Sie die Testbench und weisen Sie dem Signal "schalter" verschiedene Werte zu. Stellen Sie das Verhalten der Schaltung im Waveformfenster dar. | ||
Line 67: | Line 66: | ||
- Stellen Sie den Takt, die Bitfolge und das Ausgangssignal des Detektors auf dem Oszilloskop dar. Verwenden Sie die Eingänge des Logikanalysators vom Oszilloskop dazu. | - Stellen Sie den Takt, die Bitfolge und das Ausgangssignal des Detektors auf dem Oszilloskop dar. Verwenden Sie die Eingänge des Logikanalysators vom Oszilloskop dazu. | ||
- Stellen Sie auf dem Oszilloskop dar, dass die Erkennung richtig funktioniert. | - Stellen Sie auf dem Oszilloskop dar, dass die Erkennung richtig funktioniert. | ||
+ | |||
+ | ===== Suchmaschine lange Sequenz ===== | ||
Jetzt soll der Erkennungsautomat erweitert werden um eine lange Sequenz zu erkennen. Entwerfen Sie einen Automaten, der eine Sequenz "111" dann 21 Nullen und dann "101" erkennt! | Jetzt soll der Erkennungsautomat erweitert werden um eine lange Sequenz zu erkennen. Entwerfen Sie einen Automaten, der eine Sequenz "111" dann 21 Nullen und dann "101" erkennt! | ||
+ | |||
+ | ===== Häufigkeitszähler ===== | ||
+ | |||
+ | Erweitern Sie die Schaltung um eine Zählschaltung, die zählt wie häufig die Bitfolge "0110100" von oben gefunden wird. Die Anzahl der gefundenen Sequenzen soll als Hexadezimalzahl auf den vier Siebensegmentanzeigen des Boards dargestellt werden. | ||
+ | |||
+ | |||