Kapitel 2: Synthese und Logikoptimierung
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].
Kombinatorische Schaltungen
- Gatterschaltung (P2.1/Extr_LS.vhdl)
- Nachbildung einer If-Elsif-Anweisung durch Multiplexer (P2.1/SynthMux2.vhdl)
- Nachbildung einer Auswahlanweisung durch Multiplexer (P2.1/SynthCase.vhdl)
- Synthesebeschreibung mit arithmetischen Operationen (P2.1/SynthRW1.vhdl)
- Synthesbeschreibung mit arithmetischen, logischen und Vergleichoperatoren sowie mit Fallunterscheidung (P2.1/SynthRW2.vhdl)
- Synthesbeschreibung einer Wertetabelle (P2.1/SynthWTab.vhdl)
Kombinatorische Schaltungen mit Abtastregistern
- Arithmetische, logische und Vergleichoperatoren etc. plus Abtastung (P2.1/SynthRW2Reg.vhdl)
- Vorwärts-/Rückwärtszähler (P2.1/VRZaehler1.vhdl)
- Geänderte Zählerbeschreibung, bei der die Synthese ein Register mit Freigabeeingang finden soll (P2.1/VRZaehler2.vhdl)
- Schieberegister mit Variablen (P2.1/VarSR.vhdl)
- Bedingte Variablenzuweisung in einem Abtastprozess (P2.1/BedVarZuw.vhdl)
Latches
- Simulationsmodell für ein Latch (Abb. 2.21, P2.1/Latch.vhdl)
- Simulation des Zeitverhaltens der Latch-Schaltung mit dem Vergleicher zur Bildung des Übernahmesignals (Abb. 2.22, P2.1/VglLatch.vhdl)
- Blockspeicher aus vier Latches (Abb. 2.23, P2.1/LatchBS.vhdl)
- Abtastprozess mit einer bedingten Variablenzuweisung, die auch mit einem Latch nachgebildet werden kann (Abb. 2.24, P2.1/BedVarZuwLatch.vhdl)
Entwurfsfehler und Fehlervermeidung
Zusammenfassung und Übungsaufgaben
- Aufgabe 2.1: P2.1/AfgSynthRegExtr.vhdl)
- Aufgabe 2.2: P2.1/AfgSynthALU.vhdl)
- Aufgabe 2.3: P2.1/AfgSynthVRZ.vhdl)
- Aufgabe 2.4: [AfgSerParit.vhdl]
- Aufgabe 2.5: [AfgSynthAutomat.vhdl]
- Aufgabe 2.6: [AfgSynthALU2.vhdl]