Lehre.VHDL-Web-Projekte (Struktur)


VHDL-Web-Projekte zum Lehrbuch: Technische Informatik 2: Entwurf digitaler Schaltungen.

(G. Kemnitz)

Das Buch enthält in der Regel nur die wichtigen Code-Ausschnitte der Beispielbeschreibungen. Auf dieser Web-Seite stehen die zugehörigen kompletten Programmdateien und Testrahmen, getestet mit dem Simulator ghdl. Den Simulator gibt es sowohl für Linux als auf für Windows hier frei im Web. Er ist auch auf den Rechnern im Übungsraum installiert, die während der betreuten Laborzeiten genutzt werden. Für die graphische Signaldarstellung ist zusätzlich GTKWave zu installieren. Die Beschreibungen zu den Web-Projekten stehen im Script und Hinweise zur Übersetzung und Ausführung sind in der jeweiligen Hilfe-Datei zum Projekt zu finden.

Zum Experimentieren mit den im Buch beschrieben VHDL-Entwürfen ist das nachfolgende zip-Archiv auf den Rechner herunterzuladen und mit Verzeichnissen zu entpacken. Es enthält alle im Buch beschriebenen Dateien und zusätzlich für jeden Abschnitt einen Hilfetext mit den Befehlen zur Durchführung der Simulation und zur Visualisierung der Ergebnisse. Die gleichfalls enthaltenen Sav-Dateien enthalten die Visualisierungseinstellungen für GTKWAVE (angezeigte Signale, angezeigtes Zeitfenster etc.). Die Bibliothek Tuc ist bereits übersetzt im Archiv enthalten, so dass der Abschnitt zur Bibliothek übersprungen werden kann. Es sei empfohlen, für jedes Beispiel die Beschreibung im Buch zu lesen, die vorbereiteten Simulationen auszuprobieren und danach mit den Beispielen zu experimentieren (Veränderung und Erweiterung der Testeingaben, Änderung der beschrieben Funktionen und Strukturen etc.). Viel Spass beim Experimentieren!

Zip-Archiv mit allen Dateien: [zip_EVHDL.zip]

Zu den einzelnen Kapiteln:

ENTRY:TUC_Hilfe
(versteckt)

GHDL-Kommandofolge zur Erzeugung und zum Test der Bibliothek TUC


  
ENTRY:TUC_Ausgabe
(versteckt)

Textausgabe (Tuc.Ausgabe)

Package


    

Testrahmen


    
ENTRY:TUC_Stop
(versteckt)

Kontrollierter Simulationsabbruch (Tuc.StopSim_pack)

Package


    

Testrahmen


    
ENTRY:TUC_Eingabe
(versteckt)

Textausgabe (Tuc.Ausgabe)

Package


    

Testrahmen


    
ENTRY:TUC_Numerik
(versteckt)

Arithmetische Operationen (Tuc.Numeric_Sim und Tuc.Numeric_Synth)

Package für die Simulation


    

Testrahmen Package für die Simulation


    

Arithmetische Operationen (Tuc.Numeric_Sim und Tuc.Numeric_Synth)

Package für die Synthese


    

Testrahmen für das Package für die Synthese


    
ENTRY:TUC_Zufallstest
(versteckt)

Pseudo-Zufallstest (Tuc.Zufallstest)

Package


    

Testrahmen


    
ENTRY:HalloWelt
(versteckt)

Erstes ausführbares VHDL-Programm


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:HalloWelt1
(versteckt)

Erweitertes Programm unter Nutzung eines Packages


  

Das Package dazu


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Anfangswerte
(versteckt)

Test der Anfangswerte von Variablen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_SimX
(versteckt)

Logische Vernüpfung mit X


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Sig1
(versteckt)

Test einer einzelnen Signalzuweisung


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:EingabeProc
(versteckt)

Prozess zur Erzeugung eines Testeingabesignals


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Test_Wait
(versteckt)

Prozess zur Erzeugung eines Testeingabesignals


  

Hilfe zum Übersetzen und Ausführen


  

Textausgaben während der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:ProcSimG5
(versteckt)

Prozess zur Erzeugung eines Testeingabesignals


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:G3_Proc
(versteckt)

3-Gatterschaltung mit einem Prozess je Gatter


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:G3_NLZ
(versteckt)

3-Gatterschaltung mit einer nebenläufigen Signalzuweisung je Gatter


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Test_G3E
(versteckt)

