180 likes | 287 Views
Tutorium Tech II. Daniel Betz Wintersemester 2011/12. wait -Ausdrücke wait – Prozess wird deaktiviert wait for 10ns – Prozess wartet 10ns wait on a, b – Prozess wartet auf Änderung in a oder b wait until a = '1' – Prozess wartet Bedingung – impliziert wait on a until a = '1'
E N D
Tutorium Tech II Daniel BetzWintersemester 2011/12
wait-Ausdrücke • wait – Prozess wird deaktiviert • waitfor10ns– Prozess wartet 10ns • wait on a, b – Prozess wartet auf Änderung in a oder b • waituntil a = '1' – Prozess wartet Bedingung – impliziert wait on a until a = '1' • Im Prinzip beliebig kombinierbar • if … then … [elsif… then]… [else …]end if; WiederholungSequentielles VHDL Daniel Betz • daniel.betz@daniel-betz.com
case-Ausdrücke • Im Prinzip die bedingte Anweisung für sequentielles VHDL • Achtung: Alles verdreht • Funktioniert natürlich auch mit std_logicund std_logic_vector • Im Digitallabor eher unbeliebt • loop-Schleife • Unendliche Schleife bis exit • Schleifen können benannt werden zum gezielten Beenden in verschachtelten Schleifen • Wichtig für Testbenches WiederholungSequentielles VHDL Daniel Betz • daniel.betz@daniel-betz.com
for-Schleife • Bereich mit downto oder to • while-Schleife • Funktioniert wie gewohnt • Hat mit next auch ein continue-Äquivalent WiederholungSequentielles VHDL Daniel Betz • daniel.betz@daniel-betz.com
Aufgaben Unverändert aus Klausuren Daniel Betz • daniel.betz@daniel-betz.com
Ich_bin_richtig! • Register • 10_Bit_Addierer • SehrKomisch • Was-fehlt-hier VHDL-BezeichnerSS06 Daniel Betz • daniel.betz@daniel-betz.com
entity UND2 is Port (a, b : in std_logic; y : out std_logic);end; • Gegeben: • Modell von UND2 • Aufgabe: • Vollständiges strukturelles VHDL-Modell von UND6 • Eingang: 6-Bit-Vektor • Teilaufgaben: • Skizze • Modell schreiben UND6 Ein aus 6 Strukturelles VHDLSS06 Daniel Betz • daniel.betz@daniel-betz.com
Aufgabe: • 32 Bit breites Register, das Wörter rotiert • Asynchroner bei Reset = 0 • Fun: Funktionsauswahl • 00: Nichts tun • 01: Rechts rotieren • 10: Links rotieren • 11: Dateneingang laden • Kleine Abkürzung hier: ror, rol Takt rot32 Reset Q D 32 32 Fun 2 RotationsregisterSS06 Daniel Betz • daniel.betz@daniel-betz.com
Komplettieren Sie folgenden SatzSequentielle Statements sind VHDL ausschließlich zulässig … Satz komplettieren Daniel Betz • daniel.betz@daniel-betz.com
Gegeben: Prozesse, Signalverläufe A und B • Gefragt: Signalverläufe C, D und E A B Signalverläufe / VHDL "ausführen"WS06/07 Daniel Betz • daniel.betz@daniel-betz.com
Aufgabe: • Vollständiges VHDL-Modell für ein T-Flipflop • Schalten bei positiver Taktflanke • Asynchroner Reset bei 1 • Bonusaufgabe: • Vollständiges VHDL-Modell für UND2 T_FF Takt Reset Q T T-FlipflopWS06/07 Daniel Betz • daniel.betz@daniel-betz.com
Aufgabe: • Zunächst: Skizze • Vollständiges Strukturmodell • Asynchroner Reset bei 1 CNT_8 Takt Q(2..0) Reset 3-Bit-Zähler StrukturWS06/07 Daniel Betz • daniel.betz@daniel-betz.com
Gegeben: Prozesse, Signalverläufe A und B • Gefragt: Signalverläufe C, D und E A B SignalverläufeSS07 Daniel Betz • daniel.betz@daniel-betz.com
Welches sind die drei hauptsächlichen Varianten eines VHDL-Modells? • Außenansicht:entitysimpel isPort (a, b, c : INstd_logic; y : OUTstd_logic);end simpel; VHDL ModellvariantenSS07 Daniel Betz • daniel.betz@daniel-betz.com
Aufgabe • Ein Register mit zwei Dateneingängen • Auswahl mit Sel2 • Schalten bei negativer Taktflanke • Asynchroner Reset bei 1 Takt DPD Reset Sel2 Q(7..0) D1(7..0) D2(7..0) Dual Port RAMSS07 Daniel Betz • daniel.betz@daniel-betz.com
Aufgabe • 4-Bit-Zähler • Ladefunktion • Laden bei 1 • Asynchroner Reset bei 0 Takt CNT_4 Reset Q(3..0) Lade D(3..0) 4-Bit-Zähler mit Ladefkt.WS07/08 Daniel Betz • daniel.betz@daniel-betz.com
Gegeben: Prozesse, Signalverläufe A und B • Gefragt: Signalverläufe C, D und E A B SignalverläufeWS07/08 Daniel Betz • daniel.betz@daniel-betz.com
Danke für die Aufmerksamkeit Bis nächste Woche! Daniel Betz • daniel.betz@daniel-betz.com