Aufgabe 1 Aufgabe 1: Mikroelektronische Grundlagen & CMOS-Inverter (25 Punkte) CMOS Grundlagen 1.1 a) Zeichnen Sie die Schaltsymbole für den n-Kanal- und den p-Kanal-MOSFET (metal oxide semiconductor field-effect transistor ) in Abb. 1.1. b) Zeichnen Sie qualitativ eine Ausgangkennlinie in Abb. 1.2 (mit Achsenbeschriftung!). Abb. 1.1: Schaltsymbole für n-Kanal- und p-Kanal-MOSFET Abb. 1.2: Qualitative Ausgangkennlinie des MOSFETs Integrierte Digitalschaltungen H08 - Seite 1 von 15 Aufgabe 1 1.2 CMOS (Complementary Metal Oxide Semiconductor) Schaltungen bestehen üblicherweise aus zwei Teilfunktionen (ein sogenanntes Pull-up-Netzwerk und ein sogenanntes Pull-down-Netzwerk) wie in Abb. 1.3. a) Bezeichnen Sie die Transistortypen (PMOS oder NMOS) für jede Teilfunktion in Abb. 1.3 b) Verbinden Sie die zwei Teilfunktionen in Abb. 1.3 zu einer CMOS-Schaltung. Verwenden Sie dafür folgende Anschlüsse (Vcc, GND, Input, Output). Pull-up-Netzwerk ___MOS Pull-down-Netzwerk ___MOS Abb. 1.3: CMOS Schaltung 1.3 Welchen Vorteil hat ein Transmission Gate gegenüber einem Pass-Transistor? Integrierte Digitalschaltungen H08 - Seite 2 von 15 Aufgabe 1 CMOS-Inverter 1.4 Skizzieren Sie das Schaltbild des CMOS-Inverters auf Transistorebene. Geben Sie auch die Wahrheitstabelle an. 1.5 Ergänzen Sie den Querschnitt des CMOS-Inverters in Abb. 1.4. Geben sie die Dotierungen (n, p, n+, p+) an und beschriften Sie alle Anschlüsse (G, D, S, UDD , USS , UE , UA ). p-Substrat -kanal -kanal Abb. 1.4: CMOS-Inverter Querschnitt 1.6 Die Kenndaten eines Inverters sind wie folgt gegeben: Versorgungsspannung: Schwellenspannungen: Eingangskapazität des Inverters: eff. wirksame Ausgangskapazität des Inverters: Transistorkenngröße: Lastkapazität: UDD Uth,n Cein Caus kn CFO = 1.0 V = −Uth,p = 0.4 V = 4.5 fF = 3 fF = kp = 2 mA V2 = 45 fF a) Der Inverter treibt nun die Lastkapazität CL = Caus + CFO . Berechnen Sie die Verzögerungszeit tp ! Integrierte Digitalschaltungen H08 - Seite 3 von 15 Aufgabe 1 Zur Reduzierung der Verzögerungszeit wird ein zusätzlicher Inverter entsprechend Abb. 1.5 eingefügt, dessen Transistorweiten um den Faktor α skaliert sind. C FO 1 α Abb. 1.5: Inverterkette zum Treiben von CFO b) Geben Sie die Verzögerungszeit des 1. Inverters tp1 in Abhängigkeit von α an! c) Geben Sie die Verzögerungszeit des 2. Inverters tp2 in Abhängigkeit von α an! d) Dimensionieren Sie α so, dass die gesamte Verzögerungszeit minimiert wird (Extremwertproblem)! Geben Sie tp der Gesamtschaltung an! Integrierte Digitalschaltungen H08 - Seite 4 von 15 Aufgabe 2 Aufgabe 2: CMOS-Logik (25 Punkte) Die Aufgaben punkte 2.1 und 2.2 können unabhängig voneinander gelöst werden. 2.1 In Abb. 2.1 a) ist ein Schaltbild auf Transistorebene dargestellt. Die Funktion, die diese Schaltung erfült, ist in Abb. 2.1 b) gegeben. Abb. 2.1: Schaltbild und Wahrheitstabelle a) Wie wird die Schaltungstechnik in 2.1 a) genannt? b) Bestimmen Sie die Funktionsgleichung Q = f(A, B, C)! c) Bestimmen Sie Q für C = 0 und C = 1. Wie wird die Funktion diese Schaltung genannt? d) Ergänzen Sie die Wahrheitstabelle in 2.1 b)! e) Bestimmen Sie die Funktionsgleichung Q = f(A,B,C)! Hinweis: XY + XZ + YZ = XY + XZ f) Zeichnen Sie ein die Funktion in DCVSL Technik auf Transistorebene! Integrierte Digitalschaltungen H08 - Seite 5 von 15 Aufgabe 2 2.2 Gegeben ist die CMOS-Logik Schaltung in Abbildung 2.2. Bei der Berechnung der Umladezeiten gelten für den Transistoren folgende Beziehungen: CL = 25 fF CGS,n = CGD,n = CDB,n = CSB,n = CGS,p = CGD,p = CDB,p = CSB,p = 1 C 2 ox,n 1 C 2 ox,p Rp = Rn = 350 Ω a) Bestimmen Sie die Funktionsgleichung Q = f(A, B, C, D)! b) Zeichnen Sie einen möglichen Pfad für den ungünstigsten Entladenvorgang von Q ein! Begründen Sie Ihre antwort! c) Welche logischen Pegel liegen an den Knoten Q, K1, K2 und K3 für den Zustand ((ABCD) = (1101)) und ((ABCD) = (0011)) an? d) Zeichnen Sie das RC-Baumdiagramm für den Schaltzustand (0011)! e) Geben Sie die effektiv wirksamen Kapayitäten CQ , CK1 , CK2 und CK3 and den Knoten Q, K1, K2, K3 als Funktion von Cox,p,n und CL an, die bei einem Zustadwechsel von (1101) auf (0011) umbeladen werden. Hinweis: Berücksichtigen Sie den Miller-Effekt! f) Berechnen Sie die AnstiegsZeit tr für den Zustandswechsel aus Aufgabenteil 2.1 e) mit Hilfe der Elmore-Gleichung Cox,p = 3 · Cox,n = 6 fF! Das pull-up Netzwerk aus Abbildung 2.2 wird nun durch einen PMOS-Transistor ersetzt. g) Wie wird diese Schaltungstechnik gennant? h) Geben Sie einen Vorteil und einen Nachteil dieser Technik hat gegenüber CMOSLogik an! Integrierte Digitalschaltungen H08 - Seite 6 von 15 Aufgabe 2 VDD = 1.5 V A C B D A K1 D Q K2 C A A D B CL GND K3 D GND Abb. 2.2: Schaltbild Integrierte Digitalschaltungen H08 - Seite 7 von 15 Aufgabe 3 Aufgabe 3: Schaltwerke und Speicher (25 Punkte) 3.1 In diesem Aufgabenpunkt wird ein Grundbaustein von Schaltwerken näher betrachtet: das Flip-Flop (FF). a) Beschreiben Sie die Flip-Flop Zeitparameter tsu , thold und tc−q ! b) Zeichnen Sie in Abb. 3.1 ein Flip-Flop auf Transistorebene in Clocked CMOS Technik! Abb. 3.1: Clocked CMOS Flip-Flop c) Welches Problem, das beim statischen CMOS FF existiert, ist mit dem Clocked CMOS FF gelöst? Begründen Sie Ihre Antwort! d) Flip-Flops werden in digitalen Schaltungen beim Pipelining eingesetzt. Was ist der Vorteil vom Pipelining? e) Die Schaltung in Abb. 3.2 verwendet drei 4-bit Register für das Pipelining. Wie viele Pipeliningstufen hat diese Schaltung? Integrierte Digitalschaltungen H08 - Seite 8 von 15 VDD D S R 0 0 0 1 1 0 1 1 Q Q Aufgabe 3 Q f) Die Schaltung unterstützt eine Bitrate von 500 Mbit/s. Berechnen Sie die Taktperiode in diesem Fall! g) Die Zeitparameter der Register und die Verarbeitungszeiten der Logikelemente L1 bis L6 aus Abb. 3.2 sind nun wie folgt gegeben: tsu = 0,6 ns th = 0,2 ns tc−q = 0,3 ns L1 = 2 ns L2 = 4 ns L3 = 1 ns L4 = 1 ns L5 = 1 ns L6 = 2 ns Berechnen Sie die maximale Frequenz der Schaltung! L1 L3 L6 Y X 4 L3 L2 L4 L5 4 ClK Abb. 3.2: Schaltbild h) Berechnen Sie die dynamische Verlustleistung, wenn die Schaltung eine durchschnittliche Kapazität von 2 pF und eine Versorgungsspannung UDD = 3 V hat. Die Schaltung wird mit einer Frequenz von 126,5 MHz betrieben. Die Schaltwahrscheinlichkeit der Gatter beträgt 0,5. i) Nun soll durch die Einführung einer neuen Pipeliningstufe die Frequenz der Schaltung maximiert werden. Wo muss das Register eingefügt werden? Was ist die resultierende Betriebsfrequenz? Integrierte Digitalschaltungen H08 - Seite 9 von 15 Aufgabe 3 3.2 Dieser Augabenpunkt beschäftigt sich mit verschiedenen Speicherarten. a) Wie erhält ein Nur-Lese-Speicher (Read-Only Memory, ROM) seine Information? b) Warum muss beim Entwurf einer SRAM-Zelle die sogenannte Cell-Ratio CR und Pull-UP-Ratio PR berücksichtigt werden? c) Geben Sie den Hauptvorteil des DRAMs gegenüber des SRAMs an! 3.3 Gegeben ist nun in die Abb. 3.3 dargestellte Speicherarchitektur mit einem 4x4 Bit DRAM-Zellenfeld. Die Address-Bits A0 bis A4 wählt eine Zelle zum Lesen oder Schreiben. Cs GND Abb. 3.3: Speicherarchitektur a) Was für ein Funktionsblock wird neben einem Zeilen- und Spaltendekoder zum Auslesen einer DRAM-Zelle sonst noch benötigt und ist in der Abb. 3.3 nicht explizit eingezeichnet? b) Bestimmen Sie die Funktionen WL0 = f(A0 , A1 ) bis WL3 = f(A0 , A1 )! c) Zeichnen Sie die DRAM Zelle in Abb. 3.3 d) Es soll eine auf CS gespeicherte logische ’1’ (US = UDD ) ausgelesen werden. Dazu wird vor der Auswahl der Zelle die zum Auslesen verwendete Leitung vorgeladen. Aufgrund von Fertigungstoleranzen geschieht die Vorladung allerdings nur auf 0,4 · UDD statt auf 0,5 · UDD . Die Leitungskapazität beträgt CLtg = 500 fF. Dimensionieren Sie die Speicherkapazität CS nun so, dass das Potential der Leitung beim Auslesen auf 0,6 · UDD ansteigt und somit eine sichere Detektion der logischen ’1’ ermöglicht! Integrierte Digitalschaltungen H08 - Seite 10 von 15 Aufgabe 3 e) Dynamische RAM-Zellen besitzen den Nachteil, dass die Speicherkapazitäten durch Leckströme entladen werden. Berechnen Sie für einen Leckstrom von ILeck = 5 pA das Zeitintervall ∆t, nach dem der Zelleninhalt spätestens erneuert werden muss (Refresh), d.h. US = UDD = 3,3 V auf US = 2/3 · UDD gesunken ist. Hinweis: Falls Sie die Speicherkapazität CS nicht berechnet haben, können Sie den Wert CS = 300 fF verwenden. f) Angenommen der Spaltendekoder besteht aus 8 Transistoren und der Zeilendekoder aus der doppelten Anzahl. Wie hoch ist der Kontroll-Aufwand (in Prozent) in diesem Speicher? Integrierte Digitalschaltungen H08 - Seite 11 von 15 Aufgabe 4 Aufgabe 4: VHDL und Hochintegration (20 Punkte) 4.1 Kreuzen Sie zutreffendes an (falsch gesetzte Kreuze führen zu Punktabzug): WAHR FALSCH VHDL ist eine Sprache zur Beschreibung digitaler Schaltungen. VHDL steht für Verified Hardware Description Language. ”Synthese” ist die Übersetzung einer VHDL-Beschreibung in eine Netzliste, die die Struktur der Hardware beschreibt. Bei dem Datentyp std_logic steht das ’Z’ für ”Hochohmig” und das ’U’ für ”Niederohmig”. In VHDL können alle synthetisierbaren Designs auch simuliert werden. SystemC ist eine C++-Klassenbibliothek plus Simulationskernel zur Beschreibung von Hardware. Eine VHDL-Beschreibung besitzt immer eine Entity. Eine architecture besitzt maximal einen Prozess. Das Einbinden von Komponenten ist ein wesentliches Merkmal der Verhaltensbeschreibung. Eine Verhaltensbeschreibung wird ausschließlich bei der Erstellung einer Testbench verwendet. Der Datentyp std_logic besitzt mehr Zustände als der Datentyp bit und eignet sich daher besser zur Modellierung elektronischer Schaltungen. Das Schlüsselwort generic kann in der entity zum Erzeugen von parametrisierten Komponenten verwendet werden. Integrierte Digitalschaltungen H08 - Seite 12 von 15 Aufgabe 4 4.2 Geben Sie für die folgenden VHDL-Code-Ausschnitte das Ergebnis für das Signal d an: a) architecture verhalten of logik is signal a, b, c : std_logic; begin a <= ’1’; b <= ’0’; c <= ’1’; d <= (a xor b) and c; end verhalten; Antwort: d = b) architecture verhalten of logik is signal a, b, c : std_logic; begin c <= ’0’; b <= not(a); a <= c; d <= not(b); end verhalten; Antwort: d = c) architecture verhalten of logik is signal a, b, c : std_logic; begin a <= ’1’; b <= ’0’; c <= a xor b; process (a,b,c) begin if (a =b) then d <= c; elsif (a = c) then d <= not(b); else d <= not(a); end if; end process; end verhalten; Antwort: d = Integrierte Digitalschaltungen H08 - Seite 13 von 15 Aufgabe 4 4.3 Gegeben ist die folgende VHDL-Beschreibung mit dem Ausgangsport d. Der Initialwert des Signals a ist ’U’. Lesen Sie den Code sorgfältig und kreuzen Sie zutreffendes an (falsch gesetzte Kreuze führen zu Punktabzug): Hinweis: Beachten Sie, dass es sich bei a um ein Signal und nicht um eine Variable handelt! architecture verhalten of logik is signal a : std_logic; begin process (a) begin a <= ’1’; if (a = ’1’) then d <= ’0’; else a <= ’0’; d <= ’1’; end if; end process; WAHR FALSCH Wenn der Code ausgeführt wird, ist die Abfrage if (a = ’1’) wahr. Wenn der Code ausgeführt wird, ist der endgültige Wert des Signals a eine logische ’0’. Wenn der Code ausgeführt wird, ist der endgültige Wert des Ausgangs d eine logische ’1’. 4.4 In einem Fahrzeug-Kontrollsystem gibt es vier Sensoren A, B, C und D, die die korrekte Funktion oder eine Fehlfunktion von vier elektronischen Modulen anzeigen. Wenn ein Modul korrekt arbeitet, gibt der Sensor eine logische ’0’ aus und eine logische ’1’, wenn das Modul fehlerhaft ist. Sie modellieren nun einen Teil des Kontrollsystems, das die vier Sensoren überwacht und drei Ausgangssignale generiert. Das erste Signal OK soll logisch ’1’ sein, wenn keines der Module fehlerhaft ist. Das zweite Signal FAULT soll logisch ’1’ sein, wenn eins oder mehre Module fehlerhaft sind. Das dritte Signal FAILURE soll logisch ’1’ sein, wenn alle Module fehlerhaft sind. Integrierte Digitalschaltungen H08 - Seite 14 von 15 Aufgabe 4 a) Geben Sie die entity für den oben beschriebenen Teil des Kontrollsystems an. entity CarControl is end CarControl; b) Geben Sie die architecture in Datenflussbeschreibung für den oben beschriebenen Teil des Kontrollsystems an. architecture verhalten of CarControl is begin end verhalten; Integrierte Digitalschaltungen H08 - Seite 15 von 15 Aufgabe 1 Aufgabe 1: Mikroelektronische Grundlagen & CMOS-Inverter (25 Punkte) CMOS Grundlagen 1.1 a) siehe Abb.1.1. b) siehe Abb.1.2. Abb. 1.1: Schaltsymbole für n-Type und p-Type von MOS-FET Abb. 1.2: Qualitativ Ausgangkennlinie Integrierte Digitalschaltungen H08 - Seite 1 von 13 Aufgabe 1 1.2 a) siehe Abb.1.3. b) siehe Abb.1.3. Vcc Pull-up-Netzwerk (nur PMOS) Output Input Pull-down-Netzwerk (nur NMOS) GND Abb. 1.3: CMOS Shaltung 1.3 Mit einem Transmission Gate können sowohl die logische 1 als auch die logische 0 ohne Schwellenspannungsverluste übertragen werden. Integrierte Digitalschaltungen H08 - Seite 2 von 13 Aufgabe 1 CMOS-Inverter 1.4 siehe Abb.1.4 Abb. 1.4: Schaltbild eines CMOS-Inverters auf Transistorebene und die Wahrheitstabelle 1.5 siehe Abb.1.5 Sp(UDD) p+ Gp(UE) Dp(UA) p+ Dn(UA) Gn(UE) n+ Sn(GND) n+ p-Substrat n -kanal p -kanal Abb. 1.5: CMOS-Inverter Querschnitt Integrierte Digitalschaltungen H08 - Seite 3 von 13 Aufgabe 1 1.6 a) 1 = 833 Ω k(UDD − Uth,n ) = 0,69Req (Caus + CFO ) = 27,6 ps Req = tp b) tp1 = 0,69 · Req (Caus + α · Cein ) c) tp2 = 0,69 · Req (αCaus + CFO ) α d) tp = 0,69 · Req (αCein + 2Caus + CFO ) α dtp CFO = 0,69 · Req (Cein − 2 ) = 0 dα α s CFO = 3,16 α = Cein ⇒ tp = 19,8 ps Integrierte Digitalschaltungen H08 - Seite 4 von 13 Aufgabe 2 Aufgabe 2: CMOS-Logik (25 Punkte) 2.1 a) Pass-Transistor Logik b) Q = (A · C + BC) c) Wenn C = 0, Q = A Wenn C = 1, Q = B Die Funktion ist 1-bit Multiplexer d) Siehe Abb. 2.1 a) e) Siehe Abb. 2.1 b) Abb. 2.1: Wahrheitstabelle und DCVSL Schaltung 2.2 a) Q = (C + B + A · D)(A + D) Q = A·C+A·B+A·D+C·D+B·D b) Tn,C → Tn,A → Tn,B → GND Oder: Tn,C → Tn,D → Tn,B → GND Grund: weil die gesamte resistance Größeste ist. c) Siehe Abb. 2.2 a) (ABCD)=(1101) : Q = 0, K1 = 1, K2 = 0 und K3 = 0 (ABCD)=(0011) : Q = 1, K1 = 1, K2 = 1 und K3 = 1 Integrierte Digitalschaltungen H08 - Seite 5 von 13 Aufgabe 2 d) Siehe Abb. 2.2 b) e) CK1 CK2 CK3 CQ = = = = = = CGD,pC + CGD,pB + CGS,pA 3 · 0,5 Cox,p = 1,5 Cox,p CSB,nC + 2 · CGD,nA + CDB,nA + CGD,nD + CDB,nD = 3 Cox,n (2 · CGS,nA + CSB,nA ) + (CGS,nD + CSB,nD ) + (2 · CGD,nB + CDB,nB ) 4 · Cox,n (2 · CGD,pA + CDB,pA ) + (CGD,pD + CDB,pD ) + (CDB,nC + 2 · CGD,nA + CDB,nA ) + CL = 5 · 0,5 Cox,p + 4 · 0,5 Cox,n + CL = 2,5 Cox,p + 2 Cox,n + CL f) CK1 CK2 CK3 CQ tr = = = ≈ 13,5 fF 9 fF 8 fF 53,5 fF = = = = 2,2 · τp 2,2 · [CK1 · Rp,B + (Rp,B + Rp,A ) · (CQ + CK2 + CK3 )] 2,2 · [13,5 fF · 350 Ω + 70,5 fF · 700 Ω] 119 ps g) Pseudo NMOS-Logik h) Vorteil gegenüber CMOS: geringerer Bedarf an Chip Fläche Nachteil gegenüber CMOS: Statische Verlustleistung VDD VDD = 1.5 V 1 0 Rp,B A 01 10 C B 11 D Ck1 Rp,A 10 1 1 A D 0 1 K1 1 1 Q 0 1 CL K2 C 10 A 1 0 GND 0 1 Q CL Rn,C GND 1 1 A D 10 B GND 0 1 Ck2 Rn,D 11 K3 D GND Ck3 GND GND a) b) Abb. 2.2: Schaltbild Integrierte Digitalschaltungen H08 - Seite 6 von 13 Aufgabe 3 Aufgabe 3: Schaltwerke und Speicher (25 Punkte) 3.1 a) tsu (Set-up-Zeit): Daten müssen vor dem Erscheinen der Takflanke bereits anliegen. thold (Haltezeit): Daten müssen auch nach dem Erscheinen der Takflanke anliegen. tc−q (Verzögerungszeit): Die richtige Übernahme erfolgt mit der Verzögerungszeit relativ zur positiven Taktflanke. b) Siehe Abb. 3.1 c) Beim statischen FF führt ein Überlapp von φ und φ̄ zur vollständigen Transparenz: Eingang D ist direkt mit Ausgang Q verbunden. d) Mit Pipelining kann der Durchsatz erhöht werden. e) zwei CL CL Abb. 3.1: Clocked CMOS Flip-Flop f) Frequenz = 5004Mbit/s = 125 MHz bit Tclk = 1/(125 MHz) = 8 ns g) Tclk ≥ tc−q + Tlogik + tsu Tclk,min = 0,9 ns + Tlogik,critical = 0,9 ns + (L1 + L2 ) Tclk,min = 0,9 ns + 6 ns = 6,9 ns d.h. fmax = 1/(6,9 ns) = 144,9 MHz Integrierte Digitalschaltungen H08 - Seite 7 von 13 Aufgabe 3 h) P = α · C · f · U2 P = 0,5 · 2 pF · 126,5 MHz · 32 P = 1,14 mW i) Um die maximale Frequenz zu erreichen, muss das neue Register (R4) zwischen L1 und L2 platziert werden, wodurch Tlogik,critical minimiert wird. ⇒ Tlogik,critical = L2 = 4 ns und fmax = 1/(tc−q + Tlogik,critical + tsu ) = 1/(4,9 ns) = 204 MHz 3.2 a) Maskenprogrammierung bei der Fertigung, z.B. durch Kurzschluss von Transistoren durch Metallisierung. b) Damit der logische Wert der Zelle beim Auslesen nicht “umkippen” kann bzw. damit der Zelle beim Schreibvorgang ein neuer Logikwert eingeprägt werden kann. c) DRAM benötigt weniger Chip-Fläche als SRAM. 3.3 a) Es wird noch ein Lese-(Schreib)-Verstärker benötigt. b) WL0 WL1 WL2 WL3 = A0 · A1 = A0 · A1 = A0 · A1 = A0 · A1 c) siehe Abb. 3.2 Abb. 3.2: Dynamic RAM Integrierte Digitalschaltungen H08 - Seite 8 von 13 Aufgabe 3 d) Vor dem Auslesen befindet sich auf der Speicherkapazität die Ladung CS · UDD und auf der Leitungskapazität die Ladung CLtg · 0,4 UDD . Beim Auslesen findet ein Ladungsausgleich zwischen den Kapazitäten statt, wobei die Gesamtladung erhalten bleibt: (CS + CLtg ) · ULtg,neu = CS · UDD + CLtg · 0,4 UDD Es soll gelten : ULtg,neu = 0,6 UDD ULtg,neu = CS · UDD + CLtg · 0,4 UDD = 0,6 UDD CS + CLtg CS + CLtg · 0,4 = 0,6 CS + CLtg CS + CLtg · 0,4 = 0,6 · (CS + CLtg ) CS = 0,2/0,4 · CLtg = 250 fF e) ∆t = CS UDD · = 55 ms ILeck 3 wenn Cs = 300 fF, dann ∆t = 66 ms f) Fläche für Kontrollschaltungen (Zeilen- und Spaltendekoder): 8 + 16 = 24 Transistoren Fläche für Speicher: 16 Transistoren ⇒ Kontroll-Aufwand = 24/(16 + 24) = 0,6 = 60% Integrierte Digitalschaltungen H08 - Seite 9 von 13 Aufgabe 4 Aufgabe 4: VHDL und Hochintegration (25 Punkte) 4.1 Kreuzen Sie zutreffendes an (falsch gesetzte Kreuze zu Punktabzug): WAHR N FALSCH VHDL ist eine Sprache zur Beschreibung gigitaler schaltungen. N VHDL steht für Verified Hardware Description Language. N ”Synthese” ist die übersetzung einer VHDL-Beschreibung in eine Netzliste, die die Struktur der Hardware beschreibt. N Bei dem Datentyp std_logic steht das ’Z’ für ”Hochohmig” und das ’U’ für ”Niederohmig”. N In VHDL können alle synthetisierbaren Designs auch simuliert werden. N SystemC ist eine C++-Klassenbibliothek plus Simulationskernel zur Beschreibung von Hardware. N Eine VHDL-Beschreibung besitzt immer eine Entity. N Eine architecture besitzt maximal einen Prozess. N Das Einbinden von Komponenten ist ein wesentliches Merkmal der Verhaltensbeschreibung. N Eine Verhaltensbeschreibung wird ausschließlich bei der Erstellung einer Testbench verwendet. N Der Datentyp std_logic besitzt mehr Zustände als der Datentyp bit und eignet sich daher besser zur Modellierung elektronischer Schaltungen. N Das Schlüsselwort generic kann in der entity zum Erzeugen von parametrisierten Komponenten verwendet werden. Integrierte Digitalschaltungen H08 - Seite 10 von 13 Aufgabe 4 4.2 Geben Sie für die folgenden VHDL-Code-ausschrifte das Ergebnis für das Signal ’d’ an: a) architecture verhalten of logik is signal a, b, c : std_logic; begin a <= ’1’; b <= ’0’; c <= ’1’; d <= (a xor b) and c; end verhalten; Antwort: d = 1 b) architecture verhalten of logik is signal a, b, c : std_logic; begin c <= ’0’; b <= not(a); a <= c; d <= not(b); end verhalten; Antwort: d = 0 c) architecture verhalten of logik is signal a, b, c : std_logic; begin a <= ’1’; b <= ’0’; c <= a xor b; process (a,b,c) begin if (a =b) then d <= c; elsif (a = c) then d <= not(b); else d <= not(a); end if; end process; end verhalten; Antwort: d = 1 Integrierte Digitalschaltungen H08 - Seite 11 von 13 Aufgabe 4 4.3 Gegeben ist die folgende VHDL-Beschreibung mit dem Ausgangsport d. Der Initialwert des Signals a ist ’U’. Lesen Sie den Code sorgfältig und kreuzen Sie zutreffendes an (falsch gesetzte Kreuze führen zu Punktabzug): Hinweis: Beachten Sie, dass es sich bei a um ein Signal und nicht um eine Variable handelt! architecture verhalten of logik is signal a : std_logic; begin process (a) begin a <= ’1’; if (a = ’1’) then d <= ’0’; else a <= ’0’; d <= ’1’; end if; end process; WAHR FALSCH N Wenn der Code ausgeführt wird, ist die Abfrage if(a= ’1’) wahr. N Wenn der Code ausgeführt wird, ist der endgültige wert der signal a ’0’. N Wenn der Code ausgeführt wird, ist der endgültige wert der Ausgang d ’1’. 4.4 In einem Auto-Kontrollsystem gibt es vier Sensoren A, B, C und D die die korrekte Funktion oder eine Fehlfunktion von vier elektronischen Modulen anzeigen. Wenn ein Modul korrekt arbeitet, gibt der Sensor eine logische ’0’ aus und eine logische ’1’, wenn das Modul fehlerhaft ist. Sie modellieren nun einen Teil des Kontroll-systems, das die vier Sensoren über wacht und drei Ausgangssignale generiert. Das erste Signal OK soll logisch ’1’ sein, wenn keines der Module fehlerhaft ist. Das zweite Signal FAULT soll logisch ’1’ sein, wenn eins oder mehre Module fehlerhaft sind. Das dritte signal FAILURE sol logisch ’1’ sein, wenn alle Module fehlerhaft sind. a) Geben Sie die entity für den oben beschreibenen Teil des Kontrollsysems an. entity CarControl is port (A , B, C, D : in std_logic; ok, fault, failure : out std_logic); end CarControl; Integrierte Digitalschaltungen H08 - Seite 12 von 13 Aufgabe 4 b) Geben Sie die architecture in Datenflussbeschreibung für den oben beschreibenen teil des Kontrollsystems an. architecture verhalten of CarControl is begin ok <= NOT(A OR B OR C OR D); fault <= A OR B OR C OR D; failure <= A AND B AND C AND D; end verhalten; Integrierte Digitalschaltungen H08 - Seite 13 von 13