Strukturbeschreibung der 3-Gatter-Schaltung


  

  

  

  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SimGlitch1
(versteckt)

Kontrolle der Signalverläufe in Abb. 1.37


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SimGlitch2
(versteckt)

Kontrolle der Signalverläufe in Abb. 1.38


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Test_VM
(versteckt)

Test der Wirkung der Verzögerungsmodelle


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Test_LT
(versteckt)

Test der Wirkung der Verzögerungsmodelle


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:G3_LT
(versteckt)

Test der Wirkung der Verzögerungsmodelle


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Entprellung
(versteckt)

Entprellen und Flankenerkennung für eine Tasteneingabe


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:BspMealy
(versteckt)

Mealy-Automat


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Johnson4
(versteckt)

Johnson-Zähler


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Zahlenschloss
(versteckt)

Zahlenschloss


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:DreieckGen
(versteckt)

Dreiecksignalgenerator


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

Das generierte Dreiecksignal ist zweimal dargestellt, einmal hexadezimal und einmal analog.
ENTRY:QuadEnc
(versteckt)

Quadraturencoder


  

Testrahmen für den Quadraturencoder


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

Die Bibliothek Tuc

Die Bibliothek TUC stellt für die Beispiele im Buch Datentypen und Unterprogramme für die Ein- und Ausgabe, für arithmetische Operationen, die kontrollierte Beendigung der Simulation mit mehreren Prozessen und für die Bereitstellung von Pseudo-Zufallstests bereit. Sie enthält die nachfolgenden Packages.

Kapitel 1: Modellbildung und Simulation

1.1 Modellbildung und Simulation

1.1.4 VHDL als formale Beschreibungsplattform

1.2 Funktion, Struktur und Simulation

1.2.3 Imperative Funktionsmodelle

1.2.4 Ereignisgesteuerte Simulation

1.2.5 Strukturbeschreibung; 1.2.6 Testrahmen

1.3 Laufzeittoleranzen

1.3.1 Glitches

1.3.2 Das Verzögerungsmodell einer Signalzuweisung

1.3.3 Simulation mit Halte- und Verzögerungszeiten

1.5 Asynchrone Eingabe

1.5.2 Entprellen von Tasten

1.6 Sequentielle Schaltungen

1.6.2 Vom Zustandsgraph zur VHDL-Beschreibung

1.6.4 Entwurf eines Zahlenschlosses

1.6.5 Operationsablaufgraph

ENTRY:Extr_LS
(versteckt)

Synthese und Simulation einer Gatterschaltung


  

Ergebnis der Register-Transfer-Synthese

Die von der Synthese extrahierte Gatterschaltung ist zwar funktionsgleich, hat aber eine Datenflussstruktur, die sich erheblich vom Berechnungsfluss unterscheidet.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Simulationsausgabe


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SynthMux2
(versteckt)

Nachbildung einer If-Elsif-Anweisung durch Multiplexer


  

Ergebnis der Register-Transfer-Synthese

Die drei Multiplexer, die die If-Anweisung beschreibt, werden durch je drei Gatter nachgebildet.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SynthCase
(versteckt)

Nachbildung einer Auswahlanweisung durch Multiplexer


  

Ergebnis der Register-Transfer-Synthese

Die gesamte Case-Anweisung wird durch einen einzigen Multiplexer nachgebildet.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SynthRW1
(versteckt)

Synthesebeschreibung mit arithmetischen Operationen


  
Das Beispiel verwendet die Bibliothek Tuc. Zum Anlegen der Bibliothek wird in ISE auf die Bibliotheksansicht gewechselt, die neue Bibliothek erzeugt und in diese die genutzten Packages eingebunden. Das Fenster mit den Entwurfsquellen muss danach etwa so aussehen.

Ergebnis der Register-Transfer-Synthese

Die Multiplikation wird durch einen Multiplizierer und die Addition durch einen Addierer nachgebildet. In dem Schaltplan, der nach der RT-Synthese angezeigt wird, fehlt die Verbindung von dem Multipliziererausgang zu dem oberen Addierereingang, in der Schaltung ist, wie sich durch Ausprobieren der synthetisierten Schaltung zeigen lässt, diese Verbindung vorhanden.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Simulationsausgabe


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SynthRW2
(versteckt)

