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
© Copyright 2024 ExpyDoc