| Both sides previous revision Previous revision Next revision | Previous revision |
| dtlab_t5 [2025/03/14 20:40] – switch code server beckmanf | dtlab_t5 [2026/05/28 14:32] (current) – [+ und - Anzeige] genauere Erläuterung mit Beispiel beckmanf |
|---|
| In der Datei [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/top_hex.vhd|top_hex.vhd]] ist die höchste Hierarchie (toplevel) auf dem FPGA mit den Eingängen SW und den Ausgängen LEDR, HEX0, HEX1, HEX2, HEX3 dargestellt. | In der Datei [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/top_hex.vhd|top_hex.vhd]] ist die höchste Hierarchie (toplevel) auf dem FPGA mit den Eingängen SW und den Ausgängen LEDR, HEX0, HEX1, HEX2, HEX3 dargestellt. |
| |
| <html> | {{ :public:praktikum_digitaltechnik:top_hex.svg?width=300 | top_hex toplevel}} |
| <img src="http://breakout.hs-augsburg.de/dwimg/top_hex.svg" width="400" > | |
| </html> | |
| |
| Abb. 1: Toplevel top_hex | Abb. 1: Toplevel top_hex |
| Die HEXn Ausgänge steuern [[https://de.wikipedia.org/wiki/Segmentanzeige|7-Segmentanzeigen]] wie in Abbildung 2 an. Jedes einzelne Segment ist aus einer Leuchtdiode aufgebaut und kann einzeln ein- und ausgeschaltet werden. Zusammen bilden sie eine Darstellung einer Ziffer oder eines Buchstabens. Es gibt vier 7-Segmentanzeigen auf dem Altera Board. | Die HEXn Ausgänge steuern [[https://de.wikipedia.org/wiki/Segmentanzeige|7-Segmentanzeigen]] wie in Abbildung 2 an. Jedes einzelne Segment ist aus einer Leuchtdiode aufgebaut und kann einzeln ein- und ausgeschaltet werden. Zusammen bilden sie eine Darstellung einer Ziffer oder eines Buchstabens. Es gibt vier 7-Segmentanzeigen auf dem Altera Board. |
| |
| <html> | {{ https://upload.wikimedia.org/wikipedia/commons/e/ed/7_Segment_Display_with_Labeled_Segments.svg?width=150 | 7 Segment HEX Display}} |
| <img src="https://upload.wikimedia.org/wikipedia/commons/e/ed/7_Segment_Display_with_Labeled_Segments.svg" width="100" > | |
| </html> | |
| Abb. 2: 7-Segmentanzeige mit den Namen der Segmente | Abb. 2: 7-Segmentanzeige mit den Namen der Segmente |
| |
| In top_hex ist die Schaltung "bin2seg" aus der Datei [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/bin2seg.vhd|bin2hex.vhd]] zweimal instantiiert. | In top_hex ist die Schaltung "bin2seg" aus der Datei [[https://caeis.etech.fh-augsburg.de/beckmanf/dtlab.git/tree/src/bin2seg.vhd|bin2hex.vhd]] zweimal instantiiert. |
| |
| <html> | {{ :public:praktikum_digitaltechnik:bin2seg.svg?width=300 | bin2seg}} |
| <img src="http://breakout.hs-augsburg.de/dwimg/bin2seg.svg" width="400" > | |
| </html> | |
| |
| Abb. 3: bin2seg erzeugt die Ansteuerung einer 7-Segmentanzeige als Hexadezimalzahl | Abb. 3: bin2seg erzeugt die Ansteuerung einer 7-Segmentanzeige als Hexadezimalzahl |
| ==== + und - Anzeige ==== | ==== + und - Anzeige ==== |
| |
| Die Schalter SW[4..0] und SW[9..5] repräsentieren Zahlen im Zweierkomplement. Die Anzeige funktioniert aber als vorzeichenlose Zahl im Hexadezimalformat. Wandeln Sie die Schaltung so ab, dass die Anzeige in der üblichen Form aus dem Dezimalsystem erfolgt. Auf HEX0 soll der Betrag erscheinen. Auf HEX1 soll entweder nichts oder ein Minuszeichen erscheinen. | Die Schalter SW[4..0] und SW[9..5] repräsentieren Zahlen im Zweierkomplement. Die Anzeige HEX1 und HEX0 funktioniert bislang als vorzeichenlose Zahl im Hexadezimalformat. Wandeln Sie die Schaltung so ab, dass die Anzeige in der üblichen Form aus dem Dezimalsystem erfolgt - also eine Darstellung mit Vorzeichen und Betrag. Auf HEX0 soll der Betrag der Summe im Hexadezimalformat erscheinen. Auf HEX1 soll entweder nichts (entsprich +) oder ein Minuszeichen erscheinen. Die Addition soll weiterhin als Moduloaddition durchgeführt werden, d.h. +15 + +3 = -14. Dies entspricht binär "01111" + "00011" = "10010". Bei dem Beispiel soll auf HEX1 ein "-" und auf HEX0 ein "d" erscheinen, auf HEX4 "1" und auf HEX3 die "2". Es wird also keine Stellenerweiterung durchgeführt und es kann zu Überläufen kommen. |
| |
| ==== Zahlenbereich ==== | ==== Zahlenbereich ==== |