Synthesebeschreibung mit arithmetischen Operationen


  
Das Beispiel verwendet die Bibliothek Tuc. Zum Anlegen der Bibliothek wird in ISE auf die Bibliotheksansicht gewechselt, die neue Bibliothek erzeugt und in diese die genutzten Packages eingebunden. Das Fenster mit den Entwurfsquellen muss danach etwa so aussehen.

Ergebnis der Register-Transfer-Synthese

Die if-else-Anweisung wird durch die vier Schaltungsblöcke rechts im Bild, die, wenn man sich den Inhalt anzeigen lässt, jeweils einen 1-Bit-2:1-Multiplexer aus vier Gattern enthalten, nachgebildet. Aus dem Größer-Operator wird der GREATERCONSTANT-Baustein, aus der Addition der Addierer und aus der UND- und der ODER-Verknüpfung je ein Gatter.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Simulationsausgabe


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SynthWTab
(versteckt)

Synthesbeschreibung einer Wertetabelle


  

Ergebnis der Register-Transfer-Synthese

Die Schaltung wird durch eine angedeutete UND-ODER-Verknüpfung nachgebildet.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Simulationsausgabe


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SynthRW2Reg
(versteckt)

Arithmetische, logische und Vergleichoperatoren etc. plus Abtastung


  

Ergebnis der Register-Transfer-Synthese

Der Vergleich und die Addition sind durch Rechenwerke, die beiden logischen Operationen durch logische Gatter, die Fallunterscheidung durch vier Multiplexer und das Abtasten durch ein 4-Bit-Register nachgebildet.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Simulationsausgabe


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:VRZaehler1
(versteckt)

Vorwärts-/Rückwärtszähler


  

Ergebnis der Register-Transfer-Synthese

Die Synthese fasst das Register und die Increment- und die Decrement-Funktion zu einem Vorwärts-/Rückwärtszähler zusammen. Der Steuereingang für die Zählrichtung wird mit dem Signal für Vorwärtszählen und das Freiganesignal für den Zähler praktisch mit der ODER-Verknüpfung der beiden Zählsignale verknüpft. Das

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Simulationsausgabe


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:VRZaehler2
(versteckt)

Funktionsgleicher Vorwärts-/Rückwärtszähler mit geänderter Beschreibungsstruktur


  

Ergebnis der Register-Transfer-Synthese

Die Synthese findet genau wie bei dem Vorwärts-/Rückwärtszähler im Beispiel zuvor einen Zählerbaustein. Der einzige Unterschied zum Ergebnis für die funktionsgleiche Schaltung aus dem Beispiel zuvor ist, dass die ODER-Verknüpfung nicht durch ein UND-Gatter mit Eingabe- und Ausgabeinvertierung, sondern direkt durch ein ODER-Gatter nachgebildet wird.
ENTRY:VarSR
(versteckt)

Vorwärts-/Rückwärtszähler


  

Ergebnis der Register-Transfer-Synthese

Die Beschreibung wir in ein 4-Bit-Schieberegister übersetzt.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:BedVarZuw
(versteckt)

Bedingte Variablenzuweisung in einem Abtastprozess


  

Ergebnis der Register-Transfer-Synthese

Die interne Variable, der nur bedingt ein Wert zugewiesen wird, und die beiden Ausgabesignale werden durch Register nachgebildet. Das Register für y0 übernimmt die EXOR-Verknüpfung des gespeicherten Variablenwertes. Die Schaltung zur Bildung des Eingabesignals für das Register von y1 besteht aus einem Multiplexer und einem EXOR-Gatter. Die Multiplexerschaltung gibt für b=0 den Bitvektor a&c und sonst den Bitvektor a&Q weiter.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Latch
(versteckt)

Simulationsmodell für ein Latch (Abb. 2.21)


  

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:VglLatch
(versteckt)

Simulation des Zeitverhaltens der Latch-Schaltung mit dem Vergleicher zur Bildung des Übernahmesignals (Abb. 2.22)


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:LatchBS
(versteckt)

Blockspeicher aus vier Latches (Abb. 2.23)


  

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:BedVarZuwLatch
(versteckt)

Abtastprozess mit einer bedingten Variablenzuweisung, die auch mit einem Latch nachgebildet werden kann (Abb. 2.24)


  

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

--> ENTRY:MuxCaseLatch
(versteckt)

Unbeabsichtigtes Latch durch eine fehlende Zuweisung in einer Auswahlanweisung


  

Ergebnis der Register-Transfer-Synthese

