Unterlagen
Vorlesungsunterlagen, Datenblätter & Dokumentation und diverse Links - thematisch sortiert. Die Liste wird im Lauf der Veranstaltung aktualisiert...Aktuell | VHDL | EDA-Programme
Aktuell
Allgemeines Material aus den Plenumsterminen: Foliensätze, Beispieldateien usw.24.10.2018
- Foliensatz: "VLSI- und Systementwurf: Methoden und Werkzeuge", 1,1Mi pdf
- Foliensatz: "VHDL-Einführung / HDL-Übersicht", 473Ki pdf
- introVHDL.tgz - Beispiele der VHDL-Folien und "Templates" für die Simulation
17.10.2019
- Foliensatz: "Einführung", 1,9Mi pdf
- Foliensatz: "Rechnerarchitekturen: ISA / Pipelining / Speicherhierarchie", 2,2Mi pdf
VHDL
Allgemeine Dokumentation zu VHDL und Beschreibung der Syntax.- "VHDL Kompakt", 558Ki pdf - die Syntax und viele VHDL Beispiele
- introVHDL.tgz - Beispiele der VHDL-Folien und "Templates" für die Simulation
Links
EDA-Programme
EDA für Electronic Design Automation - Hier sind die Anleitungen zur Benutzung der Programme sowie Links zu deren Herstellern.- Die komplette Intel Dokumentation zu Quartus.
- Von den User Guides (Standard-Edition!) sind hier die Abschnitte 03 "Design Recommendations" (lokale Kopie) und 05 "Design Optimization" (lokale Kopie) besonders interessant.
Links
Setup
- Um die Initialisierung der Werkzeuge zu vereinfachen, gibt es Shellscripte
für bash/sh oder tcsh/csh,
die die benötigten Suchpfade und Umgebungsvariablen setzen:
source $tamsSW/profile.d/edaSetup.sh [tool-list]
source $tamsSW/profile.d/edaSetup.csh [tool-list]
- Eingaben für tool-list sind beispielsweise:
ldv für die Simulation: nclaunch alt für den FPGA Entwurf: quartus
Simulation mit Open-Source Programmen
Für die Arbeit an nicht Uni-Rechnern/zu Hause, habe ich hier als Alternative beschrieben, wie entsprechende Open-Source Programme genutzt werden können.- ghdl
- Ein compilierender VHDL Simulator, auf gcc basierend.
Anders als bei den kommerziellen Produkten gibt es keine (kaum)
interaktive Simulation und auch die Debug-Möglichkeiten sind
stark eingeschränkt. Wenn man aber eine Batch-Simulation laufen
lassen kannn kann / will, bietet ghdl einen (fast) kompletten,
schnellen VHDL Simulator.
Während freie Software früher immmer nur mit einem Teil der VHDL-Syntax zurechtkam, kann ghdl inzwischen den gesamten Sprachumfang - an einer Stelle hatte ich in meinem Beispiel Probleme (&-Operator, 'workaround' möglich).
- Einschränkungen: wie oben schon angedeutet, funktioniert nur eine
Batch-Simulation. Daraus ergibt sich:
- Alle Stimuli müssen in der Simulationsumgebung definiert sein, als durch entsprechende Prozesse getrieben werden
- Die Simulation muss terminieren, sprich keine neuen Events mehr erzeugen. Dies geht am einfachsten, wenn die VHDL-Prozesse zur Stimuli-Generierung am Ende auf ein finales wait; laufen. Alternativ dazu muss man sonst die Simulation mit dem Parameter --stop-time=... starten.
- Signale können in eine Datei geschrieben und mit gtkwave (s.u.) analysiert werden. Ein Zugriff auf interne Variablen oder auf den sequenziellen Ablauf in Prozessen ist nur (wenn überhaupt) über Debug-Werkzeuge möglich.
- gtkwave
- Die übliche Anzeige für Impulsdiagramme...
Simulation mit ModelSim
Da die Cadence Lizenzen zum 31.Dez. ausliefen und die neue Lizenzdatei noch nicht geliefert wurde, habe ich die bei Altera mitgelieferte (eingeschränkte) ModelSim Version freigeschaltet.- Das Setup geschieht automatisch durch edaSetup.sh bei Auswahl von alt für den FPGA Entwurf: quartus.
- In dem Tuturial werden die grundlegenden Schritte erklärt, ansonsten mich fragen...
- Der einfachste weg zur Nutzung der Programme ist die GUI: vsim
Hardware
Dokumentation zu den Hardwareeinheiten, der Prototypenplatine etc.SRAM Speicher
- sramSim.tgz enthält
ein Simulationsmodell eines einfachen SRAM (ohne Timing).
Über Dateiein- / -ausgabe kann der Speicher einfach initialisiert
werden.
sram.vhd Simulationsmodell des Speichers instMem.dat Beispieldatei: Speicherinhalt procTst.vhd Beispieldatei: Benutzung Dieses RAM dient erst einmal dazu, die Prozessorhardware mit einem ersten (einfachen) Simulationsmodell zu versorgen. Später, bei der weiteren Umsetzung auf die Prototypenplatine, wird der Speicher dann noch genauer spezifiziert.
Altera FPGA Prototypenplatine
- "DE0-Nano User Manual" ist das Manual zu der Prototypenplatine. In den nachfolgenden Archiven ist es jeweils auch in dem Unterverzeichnis doc enthalten.
- de0Board.tgz enthält die Templates um die Platine für eigene Entwürfe zu benutzen: de0Board.xxx. In dem Verzeichnis doc stehen die Manuals und die Datenblätter der Komponenten.
- de0cDisplay.tgz ist ein Beispiel zur Ansteuerung des LCD (Character-) Displays und kann als Ergänzung des eigenen Entwurfs integriert werden.
- sampleMem.tgz enthält
Beispiele für RAM und ROM, jeweils mit 10-bit Adressen
(ja Eure Entwürfe können natürlich mehr) und 32-bit
Wortbreite.
Interessant sind die mif-Dateien, die die initialen Werte
RAM, bzw. die Inhalte ROM, vorgeben. Die müsst Ihe an eigene
Entwürfe anpassen!
Die ROM/RAM-Speicher werden von Altera quartus aus generiert: IP Catalog dann Library - Basic Functions - On Chip Memory.