Unterlagen
Vorlesungsunterlagen, Literaturverweise und diverse Links - thematisch sortiert.Die Liste wird im Laufe der Veranstaltung aktualisiert...
Aufgabenblätter | VLSI | VHDL | EDA-Programme | Hardwarekomponenten
Aufgabenblätter
VLSI-Entwurf
- "VLSI- und Systementwurf / Methoden und Werkzeuge" Foliensatz, 59 Seiten (1,1Mi pdf).
VHDL
- "VHDL Kompakt" - die Syntax und viele VHDL Beispiele, 125 Seiten (556Ki pdf).
- "VHDL-Einführung / HDL Übersicht" Foliensatz, 71 Seiten (533Ki pdf).
- VHDL-Beispiele aus dem Foliensatz und "Templates" zu den Aufgabenblättern
- Links
- Hamburg VHDL Archive
- VHDL Online (TU Chemnitz) Syntax, Synthesis und Simulation
- VHDL-Online (KIT) Manual und Referenz
- Accellera Systems Initiative
- IEEE Hosted EDA web
EDA-Programme
- Hersteller und OpenSource
- Intel FPGA (Altera)
- Siemens (Mentor Graphics): ModelSim - eingeschränkt in Quartus (=Intel FPGA) enthalten
- Cadence
- Synopsys
- GHDL / GitHub (OpenSource VHDL-Simulator)
- NVC / GitHub (OpenSource VHDL-Simulator)
- GTKWave (Impulsdiagramme / Waveform Viewer)
- 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: xmvhdl, xmvlog, xmelab, xmsim ams ldv syn für die RT-Synthese + Simulation: ams_synopsys int für den FPGA Entwurf: quartus - Cadence Simulation
- Um alle temporären Dateien separat zu halten, empfiehlt es sich
die VHDL Arbeitsbibliothek work auf ein entsprechendes
Unterverzeichnis abzubilden. Dieses kann dann später komplett
gelöscht werden. Dazu sind
- ein Unterverzeichnis work im aktuellen Verzeichnis anzulegen
- die Dateien cds.lib und hdl.var in das aktuelle Verzeichnis zu kopieren
Hier die Schritte zur Simulation der Ampelschaltung aus den Templates:
xmvhdl -linedebug tlcWalk.vhd tlcTest.vhd xmelab tlcTest xmsim -gui tlcTest
- ghdl, bzw. nvc und gtkwave
- Zur Nutzung der OpenSource Werkzeuge ghdl oder nvc als
Simulator und gtkwave für die Anzeige folgen hier die Schritte, um
zu simulieren und sich die Ergebnisse anzusehen.
Auch hier wird davon ausgegangen, dass ein Unterverzeichnis work erstellt wurde (s.o.). - ghdl und gtkwave sind bereits auf den TAMS-Rechnern vorinstalliert.
ghdl -a --workdir=work tlcWalk.vhd ghdl -a --workdir=work tlcTest.vhd ghdl -e --workdir=work tlcTest ghdl -r --workdir=work tlcTest --vcd=tlctest.vcd gtkwave tlctest.vcd
...oder mit nvc als Simulator:nvc -a tlcWalk.vhd nvc -a tlcTest.vhd nvc -e tlcTest nvc -r -w tlcTest gtkwave tlcTest.fst
- ghdl - Linux vs. Windows
- Während ghdl wie oben beschrieben in der Linux Version
alle internen Objekte in die Datei für gtkwave schreibt,
gibt die Windows Version nur Bit-/Bitvector- und Integer Typen in
Standard VCD-Dateien aus. Hier hilft ein internes Datenformat,
mit dem dann auch eigene Aufzählungstypen (z.B. Zustandsvariablen
von Automaten) ausgegeben werden:
... ....\bin\ghdl.exe -r --workdir=work tlcTest --wave=tlcTest.ghw ...
- Simulation von Netzlisten (Aufgabe 2)
- Hier sind noch einmal die Besonderheiten aufgezählt, die beachtet werden
müssen, wenn Netzlisten simuliert werden sollen. Entsprechend den
beiden Walkthroughs
"VHDL-Synthese" und"Simulation von Gatternetzlisten" beziehen sich die Angaben auf folgendes Szenario:Zielbibliothek AMS Standardzellprozess c35b4 Synthesewerkzeug Synopsys Design-Vision ams_synopsys Simulator Cadence Xcelium xmvlog / xmvhdl / xmelab / xmsim - Hier die Schritte, zur Simulation der synthetisierten Ampelschaltung
tlcWalk.v, Timing tlcWalk.sdf
- Suchpfade der Gatterbibliotheken ergänzen
cat $tamsSW/ams/vhdlLib/xmsim/c35b4.add >> cds.lib
- Bibliotheken in der Simulationsumgebung tlcTest.vhd
hinzufügen
library c35_corelib; ...
- Timescale-Direktive in die Verilog-Datei tlcWalk.v
einbauen
`timescale 1ns/1ps ...
- Anpassen der Steuerdatei für die
Timing-Annotation : netlist.sdf.cmdCOMPILED_SDF_FILE = "tlcWalk.sdf.X", SCOPE = :tlcI, LOG_FILE = "tlcWalk.sdf.log";
- Code übersetzen, Elaboration und Start der Simulation
xmsdfc tlcWalk.sdf xmvlog -linedebug tlcWalk.v xmvhdl -linedebug tlcTest.vhd xmelab -access rwc -sdf_cmd_file netlist.sdf.cmd tlcTest xmsim -gui tlcTest
- Suchpfade der Gatterbibliotheken ergänzen