Die Synthese fügt hinter dem Multiplexer ein Latch ein, das für den Auswahlwert s=11 den den vorherigen Ausgabewert des Multiplexers speichert.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:AfgSynthRegExtr
(versteckt)

Aufgabe 2.1


  

Ergebnis der Register-Transfer-Synthese

Die Synthese fasst die beiden Takte zu einem Bus zusammen und extrahiert eine Schaltung aus insgesamt fünf 8-Bit-Registern. Die Register vom Typ fd übernehmen ihre Eingabedaten mit der steigenden und die Register vom Typ fd_1 mit der fallenden Flanke des jeweiligen Taktes.

Testrahmen


  
ENTRY:AfgSynthALU
(versteckt)

Aufgabe 2.2


  

Ergebnis der Register-Transfer-Synthese

Die vier linken grünen Kästen bilden EXOR-Gatter nach und realisieren eine 4-Bit gesteuerte Negation zur Umschaltung zwischen Addition und Subtraktion. Der Addierer, das bitweise UND und das bitweise ODER sind jeweils zu einem Funktionsblock zusammengefasst. Die vier grünen Blöcke auf der rechten Seite sind die 3:1-Multiplexer für die Ergebnisauswahl.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:AfgSynthVRZ
(versteckt)

Aufgabe 2.3


  

Ergebnis der Register-Transfer-Synthese

Für die Zielfunktion kennt das System einen geeigneten Funktionsblock.

Testrahmen


  

Kommados zum Übersetzen und Ausführen der Simulation


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:xxxxx2
(versteckt)

2.2 Schaltungsvereinfachung auf Basis der Schaltalgebra

2.2.4 KV-Diagramm

2.2.6 Zusammenfassung und Übungsaufgaben

2.5 Addierer

2.5.1 Ripple-Addierer

  • Iterative Beschreibung eines Ripple-Addierers (Abb. 2.81): [RippleAdd.vhdl]

2.5.2 Serieller Addierer

2.5.4 Hierarchischer Addierer

2.6 Weitere Rechenwerke

2.6.5 Dividierer

2.6.9 Zusammenfassung und Übungsaufgaben

Kapitel 2: Synthese und Logikoptimierung

2.1 Register-Transfer-Synthese

Die Synthese erfolgt mit dem Entwurfssystem ISE in folgenden Schritten:
  • Neues Projekt anlegen
  • VHDL-Datei mit "Add Source" einbinden
  • Wenn verwendet, die Bibliothek Tuc anlegen und mit "Add Source" die genutzten Packages einbinden
  • Unter "Processes" "Synthesize - XST" und Entwurfsziel "View RTL Schematic" auswählen und Synthese starten
