Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3. Schaltnetze 3.1 Spezielle Schaltnetze 3.1.1 Multiplexer/Demultiplexer 3.1.2 Datenbuszugang 3.1.3 Permutationsschaltnetz 3.1.4 Vergleicher (Komparator) 3.1.5 Addierer 3.1.6 Multiplizierer 3.1.7 Zahlendarstellung 3.2 PLA (programmable logic arrays) 3.3 Elektrotechnische Grundlagen 3.4 Zeitliches Verhalten von Schaltnetzen 3.5 Hazards (Gefahr) in Schaltnetzen 3.6 Abbildung auf eine Gatter-Bibliothek SS 2002 Technische Informatik 2 – Schaltnetze 1 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1 Spezielle Schaltnetze 3.1.1 Multiplexer/Demultiplexer 3.1.2 Datenbuszugang 3.1.3 Permutationsschaltnetz 3.1.4 Vergleicher (Komparator) 3.1.5 Addierer 3.1.6 Multiplizierer 3.1.7 Zahlendarstellung SS 2002 Technische Informatik 2 – Schaltnetze 2 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1.1 Multiplexer/Demultiplexer Ein Multiplexer/Demultiplexer ist ein Schaltnetz, welches eine Datenweiche darstellt. Multiplexer: Eingänge E f(SEL,E) = eg(SEL) Steuersignale SEL Definition: Ein Multiplexer ist eine Boolesche Funktion f , für die gilt: f: m n m f SEL E eg SEL log2 n SEL E m n Für die Abbildung g gilt: g: m g SEL m 1 ∑ seli 2i i 0 SS 2002 Technische Informatik 2 – Schaltnetze 3 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Demultiplexer Demultiplexer arbeiten invers zu den Multiplexern. Sie verteilen einen Datenstrom auf mehrere auswählbare Kanäle. Demultiplexer finden oftmals in integrierten Schaltkreisen Anwendung, um die Zahl der Anschlußpins zu begrenzen. 1. In DRAMS wird der höherwertige und der niederwertige Teil nacheinander auf den Adreßbus gelegt. Der Baustein muß dann die Signale intern demultiplexen und dem Spalten- bzw. Zeilendekoder zuführen. 2. In manchen Mikroprozessoren werden Demultiplexer eingesetzt, um die Daten von einem gemeinsamen Adreß- und Datenbus zu trennen. Eingang E Ausgänge Steuersignale SEL SS 2002 Technische Informatik 2 – Schaltnetze 4 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Datenwegschaltung Multiplexer: 0 Eingangsdatenwege n-1 Datenwegschaltung 1 Steuereingänge Ausgangsdatenweg 0 Decoder log2 n n-1 Demultiplexer: Datenwegschaltung Eingangsdatenweg 1 Steuereingänge Ausgangsn-1 datenwege 0 Decoder log2 n SS 2002 0 n-1 Technische Informatik 2 – Schaltnetze 5 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Anwendung Busbasiert: Datenbus AkkuRegister Hilfsregister Pufferregister Multiplizierer ALU Ansteuerung Ergebnisbus Multiplexerbasiert: Ansteuerung AkkuRegister Register 1 Register 2 ALU Register 3 Multiplexer Ansteuerung Demultiplexer Ergebnisregister 1 SS 2002 Ergebnisregister 2 Technische Informatik 2 – Schaltnetze 6 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 2:1 Multiplexer f sel e0 e1 f 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 sel e0 sel e1 KV-Diagramm: e0 sel 0 0 1 1 0 1 1 0 e1 Schaltplan: e0 sel & 1 1 f & e1 SS 2002 Technische Informatik 2 – Schaltnetze 7 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 4:1 Multiplexer Datenwegschaltung e0 Enable Datenwegschaltung e0 & & e1 e1 & & 1 e2 f & & e3 e3 & & & & & sel1 2 Decoder f e0 0 e1 1 e2 2 e3 3 f kann zusammengefaßt werden & 1 sel1 1 1 sel1 Decoder sel0 Decoder sel0 SS 2002 1 Enable 1 e2 sel0 1 Technische Informatik 2 – Schaltnetze 8 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 8:1 Multiplexer sel0 1 sel1 2 sel2 1 Decoder Enable e0 0 e1 1 e2 2 e3 3 1 f 1 2 Decoder Enable e4 0 e5 1 e6 2 e7 3 SS 2002 Technische Informatik 2 – Schaltnetze 9 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 2:1 4-Bit Multiplexer a0 & b0 f0 1 f1 1 f2 1 f3 & a1 & b1 & a2 & b2 & a3 & b3 SS 2002 1 & sel 1 Enable 1 Technische Informatik 2 – Schaltnetze 10 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Ein Multiplexer-Standardbaustein Steuerung C0 C1 C2 Eingänge Multiplexer sind als integrierte Bauelemente erhältlich. Typischerweise handelt es sich dabei um 8:1 bzw. 16:1 Multiplexer (mit 3 bzw. 4 Steuereingängen). I0 I1 I2 I3 I4 I5 I6 I7 Y Y Enable Standardbaustein SN74151 aus der TTL-Baureihe SS 2002 Technische Informatik 2 – Schaltnetze 11 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Implementierung Boolescher Funktionen durch Multiplexer Jede Boolesche Funktion f x0 xn 1 kann ausschließlich durch Multiplexer realisiert werden. Für f : n ist hierzu ein 2n : 1 Multiplexer mit n Steuereingängen notwendig. Die n Eingangsvariablen werden an die Steuereingänge gelegt. Die Belegung der 2n Dateneingänge erfolgt gemäß der Wahrheitstabelle der Funktion f . Anstelle eines 2n : 1 Multiplexers kann auch ein 2n 1 : 1 Multiplexer mit n 1 Steuereingängen verwendet werden. Die Steuereingänge werden mit den Variablen x1 xn 1 beschaltet. Die Dateneingänge werden mit den konstanten Werten 0 und 1 und der freien Variablen x0 bzw. x0 belegt. Beispiel: 2-von-3 Mehrheitsfunktion f x0 x1 x2 x0x1 x0x2 x1x2 0 1 2 3 4 5 6 7 0 1 x0 f x1 x1 x2 8:1 Multiplexer SS 2002 0 1 2 3 f x2 x 0 x 00 1 4:1 Multiplexer Technische Informatik 2 – Schaltnetze 12 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Implementierung Boolescher Funktionen durch Multiplexer Die Beschaltung der Dateneingänge eines 2n 1 : 1 Multiplexers für die Implementierung einer Funktion f x0 xn 1 erhält man durch Anwendung des Shannon’schen Entwicklungssatzes. Beispiel: 4 Variablen f a b c d a f 1 b c d a f 0 b c d a b f 1 1 c d a b f 0 0 c d a b c f 1 1 1 d a b c f 0 0 0 d f(0,0,0,d) f(0,0,1,d) f(0,1,0,d) f(0,1,1,d) f(1,0,0,d) f(1,0,1,d) f(1,1,0,d) f(1,1,1,d) 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 a b c f Jede beliebige Boolesche Funktion f x0 xn 1 mit n Variablen läßt sich durch einen 2n 1 : 1 Multiplexer implementieren, indem man n 1 Literale an die Steuereingänge und f x0 0 0 f x0 1 1 an die Dateneingänge anlegt. SS 2002 Technische Informatik 2 – Schaltnetze 13 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 1:2 Demultiplexer sel e f1 f2 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 Der nicht beschaltete Ausgang wird mit dem Wert 1 belegt. f1 sel e f2 sel e KV-Diagramm: e sel 0 1 1 1 e sel 1 1 0 1 f1 f2 Schaltplan: e sel SS 2002 1 1 f1 1 f2 Technische Informatik 2 – Schaltnetze 14 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 1:2 Demultiplexer mit Transmissiongates sel e f1 f2 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 Der nicht beschaltete Ausgang wird mit dem Wert 0 belegt. G1 Transmissiongate 1 f1 G1 e G2 Transmissiongate 2 sel 1 f2 G2 Bei Transmissiongates handelt es sich um bidirektionale Schalter, welche durch einen Steuereingang G bzw. G aktiviert werden. SS 2002 Technische Informatik 2 – Schaltnetze 15 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 1:4 2-Bit Demultiplexer Datenwegschaltung a 1 a0 1 a1 1 a2 1 a3 1 b0 1 b1 1 b2 1 b3 b e0 e1 e2 e3 1 1 1 1 1 sel1 Decoder kann zusammengefaßt werden sel0 1 SS 2002 Technische Informatik 2 – Schaltnetze 16 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 1:4 2-Bit Demultiplexer Enable 1 a 1 & & a0 & a1 & a2 & a3 & b0 & b1 & b2 & b3 & b 1 1 sel1 Decoder sel0 1 SS 2002 Technische Informatik 2 – Schaltnetze 17 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1.2 Datenbuszugang Tri-State-Gatter: Ein Tri-State-Gatter besitzt die drei definierten Ausgangszustände 0,1 (abhängig vom Eingangssignal e) und einen hochohmigen Zustand z. Der Zustand z wird durch Aktivierung des Sperreingangs i (inhibit) erreicht. i 1 0 0 e a z 0 1 e i 0 1 1 a Tri-State-Gatter werden immer dann angewandt, wenn mehrere Ausgänge, von denen nur einer aktiv sein darf, an eine Leitung angeschlossen werden sollen (z.B. Busleitungen). Unidirektionaler Datenbuszugang: Sender/Empfänger i i 1 1 Datensender Datenempfänger 1 1 i i 1 1 Datensender Datenempfänger 1 1 Bus SS 2002 Technische Informatik 2 – Schaltnetze 18 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Bidirektionaler Datenbuszugang Sperreingang i 0 0 1 1 Richtungssteuerung r 0 1 0 1 Übertragungsweg d a (empfangen) e d (senden) offen offen Tri-State-Gatter a e 1 e d a i r 1 & d & Schaltsymbol 1 i r 1 Einheit 1 Einheit 3 i r i r bidirektionaler Datenbus i r Einheit 2 SS 2002 Technische Informatik 2 – Schaltnetze 19 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1.3 Permutationsschaltnetz für 2 Variablen Permutationsschaltnetze vertauschen die Reihenfolge von Variablen. Die Vertauschung wird über einen Steuereingang aktiviert. a1 & 1 b1 1 b2 & a2 & & sel Permutationsschaltnetze werden in Verbindungsnetzwerken verwendet, um verschiedene Kommunikationswege schalten zu können. SS 2002 Technische Informatik 2 – Schaltnetze 20 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1.4 Vergleicher (Komparator) Vergleicher sind Schaltungen, die insbesondere in Mikroprozessoren Verwendung finden um beispielsweise den notwendigen Vergleich für bedingte Sprunganweisungen durchzuführen. Vergleicher werden aber auch integriert in Schaltungen eingesetzt, z.B. zur Speicherauswahl oder für die Selektion von Ein-/Ausgabe Geräten. f X Y !n xi " yi i 1 Vergleich von 2 Booleschen Tupeln x1 y1 & f x2 y2 xn yn SS 2002 Technische Informatik 2 – Schaltnetze 21 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Vergleicher Vergleicher für n-Bit Zahlen lassen sich hierarchisch konstruieren. xn & 1 yn fn & x y n-1 Vergleicher für (n-1)-stellige Dualzahlen n-1 x1 y1 f n-1 x y -Vergleicher Kaskadierung von Vergleichern: n-Bit Vergleicher lassen sich zu Vergleichern von Dualzahlen mit größeren Längen kaskadieren. x1 y1 x2 y2 x3 y3 x4 y4 > Komparator 0 x5 y5 x6 y6 x7 y7 > Komparator 7-Bit Vergleicher aus zwei 4-Bit Vergleichern SS 2002 Technische Informatik 2 – Schaltnetze 22 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Vergleicher Allgemeine Vergleicher für Dualzahlen: Der größer als bzw. kleiner als Vergleicher ist schaltungstechnisch aufwendiger als der Vergleich auf Identität. x f = 1 <=> x > y & y 1 & f = 1 <=> x = y f = 1 <=> x < y a0 a1 a2 a3 < = > b0 b1 b2 b3 COMP A<B A=B A>B integrierter Vergleicher (Komparator) SN7485 SS 2002 Technische Informatik 2 – Schaltnetze 23 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1.5 Addierer Halbaddierer: Addition zweier 1-Bit Zahlen Si ai # bi aibi aibi Ci $ ai 1 aibi bi & 1 Si & & SS 2002 Ci+1 Technische Informatik 2 – Schaltnetze 24 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Volladdierer ai bi Ci si 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 Ci $ 1 0 0 0 1 0 1 1 1 ai bi HA Ci+1 1 Ci HA Si ai # bi # Ci Ci $ 1 ai bi ai Ci bi Ci si Kaskadierung von Volladdierern: Ripple-Carry-Addierer Sn SS 2002 a n-1 b n-1 a n-2 b n-2 a1 b1 VA VA VA HA Sn-1 Sn-2 S1 S0 Technische Informatik 2 – Schaltnetze a0 b0 25 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Subtraktionsschaltung aus Volladdierern Die Differenz A B (A B 0) wird durch die Addition des 2-er Komplements % B von B erreicht (A & % B ). % B 2n ' B& % B 2n B B & 1 S A B A& 2n B ( A & B & 1 ) B ist die bitweise Negation von B. ) Auftretende Überträge werden nicht berücksichtigt. Beispiel: 0 1 2 3 B B % B 0000 0001 0010 0011 1111 1110 1101 1100 (1)0000 (0)1111 (0)1110 (0)1101 0 -1 -2 -3 b1 b0 Addierer/Subtrahierer: b n-1 a n-1 b n-1 0 1 2:1 MUX b n-2 a n-2 b n-2 0 1 2:1 MUX a1 b1 0 1 2:1 MUX a0 b0 0 1 2:1 MUX 0 = ADD 1 = SUB Sn SS 2002 VA VA VA VA Sn-1 Sn-2 S1 S0 Technische Informatik 2 – Schaltnetze 26 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1.6 Multiplizierer Schnelle Multiplizierer werden durch parallele Berechnung sämtlicher (dualer) Produktterme und anschließender Addition der Terme mit den richtigen Wertigkeiten implementiert. *& am 1 2m b b0 & b1 2 & b2 22 & *& bm 1 2m a a0 & a 1 2 & a 2 2 2 & 1 1 c a0b0 & a0b1 & a1b0 2 & a0b2 & a1b1 & a2b0 22 & k & ∑ aibk 1 2k i 0 & & am 1bm 1 22m 2 Es werden m2 viele AND-Gatter für die Bildung der Produktterme und 2m 3 Addierwerke benötigt. SS 2002 Technische Informatik 2 – Schaltnetze 27 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Schnelles Multiplizierwerk für zweistellige Dualzahlen a1 & & c3 SS 2002 b1 & HA HA c2 c1 Technische Informatik 2 – Schaltnetze a0 b0 & c0 28 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Standardbausteine für die Multiplikation Für die Multiplikation zweier 4-stelliger Dualzahlen existieren die beiden Standardbausteine SN74284 und SN74285. Der Baustein SN74285 berechnet den niederwertigen 4-stelligen Teil des Produktes, der SN74284 den höherwertigen Teil. Multiplikand 23 22 21 Multiplikator 20 23 22 21 20 2D 2C 2B 2A 1D 1C 1B 1A 2D 2C 2B 2A 1D 1C 1B 1A SN74284 SN74285 z7 2 7 z6 2 6 z5 2 5 z3 z4 2 4 2 3 z2 2 2 z1 2 1 z0 2 0 Produkt SS 2002 Technische Informatik 2 – Schaltnetze 29 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.1.7 Zahlendarstellung In digitalen Computern wird Arithmetik mit endlicher Genauigkeit vollzogen, da die Berechnungen auf Speichern oder Registern fester Länge erfolgen. Die endliche Genauigkeit impliziert, daß Zahlen, die die darstellbare Genauigkeit überschreiten, gerundet werden müssen. Bei der Gleitkommadarstellung wird eine Zahl Z so gespeichert, daß das Komma immer zur ersten von 0 verschiedenen Zahl gleitet. Dies erreicht man durch abspalten einer entsprechenden Potenz: Z + m , be mit m + 0 - xxx ... Da die Basis b bekannt ist, kann die Zahl durch die Mantisse m und den Exponenten e dargestellt werden. Die Anpassung der Gleitkomma-Zahl an diese Darstellungsform wird normalisieren genannt. Beispiel: Z + 143 - 135 + 0 - 143135 , 103 m + 143135 e+ 3 Für Mantisse m und Exponent e wird jeweils eine feste Stellenanzahl vorgegeben. SS 2002 Technische Informatik 2 – Schaltnetze 30 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK IEEE-754 Das Institute of Electrical and Electronics Engineers (IEEE) hat einen Standard für Gleitkomma-Zahlen entwickelt, der heutzutage in fast allen Computern Verwendung findet. Gleitkomma-Zahlen werden durch ein Vorzeichen-Bit, einen Exponenten mit fester Stellenanzahl und einer Mantisse mit fester Stellenanzahl dargestellt. Die Darstellung des Exponenten und der Mantisse erfolgt zur Basis 2. 1 s e s: Vorzeichen e: Exponent 0 m m: Mantisse Im Standard IEEE-754 werden Gleitkomma-Zahlen mit verschiedenen Wertebereichen und Genauigkeiten definiert: Format single double SS 2002 Bit 32 64 Vorzeichen 1Bit 1Bit Exponent 8Bit 11Bit Technische Informatik 2 – Schaltnetze Mantisse 23Bit 52Bit 31 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK IEEE-754 – single Eine 32Bit Gleitkomma-Zahl besteht aus einem Vorzeichen-Bit, einem 8Bit Exponenten und einer 23Bit Mantisse. 31 30 29 28 27 26 25 24 23 22 21 s e 1 0 m Exponent Der 8Bit Exponent e kann Werte aus dem Wertebereich 0 -...- 255 darstellen. Durch Subtraktion des konstanten Wertes 127 wird eine Links- und Rechtsgleitung des Kommas im Wertebereich / 127 -...- 128 ermöglicht. Mantisse Die 23Bit Mantisse m stellt einen 24Bit-Wert (zzgl. Vorzeichen-Bit) dar, indem das Komma über die erste von 0 verschiedene Stelle hinaus gleitet (1 - m). s 0/1 0/1 e 0 0 e 0 0 255 beliebig 0 m 1: 0 0/1 0 m 255 0 1 0 0/1 m 1: 0 SS 2002 Wert 13254 1 6 s 7 2e 8 127 7 1 9 m Z 13254 1 6 s 7 0 9 0 (signed zero) Z 13254 1 6 s 7 2 8 126 7 0 9 m Z 1<; ∞ (positive infinity) Z 14 ∞ (negative infinity) Z 1 NaN (not a Number) Z Technische Informatik 2 – Schaltnetze 32 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK IEEE-754 – single Beispiel SS 2002 Dezimal-Wert 0 0 40282347E 17549435E 00 00 ∞ ∞ NaN π = = 1 2 3 1 > 38 (max) 38 (min) ? = m 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000 111 1111 1111 1111 1111 1111 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000 000 0000 0000 0000 0000 0000 100 0000 0000 0000 0000 0000 100 1001 0000 1111 1101 1010 > ? > = = = e 0111 1111 1000 0000 1111 1110 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1000 0000 ? s 0 0 0 0 0 1 0 1 0 0 Technische Informatik 2 – Schaltnetze 33 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Gleitkommaarithmetik Gegeben: A+ @ e A - mA A Zur Vereinfachung sei eA und B+ @ e B - mB A B eB Addition C + AC B + @ mA , 2eA D eB C mB A , 2eB C + A/ B+ @ mA , 2eA D eB / mB A , 2eB Subtraktion Multiplikation C + A, B + @ mA , mB A , 2eA E C + AF B + @ mA F mB A , 2eA D eB Division SS 2002 eB Technische Informatik 2 – Schaltnetze 34 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.2 PLA (programmable logic arrays) PLAs sind integrierte Schaltungen zur Realisierung von DNFs. Sie sind durch sogenannte Programmiergeräte vom Kunden (Anwender) selbst personalisierbar. PLAs besitzen eine regelmäßige Struktur und sind daher besonders für eine VLSI-Realisierung geeignet. X UND Matrix 1 Z ODER Matrix Y X Literale: X + x1 - x2 -...- xn X + x1 - x2 -...- xn Ausgangsvektor (Bündelfunktion): Jede Komponente yi stellt eine DNF dar. Y + y1 - y2 -...G- ym Produkttermvektor: Jede Komponente zk stellt einen Konjunktionsterm der negierten oder nicht negierten Literale dar. Z SS 2002 + z1 - z2 -...- zl Technische Informatik 2 – Schaltnetze 35 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK PLA x1 1 x2 1 UND xn 1 z1 z2 zl y1 y2 ODER ym SS 2002 Technische Informatik 2 – Schaltnetze 36 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK UND-/ODER-Ebene ODER-Ebene: yi + H zk k I Ii mit UND-Ebene: zk @ J xl A + @KJ xl A M l I Ik L p l I Ik L n N Ik O p Indexmengen der nicht negierten Variablen N Ik O n Indexmengen der negierten Variablen Die UND-/ODER-Ebenen werden auch als UND-/ODER-Matrizen bezeichnet. Schaltungstechnisch läßt sich diese Struktur vollständig mit NANDGattern realisieren. Die Personalisierung der Matrizen erfolgt durch Aktivierung der Leitungsverzweigungen, meist durch aktive Bauelemente (Transistoren). SS 2002 Technische Informatik 2 – Schaltnetze 37 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK NAND-PLA x1 1 x2 1 xn 1 & SS 2002 & Technische Informatik 2 – Schaltnetze & y1 & ym 38 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Beispiel Volladdierer ai bi ai Ci bi Ci ai 1 bi 1 Ci 1 Ci+1 Si Ci E SS 2002 1 + ai bi P ai Ci P bi Ci Si + ai bi Ci P ai bi Ci P ai bi Ci P ai bi Ci Technische Informatik 2 – Schaltnetze 39 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK PLA, PAL und ROM Der Aufwand der Personalisierung wird geringer, wenn nur eine der beiden Matrizen programmierbar (personalisierbar) ist. Für die Realisierung Boolescher Funktionen stehen 3 personalisierbare Strukturen zur Verfügung: N N PLA Personalisierung: UND-/ODER-Matrix N PAL Personalisierung: UND-Matrix Festwertspeicher (ROM) Personalisierung: ODER-Matrix SS 2002 Technische Informatik 2 – Schaltnetze 40 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK PAL Bei einem PAL ist die UND-Matrix personalisierbar und die ODERMatrix festgelegt. x1 1 x2 1 xn 1 y1 y2 ym SS 2002 Technische Informatik 2 – Schaltnetze 41 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK ROM Bei einem Festwertspeicher wird die UND-Matrix fest als Adreßdecoder personalisiert. 0 1 x1 x2 x3 2 Decoder X/Y 3 4 5 6 7 y1 Adresse (dezimal) 0 1 2 3 4 5 6 7 SS 2002 y2 y3 x1 x2 x3 y1 y2 y3 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 Q P Technische Informatik 2 – Schaltnetze R 42 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK RAM 0 1 2 3 m-4 m-3 Adresse m-2 m-1 Ein Schreib-/Lesespeicher (RAM) hat eine ganz ähnliche Struktur. Bei einem RAM werden jedoch die personalisierten Leitungsverzweigungen der ODER-Matrix durch Speicherzellen (Flipflops) ersetzt. Dadurch kann die Information in der ODER-Matrix jederzeit und schnell geändert werden. Die UND-Matrix ist wie beim ROM fest als Adreßdecoder personalisiert. Bit 0 Speicherzellen 1 n-2 n-1 Adreßdecoder Daten Prinzipieller Aufbau eines n SS 2002 S m-Bit Arbeitspeicher Technische Informatik 2 – Schaltnetze 43 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.3 Elektrotechnische Grundlagen Allgemein: N N In einem digitalen Datenverarbeitungssystem werden auf der physikalischen Ebene binäre Schaltvariablen mit elektronischen Schaltern nach den Gesetzen der Schaltalgebra verknüpft. N Elektronische Verknüpfungsglieder werden aus Halbleiterbauelementen aufgebaut. N Verknüpfungsglieder werden zu Schaltnetzen und Schaltwerken zusammengefügt. Schaltkreisfamilien (integrierte Schaltungen) bestehen aus standardisierten Verknüpfungsgliedern, Speichergliedern, Schaltnetzen und Schaltwerken, die aus gleichen Bauelementen und nach dem gleichen elektronischen Konzept hergestellt sind. SS 2002 Technische Informatik 2 – Schaltnetze 44 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Modell des idealen Schalters In der Schaltalgebra werden die binären Variablen mit Verknüpfungsgliedern aus idealen Schaltern verknüpft. UB UB I I R R I I= S ein UQ = 0 S aus UQ = UB UB ein R R aus UB N UQ N Im Schalterzustand ’ein’ ist der Innenwiderstandswert des Schalters S Ri + 0. Daraus folgt I + URB und UQ + 0V . N Im Schalterzustand ’aus’ ist der Sperrwiderstand des Schalters S Rs + ∞. Daraus folgt I + 0A und UQ + UB. N Die Schaltwirkung folgt unmittelbar der Schaltursache, d.h. es gibt keine Zeitverzögerung. Die vom Schalter aufgenommene Leistung P + U , I ist immer Null, da entweder der Strom I (’aus’) oder die Spannung U (’ein’) gleich Null ist. Kein realer Schalter kann diese Anforderungen erfüllen. Mit elektronischen Schaltern kommt man dem Ziel heute am nächsten. Je nach Bauelementetyp (bipolar oder unipolar) werden mehr die einen oder die anderen Eigenschaften optimal erreicht. Deshalb haben sich verschiedene Schaltkreisfamilien entwickelt. SS 2002 Technische Informatik 2 – Schaltnetze 45 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Modell des realen Schalters UB UB I I R R I Ri UB S S ein UQE aus Rs Ri UQA R ein IE R aus IA UE UA UB Rs UQ In der Schalterstellung ’ein’ liegen R und Ri in Reihe und ihre Widerstandsgeraden schneiden sich im Arbeitspunkt ein. Für Strom und Spannung gilt: + IE UB R C Ri + UE UB , Ri R C Ri Am Schalter fällt also eine Spannung UE ab. In der Schalterstellung ’aus’ liegen R und Rs in Reihe und ihre Widerstandsgeraden schneiden sich im Arbeitspunkt aus. Für Strom und Spannung gilt: IA + UB R C Rs UA + UB , Rs R C Rs Trotz Schalterstellung ’aus’ fließt ein Strom IA . In beiden Betriebszuständen wird vom Schalter Leistung aufgenommen, weil der Strom IA bzw. die Spannung UE verschieden von Null sind. SS 2002 Technische Informatik 2 – Schaltnetze 46 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Verwendung des Halbleiterbauelementes ’Bipolartransistor’ als Schalter IC UB UCB = 0 IC UB R R IE R IB RB U UBE IB > 0 ein UCE aus IA UE UA IB = 0 UB UCE Als eigentlicher Schalter dient die Leitfähigkeit der KollektorEmitterstrecke, die durch den Basisstrom gesteuert wird. Für IB + 0 ist die Kollektor-Emitterstrecke gesperrt. Es fließt nur ein Reststrom IC , der dem Sperrstrom der Kollektor-Basis-Diode entspricht. Mit dem Basisstrom IB + 0 wird der Transistorschalter ausgeschaltet. Der Schnittpunkt der Kennlinie für IB + 0 mit der Widerstandsgeraden R ist der Arbeitspunkt des Schalterzustandes ’aus’. Bei einem Basisstrom IB T 0 wird die Kollektor-Emitterstrecke leitend, d.h. der Transistor ist eingeschaltet. Der Basisstrom wird so gewählt, daß die zugehörige Kennlinie die Widerstandsgerade für R im Übersteuerungsbereich (links von UCB + 0) schneidet. Der Schnittpunkt ist der Arbeitspunkt des Schalterzustandes ’ein’. SS 2002 Technische Informatik 2 – Schaltnetze 47 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Verwendung des Halbleiterbauelementes ’MOS-FET’ als Schalter UB ID Uth = threshold voltage Up = pinch off voltage Up R UGS > Uth ein R UDS aus UGS UE UA UGS < Uth UDS Die Schalterzustände ’ein’/’aus’ werden wie beim bipolaren Transistor durch die Zustände Transistor leitend/gesperrt realisiert. Für UGS U Uth ist die Drain-Source-Strecke gesperrt. Mit dieser Spannung wird der Transistorschalter ausgeschaltet. Der Schnittpunkt der Kennlinie für UGS U Uth mit der Widerstandsgeraden für R ist der Arbeitspunkt des Schalterzustandes ’aus’. Mit einer Spannung UGS T Uth wird die Drain-Source-Strecke leitend, der Transistor eingeschaltet. Die Gate-Source-Spannung wird wie beim bipolaren Transistor so gewählt, daß die zugehörige Kennlinie von der Widerstandsgeraden für R im linearen Bereich geschnitten wird. Dieser Schnittpunkt ist der Arbeitspunkt des Schalterzustandes ’ein’. Wechselt die Gate-Source-Spannung zwischen UGS U Uth und UGS T Uth, dann schaltet der Transistor zwischen gesperrt und leitend bzw. UDS zwischen UA und UE . Der Vorteil von MOS-FETs als Schalter gegenüber bipolaren Transistoren besteht darin, daß sie leistungslos angesteuert werden können. SS 2002 Technische Informatik 2 – Schaltnetze 48 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Typische Kenngrößen von Verknüpfungsgliedern, die mit realen Schaltern realisiert sind Signalpegel: In digitalen Rechensystemen werden Schaltglieder zu Schaltnetzen vereinigt. Von einem Schaltglied werden dann mehrere nachfolgende Schaltglieder angesteuert, die als Last(widerstand) auf die Ausgangsspannung des treibenden Schaltgliedes zurückwirken. Schaltglied Schaltglied 1 1 Störgröße UB UB R R IB RB RB UCE UBE UB UB R R IL UDS SS 2002 CL UGS Technische Informatik 2 – Schaltnetze 49 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Kenngrößen Es werden Pegelbereiche eingeführt, die die Werte der binären Schaltvariablen darstellen. Dadurch werden die Einflüsse der Störspannung berücksichtigt. Für die Zuordnung der Pegelbereiche zu den Werten der binären Schaltvariablen gibt es zwei Möglichkeiten: N H H Positive Zuordnung: N Negative Zuordnung: V+ 1, L V+ 0 (üblich) V+ 0, L V+ 1 Der typische statische Störabstand USS ergibt sich aus der Differenz der Ausgangsspannung des steuernden Schaltgliedes zur Eingangsschwellspannung UES des angesteuerten Schaltgliedes. N + UAH / UES USSL + UES / UAL USSH bei H-Pegel: N bei L-Pegel: U Ausgang A Eingang E H-Pegel H-Pegel UAH UAH min UEH min UAH min UAS UES UEL max UAS UAL max UAL max L-Pegel UAL L-Pegel U UEL max UES UEL UEH min UEH Meist werden ’worst-case’ Störspannungsabstände definiert: N N bei H-Pegel: bei L-Pegel: SS 2002 USSH + UAHmin / UEHmin USSL + UELmax / UALmax Technische Informatik 2 – Schaltnetze 50 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Kenngrößen Signalübertragungszeit und Signallaufzeit: Elektronische Schalter benötigen Zeit, um von einem Schaltzustand in den anderen zu gelangen. Hauptursache für diese Zeitverzögerung ist die kapazitive Eigenschaft der Bauelemente; beim bipolaren Transistor hauptsächlich der Basis-Emitter pn-Übergang, beim unipolaren Transistor die Gate-Oxid-Substrat Schichtfolge (MOS-Kondensator). idealer Rechteckimpuls am Eingang U H τp Pulsdauer Tp Pulsperiode t L τp Tp verformter Rechteckimpuls am Ausgang U H td Verzögerungszeit (delay time) 90% tf Abfallzeit (fall time) ts Speicherzeit (storage time) tr Anstiegszeit (rise time) 10% t L td ts tf tr linearisierter Ausgangsimpuls U H 90% 10% Transition Time H->L tTLH Transition Time L->H t L tTHL SS 2002 tTHL tTLH Technische Informatik 2 – Schaltnetze 51 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Kenngrößen Die eigentlichen Signalübertragungszeiten (Transition time) der Impulsflanken liegen zwischen 90% und 10% der Amplitude. Die Signallaufzeit (Propagation delay time) gibt die Impulsverzögerung zwischen Eingangs- und Ausgangspegel an (tPHL bzw. tPLH ). Die Messung der Signallaufzeiten wird auf die 50% Marke der Amplitude bezogen, die zwischen dem H- und dem L-Pegel liegt. Als mittlere Signallaufzeit eines Schaltgliedes wird definiert: tP W tPHL X tPLH 2 Eingang U H 50% t L Ausgang U H 50% t L tPHL SS 2002 tPLH Technische Informatik 2 – Schaltnetze 52 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Isolierschicht-Feldeffekt-Transistor (MOS-FET) Isolierschicht-FETs sind das häufigste Bauelement in integrierten digitalen Schaltungen. Bei diesem Transistortyp wird die Leitfähigkeit eines Halbleiters nicht durch einen pn-Übergang, sondern durch Influenz gesteuert. Die Gateelektrode ist durch eine dünne Oxidschicht vom Halbleitermaterial isoliert. Nach der Schichtenfolge Metall-Oxid-Halbleiter (Metal-Oxide-Semiconductor) wird dieser Transistortyp MOS-FET genannt. Die Steuerelektrode besteht entweder aus Metall oder aus polykristallinem gut leitenden Silizium. Als Isolator wird meist Siliziumdioxid (SiO2), aber auch Siliziumnitrid (SiN4 ) oder Aluminiumoxid (Al2O3 ) benutzt. Das Halbleitermaterial oder das Substrat ist meist n- oder p-dotiertes Silizium. n-Kanal S G [ [ [ [ YZ ZY ^] ZY ]^ ^] \[ ^] \[ YZ YZ ZY \ \ YZ ZYn ZY p\ \ Substrat D [ [ [ [ \[ \[ \ \ D SiO2 \n \ B G S p-Kanal S G a a a a `_ _` dcdc `_ cddc dcdc ba dcdc ba _` `_ `_ b b `_ `_p `_ nb b Substrat D a a a a ba ba b b bp b D SiO2 B G S SS 2002 Technische Informatik 2 – Schaltnetze 53 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Kennlinienfeld ID e f f UDS g eines n-Kanal MOS-FET ID Abschnürgrenze Up UGS > Uth UDS Im Arbeitsbereich UGS h Uth bildet sich eine Inversionsschicht an der Oberfläche des Halbleiters zwischen Drain und Source. Durch diesen n-Kanal fließen, aufgrund des Potentialgefälles zwischen Source und Drain, die Elektronen aus der ni -Source-Zone als Drainstrom ID . Solange UDS j UGS k Uth ist, steigt der Drainstrom proportional zu UDS (linearer Bereich der Kennlinie). Wird UDS h UGS k Uth, dann wird die Raumladungszone des Drain-SubstratÜbergangs größer und der leitende Kanal wird abgeschnürt. Der Drainstrom ID geht in den Sättigungsbereich. Der p-Kanal MOS-FET arbeitet entsprechend. Nur Gate und Drain werden negativ gegenüber Substrat angesteuert. Statt der Elektronen bilden die Löcher den Stromfluß. SS 2002 Technische Informatik 2 – Schaltnetze 54 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Verschiedene MOS-FET Typen Isolierschicht n-Kanal FET, Verarmungstyp (selbstleitend) ID ID D +4V +2V 0V UGS B -2V G UDS UGS S Isolierschicht p-Kanal FET, Verarmungstyp (selbstleitend) - ID - ID D -4V -2V 0V UGS B +2V G - UDS - UGS S Isolierschicht n-Kanal FET, Anreicherungstyp (selbstsperrend) ID ID D +8V +6V +4V UGS B +2V G UDS UGS S Isolierschicht p-Kanal FET, Anreicherungstyp (selbstsperrend) - ID - ID D -8V -6V -4V UGS B -2V G - UDS SS 2002 - UGS Technische Informatik 2 – Schaltnetze S 55 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Verknüpfungsglieder mit bipolaren Transistoren Verknüpfungsglieder mit bipolaren Transistoren bilden die Schaltkreisfamilien TTL (Transistor-Transistor-Logic), ECL (EmitterCoupled-Logic), I2 L (Integrated-Injection-Logic). In Verknüpfungsgliedern der TTL- und I2 L-Familie werden die Transistoren im Übersteuerungsbereich betrieben, in der ECL und STTL (Schottky TTL) im aktiven Verstärkerbereich. Deshalb spricht man auch von gesättigten und ungesättigten Schaltkreisfamilien. TTL-Grundgatter (NAND): UB MultiEmitterTransistor (AND) E1 E2 R1 R2 R4 Invertierende Gegentakt-Endstufe (NOT) T3 T2 T1 D A T4 U1 UA R3 SS 2002 Technische Informatik 2 – Schaltnetze 56 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Verknüpfungsglieder mit unipolaren MOS-FET Einkanaltechnik: Verknüpfungsglieder werden in dieser Technologie ausschließlich aus NMOS- (selbstsperrend) oder ausschließlich aus PMOSTransistoren aufgebaut. NMOS-FET haben gegenüber PMOS-FET die folgenden Vorteile: l l geringere Schaltzeiten l höhere Packungsdichten l geringere Betriebsspannung l geringerer Leistungsverbrauch geringere Kanalwiderstände Die Realisation der Booleschen Verknüpfungen geschieht mittels Reihenschaltung und Parallelschaltung der Schalttransistoren. NAND NOR UB A UB B A B A A B B SS 2002 Technische Informatik 2 – Schaltnetze 57 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Verknüpfungsglieder mit unipolaren MOS-FET Complementary MOS (CMOS) Technik: Verknüpfungsglieder werden in dieser Technologie aus NMOS(selbstsperrend) und PMOS-Transistoren aufgebaut. Inverter UB UB UB gesperrt T1 E T1 E 1 T1 0 0 1 = UB gesperrt T2 T2 T2 Es ist stets ein Transistor gesperrt und der andere leitend. Daher ist der Betriebsstrom und die statische Verlustleistung nahezu Null. NAND NOR UB UB A A B B A A B B SS 2002 Technische Informatik 2 – Schaltnetze 58 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK CMOS Transmissiongate Bei Transmissiongates handelt es sich um bidirektionale Schalter. E sel A 1 Transmissiongates besitzen gegenüber Pass-Transistoren (nur ein n- oder p-Kanal MOS-Transistor) den Vorteil, daß sie einen nahezu spannungsunabhängigen Durchlaßwiderstand besitzen. SS 2002 Technische Informatik 2 – Schaltnetze 59 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Vergleich Einen Vergleich der elektrischen Eigenschaften der Verknüpfungsglieder mit unipolaren Transistoren ermöglicht folgende Übersicht: Betriebsspannung Störabstand Verlustleistung Signallaufzeit PMOS NMOS CMOS -12V (-27V ) 5V 3V – 15V 4,0V 1,5V 0,4UB 0mW (L) 6mW (H) 2mW (L) 0mW (H) 0,001mW 80ns 30ns 20ns m m Schaltkreisfamilie Der Leistungsverbrauch ist von der Schalthäufigkeit abhängig. SS 2002 Technische Informatik 2 – Schaltnetze 60 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.4 Zeitliches Verhalten von Schaltnetzen Bei den bisherigen Betrachtungen wurde die Funktion eines Schaltnetzes ständig, d.h. ohne Verzögerung, ausgeführt. Jedes Signal, welches ein Gatter durchläuft, hat jedoch eine kurze, nicht vernachlässigbare Laufzeit. Diese wird durch die technologische Realisierung der Gatter hervorgerufen. Trägheitseffekte: Insbesondere weisen Gatter auch Trägheitseffekte auf. Diese führen dazu, daß Signaländerungen am Eingang nur dann am Ausgang wirksam werden, wenn sie eine gewisse Dauer überschreiten. Kurze Signaländerungen werden verschluckt. Modellierung zeitlichen Verhaltens: Viele Fehler in Schaltnetzen sind mit formalen Methoden nicht oder nur schwer zu erkennen und resultieren vor allem aus dem oben beschriebenen zeitlichen Verhalten (Verzögerung, Absorbtion) der Gatter. Schaltungen (z.B. in eingebetteten Systemen) funktionieren nur dann richtig, wenn das Schaltnetz das Ergebnis innerhalb eines bestimmten Zeitintervalls berechnet hat. Die Verzögerungszeit von Schaltnetzen läßt sich anhand von Modellen vorhersagen und optimieren. Mit diesen Modellen kann die Schaltung auch simuliert werden. Für eine Messung wird ein Prototyp benötigt (Herstellung ist jedoch teuer und zeitaufwendig). SS 2002 Technische Informatik 2 – Schaltnetze 61 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Modellierung des zeitlichen Verhaltens von Gattern a b c d e Gatter T f ideal, Laufzeitglied verzögerungsfrei Die Verzögerungszeit ist abhängig von: l l Typ des Übergangs XX (H HL : H o L, LH : L o H l W n High, L W n Low) Gattertyp (intrinsic delay) Last (load ) am Ausgang (extrinsic delay) Die Last kann entweder durch andere Gatter (Cload ) oder auch durch längere Leitungen (W load ) hervorgerufen sein. T W delay W t pXX X ∆t pXX prq W load X Cload s Bei einer Konstruktion (Schematic) ist zunächst nur die Anzahl der Gatter am Ausgang (Cload ) bekannt. W load wird geschätzt. t p W n propagation delay C W n Capacity W SS 2002 Wn Wire Technische Informatik 2 – Schaltnetze 62 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK NAND4-Gatter aus der Standardzellenbibliothek ECPD15 f W at bt ct d Parameter Size Cina Cinb Cinc Cind Fanout f total cap transistors Parameter t plh t phl ∆t plh ∆t phl SS 2002 from any any any any to f f f f Value 32.0*76.0 0.15 0.15 0.14 0.14 0.89 0.66 8 min 0.38 0.31 0.49 0.56 typ 0.90 0.74 1.17 1.34 Unit µm2 pF pF pF pF pF pF max 1.77 1.45 2.30 2.64 Technische Informatik 2 – Schaltnetze mil 2.14 1.75 2.78 3.19 unit ns ns ns u pF ns u pF 63 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Träges Laufzeitglied Bei den bisherigen Betrachtungen wurde der Verzögerungseffekt T durch ein ideales Laufzeitglied Li ausgedrückt. Li v x v t wyx T w z x v t { T w Ein träges Laufzeitglied ist ein nichtideales Laufzeitglied, bei dem die Trägheitseffekte berücksichtigt werden. x v t w sei ein ereignisdiskretes Signal der Form: x v t w : z x v ti w : ti | t } ti~ 1 i z 1 x 2 x Ein träges Laufzeitglied läßt sich wie folgt beschreiben: Ltr v x v t wyx T wz xv t { T w 1 t { ti T T L v x v t wyx T w t { t } T i 1 i i 1 tr t { ti } T T LH x(t) ti { ti T HL oder und T HL <T ideales Laufzeitglied träges Laufzeitglied t SS 2002 Technische Informatik 2 – Schaltnetze 64 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.5 Hazards (Gefahr) in Schaltnetzen Hazards stellen eine weitere wichtige Fehlerquelle dar. Beispiel: f a b z ab ac & T2 1 c 1 T1 & f T3 ideal H f(t) L real t Für b z 1 und c z 1 ist unabhängig von a die Funktion f z 1. Bei einem Wechsel von a (0 1 oder 1 0) und unterschiedlichen Gatterlaufzeiten T2 und T3 springt der Funktionswert kurzzeitig auf 0 und im Anschluß wieder auf 1. Dieses Verhalten wird Hazard (Risiko, Gefahr) genannt. SS 2002 Technische Informatik 2 – Schaltnetze 65 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Hazards Statische Hazards: Ein statischer Hazard liegt vor, wenn der Ausgang konstant bleiben sollte, aber kurzzeitig einen anderen Wert annimmt. Ein statischer 0-Hazard liegt vor, wenn der Ausgang eigentlich konstant 0 sein sollte; ein statischer 1-Hazard liegt vor, wenn der Ausgang konstant 1 sein sollte. Statischer 1-Hazard Statischer 0-Hazard Dynamische Hazards: Ein dynamischer Hazard liegt vor, wenn der Ausgang bei einem Übergang vor dem Einstellen auf den endgültigen Wert noch einige Male andere Werte annimmt. Ein dynamischer 0-1-Hazard liegt vor, wenn dies beim Wechsel von 0 nach 1 geschieht; ein dynamischer 1-0-Hazard liegt vor, wenn dies beim Wechsel von 1 nach 0 geschieht. Dynamischer 0-1-Hazard Dynamischer 1-0-Hazard SS 2002 Technische Informatik 2 – Schaltnetze 66 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Funktionshazards Funktionshazards sind schaltungsunabhängige Eigenschaften einer Booleschen Funktion. Sie treten auf, wenn sich mehrere Eingänge nicht gleichzeitig, sondern nacheinander ändern. Eine Boolesche Funktion f v x1 xx xn w hat einen statischen Funktionshazard für den Übergang von X1 z v x11 xx x1n w nach X2 z v x21 xx x2n w , wenn: 1. f v X1 wz 2. f v X2 w Xz v x1 xx xn w f v Xwz f v X1 w . z x1 oder x z x2 (i z 1 xx n) für das i i i mit xi Erkennen von Funktionshazards im KV-Diagramm: x1 z v x1 x x2 x x3 x x4 w X2 z v x1 x x2 x x3 x x4 w X1 X z v x1 x x2 x x3 x x4 w v x1 x x2 x x3 x x4 w 1 0 0 1 oder x2 x4 x3 Funktionshazards lassen sich nur durch Änderung der Booleschen Funktion vermeiden. Man kann jedoch auch dafür sorgen, daß die Änderung der Eingangsvariablen in einer bestimmten Reihenfolge geschieht. SS 2002 Technische Informatik 2 – Schaltnetze 67 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Schaltungshazards Schaltungshazards (auch: logische Hazards) entstehen durch die Signallaufzeiten in einzelnen Gattern einer Implementierung. Definition: Ein Schaltungshazard in einem Schaltnetz S, welches die Boolesche Funktion f realisiert, liegt vor, wenn: 1. f keinen Funktionshazard für den Übergang a b besitzt 2. während des Wechsels von a nach b am Ausgang von S ein Hazard beobachtbar ist. SS 2002 Technische Informatik 2 – Schaltnetze 68 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Regeln zur Erkennung von Hazards Sei f eine Boolesche Funktion und seien X1 , X2 Eingangsbelegungen, die sich nur in einer Variablen xk derart unterscheiden, daß f v X1 wz f v X2 w , dann hat eine DNF(KNF)-Realisierung dieser Funktion einen statischen 1(0)-Hazard immer dann, wenn diese Realisierung keinen AND(OR)-Term besitzt, der für die Eingangsbelegungen X1 und X2 gleich 1(0) ist einen statischen 0(1)-Hazard immer dann, wenn sie einen AND(OR)-Term besitzt, in dem sowohl xk und xk als Literale vorkommen, während alle übrigen Eingänge 1(0) sind Eine Boolesche Funktion f mit den Eingangsbelegungen X3 und X4 mit f v X3 wz f v X4 w , die sich nur in einer Variablen xk unterscheiden, hat einen dynamischen 1(0)-Hazard, wenn sie einen Term besitzt, in dem xk und xk als Literale vorkommen, dessen übrigen Literale alle 1(0) sind. Beispiel für einen statischen 1-Hazard: x1 f z x1 x2 x4 x2 x3 x4 1 z v x1 x x2 x x3 x x4 w X2 z v x1 x x2 x x3 x x4 w X1 1 1 x4 x3 SS 2002 X1 Technische Informatik 2 – Schaltnetze x2 1 X2 69 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Vermeidung von Schaltungshazards Satz (Eichelberger 1965): Ein zweistufiges Schaltnetz S für eine Boolesche Funktion f in disjunktiver Form ist frei von statischen Schaltungshazards, wenn jeder Primterm von f durch ein AND-Gatter in S realisiert wird. Strategien zur Vermeidung von Schaltungshazards: Verwendung redundanter Hardware (Satz von Eichelberger) Vermeidung von AND-Termen mit xk und xk als Literal Verlängerung von Signalleitungen, so daß unterschiedliche Laufzeiten in einzelnen Gattern ausgeglichen werden Beispiel: Zusätzliche Hardware x1 1 x1 1 1 x4 1 x2 1 1 x4 x3 1 x2 1 x3 f z x1 x2 x4 x2 x3 x4 wird zu f SS 2002 z x1 x2 x4 x2 x3 x4 x1 x2 x3 Technische Informatik 2 – Schaltnetze 70 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK 3.6 Abbildung auf eine Gatter-Bibliothek Bisher wurde vorausgesetzt, daß eine Boolesche Funktion direkt auf AND- und OR-Gatter abgebildet wird. In der Regel steht jedoch eine Bausteinbibliothek mit verschiedenen Funktionsblöcken (auch Funktionen mit mehreren Variablen), die möglichst effizient genutzt werden sollten, zur Verfügung. Bemerkung: Eine Boolesche Variable kann beliebig oft in Ausdrücken verwendet werden. Der Ausgang eines Gatters darf jedoch nur mit begrenzt vielen Gattern verbunden werden (Fanout-Begrenzung). Typische Funktionsblöcke: z.B.: Bibliothek von European Silicon Structures, ES2 ECPD10 SS 2002 AOI21: y z ab c OAI22: y z v a b w v c d w Technische Informatik 2 – Schaltnetze 71 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Technologieanpassung 1. Darstellung der Booleschen Funktion als azyklischer, gerichteter Graph aus generischen Gatterfunktionen (z.B. ausschließlich aus NAND-Gattern). 2. Darstellung der Bibliotheksbauelemente durch Gatterfunktionen (z.B. ausschließlich aus NAND-Gattern). 3. Suche nach Bereichen, in denen Teile des Graphen der Booleschen Funktion durch Graphen der Bibliotheksbauelemente überdeckt werden (Graphüberdeckungsproblem). 4. Auswahl der Bibliothekselemente, die den Implementierungsgraphen mit minimalen Kosten vollständig überdecken. SS 2002 Technische Informatik 2 – Schaltnetze 72 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Beispiel: Implementierungsgraph im NAND-System x1x2x3x4 g3 1 g6 g4 & g8 & 1 SS 2002 g1 g2 & 1 g5 g7 & 1 Technische Informatik 2 – Schaltnetze f1 g9 & f2 73 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Beispiel: Zellbibliothek für die Überdeckung Gatter Symbol NAND-Darstellung inv 1 1 1 nand2 & & 2 & & >1 1 nand3 oai21 & 1 & & 1 SS 2002 Kosten Technische Informatik 2 – Schaltnetze 3 & 3 74 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Beispiel: Überdeckung g1 g2 g3 g4 g5 g5 g6 g7 g8 g8 g9 g9 g1 g2 g3 g4 g5 g1 g2 g5 g6 g7 g8 g3 g4 g6 g8 g9 g5 g7 g9 g7 x3 g7 x1 x3 x1 x3 x2 x3 g4 x2 x4 g1 x1 x3 g2 x4 g3 g5 g6 x1 g7 g2 überdeckt ( Ausgabe g9 Eingaben g6 g7 g8 Kosten 2 1 1 1 2 3 2 1 2 3 2 3 g1 g2 g3 g4 g5 Überdeckung nand2 inv inv inv nand2 nand3 nand2 inv nand2 oai21 nand2 nand3 Gatter ) Die letzte Überdeckung (nand3 überdeckt g5 , g7 und g9) kann nicht realisiert werden, weil aus dem nand3-Gatter nicht das Eingangssignal für g8 extrahiert werden kann. SS 2002 Technische Informatik 2 – Schaltnetze 75 Johann Wolfgang Goethe-Universität TECHNISCHE INFORMATIK Beispiel: Überdeckte Schaltung x1x2x3x4 oai21 1 & & 1 nand3 & SS 2002 1 inv & Technische Informatik 2 – Schaltnetze 1 f1 nand2 & f2 76