D igitallabor - Fakultät für Informatik und Wirtschaftsinformatik

Hochschule Karlsruhe – Technik und Wirtschaft
Fakultät für Informatik und Wirtschaftsinformatik
Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot
Prof. Dr. N. Link
/ Dipl.-Ing. J. Krastel
Digitallabor
Versuch: GAL Programmierung
Ziel: Im heutigen Versuch sollen Sie erste Erfahrungen mit der Sprache VHDL sammeln
und dabei auch etwas mit hierarchischem Design experimentieren. Hierbei werden wir
wieder die Ampel bemühen, allerdings diesmal in einem kleineren programmierbaren Baustein, einem GAL. Auch wenn es anfangs schwerer erscheint, als einfach loszustöpseln,
sollten Sie heute erfahren, dass die Kombination aus HDL und programmierbarer Hardware schnell zu funktionierenden Schaltungen führt, und auch ziemlich flexibel bei
Änderungen ist.
Benutzen Sie zur Designerstellung das Programm „ispLever Classic“ und zur Simulation
den „Aldec VHDL Functional Simulator“. Verwenden Sie durchgängig std_logic.
Aufgabe 1
Da wir heute ausschließlich kombinatorische Logik ins GAL bringen wollen, brauchen wir
zur Ansteuerung wieder wie in Versuch 1 den 4-Bit-Dualzähler SN LS 74161. Bauen Sie
den Zähler wieder auf und zeigen Sie die Ausgänge an LEDs an. Die Ladefunktion auf
den Wert 5 ist diesmal entbehrlich.
Aufgabe 2
Das Schaltnetz der Ampelsteuerung, das im Versuch Ampel (mit diskreten Bausteinen /
Aufgabe 2) mit TTL-Bausteinen aufgebaut wurde, soll durch den GAL-Baustein
GAL 16V8D ersetzt werden.
Beschreiben Sie den kombinatorischen Teil der Ampelsteuerung in VHDL. (Grün-Phase =
4 Takte, Gelb-Phase = 2 Takte, Rot-Phase = 8 Takte, Rot-Gelb-Phase = 2 Takte). Verwenden Sie nach Ihrer Wahl entweder eine nebenläufige Beschreibung oder, wenn die
Vorlesung schon so weit vorangekommen ist, eine sequentielle Beschreibung. Verwenden
Sie auf keinen Fall die Gleichungen aus dem ersten Versuch.
Projektverzeichnis:
Projektname:
N:\DTL\VERSUCH2_A2
ampel_02a
Simulieren Sie das VHDL Modell zunächst funktional. Schreiben Sie sich eine Testbench.
Wenn die Simulation ok ist, implementieren Sie die Schaltung in einem GAL-Baustein.
Schauen Sie im Chip Report nach, auf welche Pins die Software welche Signale gelegt
hat und notieren Sie sich die Pinnummern. Programmieren Sie das GAL und verdrahten
Sie es mit dem Zähler.
P:\G\DTL\DTL_Versuche\V02_GAL\V02_GAL_04.sxw /081028|194506
1 von 2
Aufgabe 3
Ändern Sie die Schaltung aus Aufgabe 1 so ab, dass die GRÜN-Phase 6 Takte, die GelbPhase = 2 Takte, die Rot-Phase = 6 Takte und die Rot-Gelb-Phase = 2 Takte dauert. Damit Sie die Verdrahtung nicht ändern müssen, geben Sie diesmal die Pins, die Sie in Aufgabe 2 notiert hatten, fest vor.
Erzeugen Sie ein neues JEDEC File und programmieren Sie das GAL neu. Das müsste
jetzt aber deutlich einfacher gewesen sein, als in Versuch 1.
Projektverzeichnis:
Projektname:
N:\DTL\VERSUCH2_A3
ampel_02b
Aufgabe 4
In dieser Aufgabe geht es um hierarchisches Design eines Addierers. Ein Tip: Wenn Sie
nicht mehr wissen, wovon hier die Rede ist, schauen Sie in der PDF Datei zu TI1 nach.
Entwerfen Sie zunächst je ein Modell für einen Halbaddierer und ein ODER Gatter mit
zwei Eingängen. Das ODER sollte eigentlich auf Anhieb laufen, den Halbaddierer können
Sie ja sicherheitshalber simulieren. Stellen Sie dann aus Instanzen dieser Komponenten
einen Volladdierer zusammen. Den sollten Sie aber in jedem Fall simulieren. Tip: Es ist sicher hilfreich, wenn Sie sich zunächst eine Skizze machen und den internen Signalen
Namen geben.
Im nächsten Schritt bauen Sie aus diesen Komponenten einen 2 Bit Addierer zusammen.
Verwenden Sie für die beiden Eingangswerte a und b je einen 2 bit breiten Vektor, für die
Summe einen 3 bit breiten Vektor. Simulieren Sie das Modell und implementieren Sie es
im GAL.
Projektverzeichnis:
Projektname:
N:\DTL\VERSUCH2_A4
volladdierer
Programmieren Sie das GAL und verbinden Sie die Eingänge mit den Schaltern, die Ausgänge mit der BCD -> 7-Segment-Anzeige. Anschlussbuchse „C/C – D2“ an der 7-Segment-Anzeige muss an GND angeschlossen werden.
Na, was gibt 2 + 3 ???
P:\G\DTL\DTL_Versuche\V02_GAL\V02_GAL_04.sxw /081028|194507
2 von 2