Um nicht für jedes Beispiel, ein neues Projekt anlegen und die Tuc-Bibliothek neu erzeugen zu müssen, genügt es, die VHDL-Datei im Projekt auszutauschen und die Synthese neu zu starten. Eine detailliertere Anleitung enthält die Praktikumsanleitung des ersten [VHDL-Praktikums.

2.1.2 Kombinatorische Schaltungen

2.1.3 Kombinatorische Schaltungen mit Abtastregistern

2.1.4 Latches

2.1.6 Entwurfsfehler und Fehlervermeidung

2.1.7 Zusammenfassung und Übungsaufgaben

2.2 Schaltungsvereinfachung auf Basis der Schaltalgebra

2.2.4 KV-Diagramm

2.2.6 Zusammenfassung und Übungsaufgaben

2.5 Addierer

2.5.1 Ripple-Addierer

  • Iterative Beschreibung eines Ripple-Addierers (Abb. 2.81): [RippleAdd.vhdl]

2.5.2 Serieller Addierer

2.5.4 Hierarchischer Addierer

2.6 Weitere Rechenwerke

2.6.5 Dividierer

2.6.9 Zusammenfassung und Übungsaufgaben

ENTRY:DialogAdd
(versteckt)

Testrahmen für einen dialogorientierten Test einer 4-Bit-Addition


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Betrag
(versteckt)

Test eine Fallunterscheidung zur Betragsbildung


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:WTab
(versteckt)

Test eine Auswahlanweisung zur Nachbildung einer Wertetabelle


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestWhile
(versteckt)

Test einer While-Schleife


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestFor
(versteckt)

For-Schleife über den Indexbereich eines Bitvektors


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_fWtab
(versteckt)

Package mit der zu testendenen kombinatorischen Beispielfunktion


  

Testrahmen für einen dialogorientierten Test


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_countx
(versteckt)

Package mit der zu testendenen kombinatorischen Beispielfunktion


  

Testrahmen für einen dialogorientierten Test


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestRand
(versteckt)

Package mit der "unreinen" Funktion rand zur Bereistellung von Zufallszahlen


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestW5T
(versteckt)

Package mit der zu testenden Prozedur


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:TestNLProz
(versteckt)

Beschreibung des Testobjekts, der Testeingabebereitstellung und der der Protokollierung der Testergebnisse durch nebenläufige Prozeduren


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Test_Lsg3_1
(versteckt)

Lösung zu Aufgabe 3.1


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Lsg3_2
(versteckt)

Package UP_pack


  

Package Rand_pack


  

Lösungs-Package


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Lsg3_3
(versteckt)

Package UP_pack


  

Package Rand_pack


  

Lösungs-Package


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Lsg3_4
(versteckt)

Package UP_pack


  

Package Rand_pack


  

Lösungs-Package


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:TestApfel
(versteckt)

Testrahmen zu Beispiel 3.2 (Typenverträglichkeit)


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:SkalAttr
(versteckt)

Testrahmen zu Beispiel 3.4 (skalare Attribute)


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Feld
(versteckt)

Testrahmen zu Beispiel 3.5 (Feldattribute)


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestZL
(versteckt)

Testrahmen zu Beispiel 3.5 (Feldattribute)


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Afg_Typenvertraegl
(versteckt)

Aufgabe 3.5


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Afg_ZB_Enum
(versteckt)

Aufgabe 3.6


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Afg_tZustand3SG
(versteckt)

Aufgabe 3.9


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Afg3_10
(versteckt)

Package zu Aufgabe 3.10


  

Testrahmen zu Aufgabe 3.10


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Afg3_11
(versteckt)

Package zu Aufgabe 3.11


  

Testrahmen zu Aufgabe 3.11


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Afg3_12
(versteckt)

Package zu Aufgabe 3.12


  

Testrahmen zu Aufgabe 3.12


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_Afg3_13
(versteckt)

Package zu Aufgabe 3.13


  

Testrahmen zu Aufgabe 3.13


  

Daten zu Aufgabe 3.13


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_PEncFkt
(versteckt)

Package mit der Prioritätsencoderfunktion


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_MemOOP
(versteckt)

objektorientiertes RAM-Modell


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:Test_RAM
(versteckt)

Kernfunktion eines Schreib-Lese-Speichers als Prozedur


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:Test_ROM
(versteckt)

Initialisierungsfunktion für nur lesbare Blockspeicher


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Initialisierungsdaten


  
ENTRY:Test_FIFO
(versteckt)

objektorientiertes FIFO-Modell


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestUART1
(versteckt)

ablauforientierte Beschreibung mit Wartezeiten


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:TestUART2
(versteckt)

ablauforientierte taktsynchronen Beschreibung


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Textausgabe der Signale


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:TestUART3
(versteckt)

ablauforientierte taktsynchronen Beschreibung


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:cordic1
(versteckt)

Verhaltensmodell zur Kontrolle des Algorithmus


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:cordic2
(versteckt)

Verhaltensmodell mit einem Festkommaformat für die Wertedarstellung


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:cordic3
(versteckt)

Verhaltensmodell mit Festkommazahlen und seqentieller Multiplikation


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestAfgCount1
(versteckt)

Aufgabe 3.14


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:MVTestSeg7
(versteckt)

Package für einen Pseudo-Zufallstest mit Mehrversionsvergleich


  

Zwei Beschreibungsversionen des 7-Segment-Decoders


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:SollIstTest
(versteckt)

Package für den Test mit Eingangen und Soll-Ausgaben aus einer Datei


  

Beschreibungsversionen des 7-Segment-Decoders


  

Testrahmen


  

Testeingaben und Sollausgaben


  

Hilfe zum Übersetzen und Ausführen


  

Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

ENTRY:SpecTest
(versteckt)

Package für einen Spezifikationstest für die Steuerung einer Fussgängerampel


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  
ENTRY:TestGenSin
(versteckt)

Aufgabe 3.18 (Sinusgenerator)


  

Testrahmen


  

Hilfe zum Übersetzen und Ausführen


  

Kapitel 3: VHDL im Detail

3.1 Imperative Beschreibungsmittel

3.1.2 Fallunterscheidungen

3.1.3 Schleifen

3.1.4 Funktionen

3.1.5 Unreine Funktionen und globale Variablen

3.1.7 Prozeduren

3.1.8 Nebenläufige Prozeduraufrufe

3.1.9 Zusammenfassung und Übungsaufgaben

3.2 Anwendungsspezifische Datentypen

3.2.1 Zahlentypen

  • Testrahmen zu Beispiel 3.2 (Typenverträglichkeit)
  • 3.2.4 Attribute von elementaren Datentypen

    3.2.5 Felder

    3.2.6 Zuordnungslisten für Feldelemente

    3.2.9 Zusammenfassung und Übungsaufgaben

    3.3 Ein- und Ausgabe

    3.3.4 Zusammenfassung und Übungsaufgaben

    3.4 Beschreibungsschablonen für digitale Schaltungen

    3.4.1 Auslagerung kombinatorischer Funktionen in Packages

    3.4.3 Blockspeicher

    3.4.4 Ein objektorientiertes FIFO-Modell

    3.4.5 Schrittweise Modellentwicklung -- Beispiel UART

    3.4.6 Entwicklung eines CORDIC-Rechenwerks

    ENTRY:ExportCordic

    3.4.7 Zusammenfassung und Übungsaufgaben

    3.5 Funktionsbausteine für den Testrahmen

    3.5.1 Pseudo-Zufallstest und Mehrversionsvergleich

    3.5.2 Vorab berechnete Eingaben und Soll-Werte

    3.5.3 Spezifikationstest

    3.5.4 Zusammenfassung und Übungsaufgaben

    Kapitel 4: Vom Transistor zur Schaltung

    4.1 Entwurf und Modellierung von CMOS-Gattern

    4.1.3 Signale mit mehreren Quellen und der Typ std_logic

    4.1.9 Zusammenfassung und Übungsaufgaben

    4.2 Zeitverhalten

    4.2.1 Zeitdiskrete Simulation

    4.2.5 Simulation mit geschalteten Transistorbreiten

    4.3 Speicherzellen, Latches und Register

    4.3.6 Taktversorgung

    4.4 Schreib-Lese-Speicher

    4.4.1 SRAM

    4.4.3 Assoziativspeicher

    ENTRY:Test_FIR1
    (versteckt)

    Erstes Simulationsmodell für einen FIR-Filter

    
      
    
      
    
      

    Hilfe zum Übersetzen und Ausführen

    
      

    Textausgaben während der Simulation

    
      

    Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

    ENTRY:Test_FIR2
    (versteckt)

    Ersatz der Zahlentypen des FIR-Filters durch Bitvektoren und Ein- und Ausgabe über Signale

    
      
    
      
    
      

    Hilfe zum Übersetzen und Ausführen

    
      

    Textausgaben während der Simulation

    
      

    Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

    ENTRY:POI_pack
    (versteckt)

    Points-of-Interest-Berechnung

    
      
    ENTRY:Test_ALU
    (versteckt)

    Test des Rechenwerks

    
      
    
      
    
      

    Hilfe zum Übersetzen und Ausführen

    
      

    Textausgaben während der Simulation

    
      
    ENTRY:Test_Sprungbedingung
    (versteckt)

    Test der Funktion zur Prüfung Sprungbedingungen

    
      
    
      
    
      

    Hilfe zum Übersetzen und Ausführen

    
      

    Textausgaben während der Simulation

    
      
    ENTRY:Test_RISC
    (versteckt)

    Test des gesamten Funtionsmodells des RISC-Prozessors

    
      
    
      
    
      

    Hilfe zum Übersetzen und Ausführen

    
      

    Textausgaben während der Simulation

    
      

    Signalverläufe mit GTKWAVE und der Sav-Datei aus dem Archiv

    Kapitel 5: Komplexe Beispielentwürfe

    5.2 FIR-Filter mit Blockspeichern

    5.3 Points-of-Interest-Berechnung

    5.4 Entwurf eines RISC-Prozessors

    Kapitel 6: Lösungen zu den Übungsaufgaben

    1.3.5 Zusammenfassung und Übungsaufgaben

    1.4 Register

    1.4.6 Zusammenfassung und Übungsaufgaben

    1.5.5 Zusammenfassung und Übungsaufgaben

    1.6.7 Zusammenfassung und Übungsaufgaben


    Autor: gkemnitz, Letzte Änderung: 09.04.2024 17:10:43


     TU Clausthal 2020  Impressum