==== Entwurf digitaler Systeme 2 ==== === Inhalt === Die Veranstaltung wendet sich an Studenten der technischen Informatik im fünften Semester. Es werden die folgenden Themen behandelt: * Designpartitionierung * Entwurf mit VHDL * RTL Simulation mit Mentor Modelsim * FPGA Synthese mit Altera Quartus * Timingverifikation mit statischer Timinganalyse Es gibt eine Kursseite auf der Lernplattform der Hochschule Augsburg unter https://moodle.hs-augsburg.de/course/view.php?id=584 === Vorbereitung === Die Veranstaltung beinhaltet die Schaltungssimulation, Verifikation und Synthese für ein FPGA. Es werden die gleichen CAD Tools und Boards wie im Praktikum Digitaltechnik verwendet. Eine Beschreibung der CAD Tools und der Boards ist auf der [[http://www.hs-augsburg.de/~haf/|Homepage von Johann Färber]] zu finden, der auch das Praktikum Digitaltechnik betreut. == Prototypenboard Altera/Terasic DE01 == Das DE01 Board wird von der Firma [[http://www.terasic.com|Terasic]] hergestellt ist mit einem EP2C20F484C7 Altera FPGA ausgestattet. Siehe auch http://www.hs-augsburg.de/~haf/index.php?site=rgs/prototypeboards/index.html Auf dem Board gibt es verschiedene Baugruppen wie Clockgeneratoren, Schalter, LEDs und einen VGA Anschluss. Diese Komponenten sind mit den Pins des FPGA Bausteins verbunden. Welche Pins mit welchen Komponenten verbunden sind, lässt sich im [[https://www2.hs-augsburg.de/~haf/secure/prototypeboards/DE1_UserManual_v1018.pdf|DE1 Usermanual]] nachlesen. == VHDL Simulation mit Mentor Modelsim Altera Starter Edition == Der VHDL Simulator ist von der Firma Mentor und wird als OEM Version von Altera zur Verfügung gestellt. == Synthese und Timingverifikation mit Altera Quartus II Web Edition == Mit dem Synthesetool Quartus II können aus dem VHDL Code Belegungsdaten für verschiedene Altera FPGA Bausteine synthetisiert werden. Die Quartus II Software integriert außerdem eine Software zur statischen Timinganalyse und ein Programmiertool mit dem das FPGA auf dem Prototypenboard programmiert werden kann. == Download der Tools und Tutorial == Alle verwendeten Tools können lizenzfrei benutzt werden. Zur Vorbereitung ist es ratsam, die Tools auf dem eigenen Rechner zu installieren und die Tutorials von Modelsim und der Quartus II Web Edition zu bearbeiten. Die Software ist für Windows und Linux verfügbar und kann von der [[https://www.altera.com/download/dnl-index.jsp|Altera Downloadseite]] geladen werden. Hinweise für die [[Quartus Ubuntu Install|Installation unter Linux]] Die Beschreibung des Modelsim Tutorials ist in der Modelsiminstallation zu finden unter: /modelsim_ase/docs/pdfdocs/modelsim_tut.pdf Das Quartus II Tutorial ist zu finden unter: /quartus/common/help/tutorial_quartusii_intro_vhdl.pdf Nach Bearbeitung der Tutorials kann das erworbene Wissen auf [[Die erste Schaltung]] angewandt werden. Die Belegungsdatei "first.sof", die aus der Synthese entstanden ist, kann im Labor auf das FPGA geladen werden. Damit die Schaltung auf dem DE1 Board korrekt funktioniert, muss die folgende Pinbelegungsdatei verwendet werden: https://www.hs-augsburg.de/~beckmanf/restricted/DE1_pin_assignments.csv === Aufgaben === {{:ds2-aufgabe1.pdf|DS2 Aufgaben Teil 1}} {{:ds2-aufgabe1-lsg.pdf|Aufgaben Teil 1 - Lösungen}} {{:ds2-aufgabe2.pdf|DS2 Aufgaben Teil 2}} {{:ds2-aufgabe2-lsg.pdf|DS2 Aufgaben Teil 2 - Lösungen}} {{:ds2-aufgabe3.pdf|DS2 Aufgaben Teil 3}} {{:ds2-aufgabe3-lsg.pdf|DS2 Aufgaben Teil 3 - Lösungen}} === Evaluation === {{:ds2-evaluation-ws2010-2011.pdf|Ergebnisse der Evaluation WS 2010/2011}} === Pong === Bis Montag, den 18. Oktober 2010, soll die Schaltung für ein Testbild an einem VGA Monitor fertig sein. Ich habe den VHDL Code mit der Strukturbeschreibung hochgeladen (s.u.). Das Testbild soll mit einer Standard VGA Auflösung von 640 x 480 bei 60 Hz Bildwiederholrate erzeugt werden. === Kursunterlagen === {{:digsys2-stunde1.pdf|Präsentation aus Stunde 1 und 2}} [[Die Gruppenliste]] {{:ds2-pong-vhdl-1.zip|Pong: Zipfile mit VHDL Struktur und Testbench für das Testbild (leere Architectures)}} {{:ds2-pong-vhdl-2.zip|Pong 2: Zipfile mit VHDL Dateien für ein Rechteck}} {{:ds2-pong-vhdl-3.zip|Pong 3: Zipfile mit Entity für das Vector Modul}} {{:wm8731_wm8731l.pdf|Datenblatt des Soundchips auf dem FPGA Board}} [[ds2-i2c-code]] === Links === [[http://www.youtube.com/watch?v=LPkUvfL8T1I|Pong auf Youtube]] [[http://www.pong-story.com/GIMINI1978.pdf|Pong on a Chip]] http://martin.hinner.info/vga http://www.hs-augsburg.de/fakultaet/informatik/studium/studiengang/ti_bac/studienplan/pflichtfach/entwurf_digitaler_systeme_2/index.html http://de.wikipedia.org/wiki/Pong [[http://www.youtube.com/watch?v=X6O-ELLtzx4|Arkanoid on Altera DE1]]