Organisation • in der Vorlesung wird der Stoff durchgesprochen und erläutert • Folienkopien sind über shop.spod.ethz.ch zu beziehen • als Ergänzung wird das Buch "Jürgen Reichardt: Lehrbuch Digitaltechnik" empfohlen • die prüfungsrelevanten Kapitel im Textbuch sind benannt • Empfehlung: in Stichworten mitschreiben • in den Übungen Vertiefung anhand konkreter Aufgaben • die Aufgaben über shop.spod.ethz.ch beziehbar • häusliche Vorbereitung ist notwendig ! • verlangt wird als Vorbereitung die Lösung vorab benannter Aufgaben; diese werden in der Übung durchgesprochen • in den 3 Tests werden Aufgaben in der Schwierigkeit der Prüfung gestellt und entsprechend korrigiert • im Praktikum sind 5 Versuche durchzuführen mit dem Ziel, einen einfachen Melodie-Generator (‚Synthesizer‘) auf einem programmierbaren Baustein (FPGA) zu entwerfen und auszutesten • auch hier ist häusliche Vorbereitung notwendig ! Herzlich Willkommen ! Digitaltechnik Vorlesung, Übung, Praktikum Herbstsemester 2015 Prof. Dr. Gerhard Tröster Alwin Daus Andreas Mehmann Christian Vogt Paul Holz Prüfung: schriftlich im August/September 2016 Fragen, Hilfestellungen • bei Unklarheiten, zu schneller oder zu langsamer Darstellung - Fragen während der Vorlesung erwünscht - MitarbeiterInnen in den Übungen und Praktikum - ETH Edu App: Vorlesung Digitaltechnik, Praktikum Digitaltechnik - eMail-Assistenz: Alwin Daus [email protected] Christian Vogt [email protected] - professorale Beratung: ETZ H89 [email protected] • Umfrage am Semesterende Institut für Elektronik www.ife.ethz.ch http://www.ife.ee.ethz.ch/education/Digitaltechnik http://www.ife.ee.ethz.ch/education/DigitaltechnikPraktikum Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) 2 Tröster 'was ist eigentlich Elektronik ?' Vorlesungsinhalt 'ist Elektronik dasselbe wie Elektrotechnik ?' Einführung in die Digitaltechnik 'vom Gatter zum Mikroprozessor' die Elektronik: Baukasten • stellt die Bauelemente und Methoden zur Verfügung, um ein gewünschtes Verhalten mit Mittel der Elektrotechnik umsetzen zu können • logische Verknüpfungen • Zahlensysteme, Codierung • Aufbau und Funktionsweise von Gattern und sequenziellen Schaltungen • Basismodule: Speicher, programmierbare Bausteine • wird als Basistechnologie für viele Bereiche der Elektrotechnik, der Informatik, des Maschinenbaus und der Verfahrenstechnik genutzt Anwendungen • Codeumsetzer, Zähler • Automaten • Rechenschaltungen • Mikroprozessor Nachrichtentechnik Smartphone Internet, Satelliten Signalverarbeitung Energietechnik wearable Comput. Robotik Automobil e‐Mobile Solar, Wind Smart Grid Medizintechnik Herzschrittmacher Gentechnik MRI, CTI Lernziele - die Grundbegriffe der Digitaltechnik zu beherrschen Elektronik (analog, digital,..) - die wesentlichen Baublöcke zu kennen Integrationstechnologien, Bauelemente, Entwurfstechnik, Fabrikation - Digitalschaltungen analysieren zu können - Digitalschaltungen selber entwickeln zu können - Erfahrung in der Handhabung und der Einschätzung digitaler Systeme zu gewinnen Begeisterung für die Elektronik, die Informationstechnologie und für die Elektrotechnik noch weiter zu steigern Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) Tröster 4 'was ist digital ?' • binär: nur zwei definierte Zustände: (0, 1), (L, H), (0V, 5V), .. zweiwertige Logik Reichardt Kap 1.2, 1.3 • engl. digit: Zahl - in der Digitaltechnik wird sie verwendet; logische Zustände könnten auch mehrere Pegel haben, z. B. ein zusätzliches 'Zwischensignal', wenn die Photozelle halb bedeckt ist Beispiel: Füllstandanzeiger (für lichtundurchlässige Flüssigkeiten) • Bit: (engl. Binary digit): binäre Stelle • Codierung des Füllstandes: Binärbeschreibung 'Thermometercode' 'Codewort' Gefässboden • Code: Bit-Muster, Zuordnungsvorschrift Fehlererkennung und -Korrektur: • Photozelle: - sendet ein elektrisches Signal (Strom), wenn genügend Licht auf die Zelle trifft Gefässboden • Auflösung: 'wie genau kann der Füllstand angegeben werden ?' je mehr (unterscheidbare) Binärstellen, desto höher die Auflösung • Definition: keine Flüssigkeit Flüssigkeit Digitaltechnik HS2015 Photozelle bestrahlt elektrisches Signal logischer Pegel 1 Photozelle nicht bestrahlt kein elektrisches Signal logischer Pegel 0 1. Einführung ETH Zürich Institut für Elektronik (IfE) 5 Tröster Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) 6 Tröster Codeumsetzer: 'wie ist der 10 Bit-Thermometercode einem effizienteren 4 Bit-Code zugeordnet' • Redundanz 'wie viele Binärstellen sind notwendig, um die Füllstandshöhe exakt beschreiben zu können?' 10-Bit auf - für 11 unterscheidbare Füllstandshöhen {d.h. Zustände} 10 Binärstellen (Bit) von den Photozellen - wenn ein Bit zwei Zustände beschreiben kann, dann können n Bit z=2n 4-Bit Übertragung Konverter Zustände unterscheiden 'Schaltnetz' n Bit z Zustände 1 2 3 4 . 8 . 12 . 16 2 4 8 16 . 256 . 4096 . 65536 • Zuordnung zwischen einzelnen Codewörtern, zwischen einem Zustand und seiner Codierung kann in einer Wahrheitstabelle dargestellt werden: Zustandsnummer 0 1 2 3 4 5 6 7 8 9 10 d. h. für die Codierung der Zustände der 10 Photozellen sind 4 Binärstellen ausreichend. - jede Wertemenge W lässt sich mit der Binärzahl kodieren mit n 1 int(log 2 W ) Binärstellen (int: Integerfunktion) Thermometercode 4-Bit-Code ‚Dualzahlencode‘ 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 11 00 10 00 00 00 01 11 00 11 00 00 00 11 11 01 00 00 00 01 11 11 01 01 00 00 11 11 11 01 10 00 01 11 11 11 01 11 00 11 11 11 11 10 00 01 11 11 11 11 10 01 11 11 11 11 11 10 10 • digitale Grössen bestehen aus abzählbar vielen Elementen (wie sieht es mit analogen Grössen aus ?) Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) Tröster 7 Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) Tröster 8 'analog - digital - kontinuierlich - diskret ?' Signale können sowohl in ihrem Wert (Amplitude) wie in ihrem zeitlichen Auftreten kontinuierlich und diskret sein. Amplituden, Messwerte analog - digital (z.B. Füllstandanzeiger) - wie genau ? - mit welchem Aufwand ? Beispiel: Zeit: kontinuierlich - diskret 'wann soll der Füllstand abgelesen werden ?' - wenn sich der Messwert um eine Stelle verändert: wie schnell muss dann abgelesen werden, um diese Änderung zu erfassen - zu festen Zeitpunkten: dann existiert eine feste Zuordnung zwischen Messgrösse und Ablesezeitpunkt; der Füllstand zwischen den Ablesezeitpunkten ist dann nicht bekannt • Kommunikation, Datenübertragung erfordern eine gemeinsame Zeitbasis Übertragung der 4-Bit-Daten über eine einzige Leitung: Multiplexer Demultiplexer aus Ad van den Enden, Niek Verhoeckx, "Digitale Signalverarbeitung,"Vieweg 1990. vier parallele Leitungen Digitaltechnik HS2015 vier parallele Leitungen eine serielle Leitung 1. Einführung ETH Zürich Institut für Elektronik (IfE) 9 Tröster Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) Gegenüberstellung: analog - digital 10 Tröster logische Zustände, Pegel • Vorteile der Digitaltechnik: geringe Anforderungen an die Bauteiltoleranzen: Photozelle an oder aus, dafür aber erhöhter Aufwand bei der Informationsverarbeitung und -Übertragung binäre Zustände Zahlen logische Zustände physikalische Zuordnung Low, High Spannungen: {0V, 5V} Schalter: {auf, zu} Frequenzen: {F1, F2} Morse: 'kurz, lang' 0,1 • Vorteile erkauft durch erhöhten technologischen Aufwand; die Technologie integrierter Schaltungen stellt die erforderliche Komplexität zur Verfügung Wahr, Falsch True, False • Zuordnung von binären Zuständen/Zahlen zu einer physikalischen Grösse ist beliebig; es gibt häufig benutzte Konventionen: • heutiger Stand: - 128GBit-Speicher auf Daumennagelgrösse - Prozessoren mit mehr als 5 Milliarden Transistoren 'positive Logik' 'wo und wozu noch analoge Schaltungen, analoge Systeme ?' ^ 0 = L = 0V (Masse ) 1 =^ H = + 5V 5,5 V ‚1‘ H (High) 4,5 V logischer Zustand logischer Zustand nicht definiert; nicht definiert wird häufig als ‚X‘ bezeichnet Toleranzschema für analoge Schale digitaler Kern 5V-CMOS-Gatterfamilie 0,8 V ‚0‘ L (Low) 0V • mit dem Anwachsen der Digitaltechnik vergrössert sich auch die 'Analogoberfläche' Schalterlogik: Konvention: Schalter geschlossen, wenn eine 1 anliegt (A=1) Schalter offen, wenn eine 0 anliegt (A=0) („Schliesserprinzip“) • analoge Technik bleibt unverzichtbar zur Kommunikation mit der Aussenwelt: Sprache, Übertragungsmedium (Träger) A=0 A=1 Relais Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 1. Einführung ETH Zürich Institut für Elektronik (IfE) Tröster 12 UND- (AND) Verknüpfung 2. Logische Verknüpfungen 'Wenn Aussage A wahr und Aussage B wahr sind, dann ist Aussage X wahr' Lernziele: 1. logische Grundfunktionen kennenlernen, ihre Funktion, ihre Darstellung Vereinbarung: wahr (True) = logischen Zustand 1 2. Aufbau komplexer Funktionen aus zusammengesetzten Gattern Schalter offen: 3. Analyse komplexer Gatter: die Funktion eines aus den Grundgattern zusammengesetzten Schaltwerkes ist zu bestimmen R falsch (False) = logischen Zustand 0 I 0A Wahrheitstabelle Schalterlogik (Serieschaltung) OV + 5V Textbuch Reichardt: Kapitel 3 Fall A beide Schalter geschlossen: 3 I0 R 5V X 2 B I 0A • Für das Arbeiten mit binären/digitalen Systemen sind elementare Basisfunktionen erforderlich, die sich leicht in 'Elektronik' umsetzen lassen A 1 5V Motivation B ^ 0V (Masse) 0 = X 4 R>0 ^ + 5V 1 = Vorspann: Spannung, Strom, Ohm logische Gleichung UND-Verknüpfung: Ausgang X = Funktion(Eingänge A, B) (verschiedene Schreibweisen) • Elektrische Spannung U12 definiert zwischen zwei elektrischen Potentialen e1 und e2 • e2 meist als Bezugspotential zu e2 = OV gewählt e1 I Spannungsquelle Generator, Batterie U12 = e1 - e2 + =- R e2 := 0V : U12 Voltmeter Ohm’sche Gesetz: U=I.R I = U/R R=U/I Bezugspotential; Masse / GND Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) X=A*B (X = A & B) Schaltzeichen eines UND-Gatters (Tor) mit 2 Eingängen: & A •wichtig: ein definierter Spannungspegel verlangt einen ‚elektrischen Pfad‘ zur Spannungsquelle X=A.B X = A A X B A X B X B USA genormt 2. logische Verknüpfungen Tröster 1 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster ODER-Verknüpfung NEGATION, INVERTIERUNG 'Wenn Aussage A wahr oder Aussage B wahr ist, dann ist Aussage X wahr' 'Wenn Aussage A wahr ist, dann ist Aussage X falsch' Wahrheitstabelle Schalterlogik Wahrheitstabelle Schalterlogik + 5V (Parallelschaltung) + 5V Fall A B A R>0 X 1 I0 A Fall X ^ 0V (Masse) 0 = R>0 2 ^ + 5V 1 = 4 I0 X ^ 0V (Masse) 0 = 3 X A 1 2 B 2 logische Gleichung der NEGATION: 1 ^ = + 5V X= A logische Gleichung der ODER (OR)-Funktion: (verschiedene Schreibweisen) X = A X=¬A X = NOT A X=A+B Schaltzeichen eines Inverters, NICHT-Gliedes: Schaltzeichen eines ODER-Gatters (Tor) mit 2 Eingängen: A 1 A X B B genormt X 1 A X A A X B genormt USA X A X USA 1 Invertierungskreis auch am Eingang möglich Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 3 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 4 Zusammenfassung NAND-Verknüpfung, NAND-Gatter Invertierung der UND-Funktion Mit den drei Grundfunktionen UND, ODER, NICHT lassen sich alle möglichen logischen Verknüpfungen realisieren NAND-Gatter aus einem UND- Gatter und einem Inverter: & A B Schalterlogik ^ 0V (Masse) 0 = R>0 1 ^ = + 5V X Z I0 A • Häufig benutzte Gatter, die aus den Grundgattern aufgebaut sind, haben eigene Schaltzeichen erhalten Z Wahrheitstabelle + 5V (Serieschaltung) Zusammengesetzte Gatter 1 X B • 'dürfen Gatter so einfach zusammengeschaltet werden ?' Fall B A X 1 0 0 0 2 0 1 0 3 1 0 0 4 1 1 1 Z nur wenn beide Eingänge auf 1 liegen, ist der Ausgang 0 logische Gleichung der NAND-Funktion: ? Z A B Z A B Z A B Z A & B ( Z AB) Schaltzeichen eines NAND-Gatters (Tor) mit 2 Eingängen: A A A & Z Z Z B B B USA genormt Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 5 NOR-Verknüpfung, NOR-Gatter 1 1 B ? + 5V Z A Schaltnetz aus den Grundgattern UND, ODER, NICHT (mit zusammengesetzten Gattern weitere Konfigurationen möglich) Wahrheitstabelle Schalterlogik B Fall B A X 1 0 0 0 2 0 1 1 3 1 0 1 4 1 1 1 6 Entwurfsziel: Es ist ein Schaltnetz aufzubauen, das dann eine logische 1 liefert, wenn beide Eingangszustände gleich sind, sonst 0 (Äquivalenz = Gleichwertigkeit) Z X 2. logische Verknüpfungen Tröster ETH Zürich Institut für Elektronik (IfE) ÄQUIVALENZ-, -Verknüpfung, XNOR-Gatter der Ausgang eines ODER-Gatters wird invertiert A Digitaltechnik HS2015 & A Z Q 1 1 Z & S 1 B nur wenn beide Eingänge auf 0 liegen, ist der Ausgang 1 Wahrheitstabelle: logische Gleichung der NOR-Funktion Z AB Z AB (Z A B ) Schaltzeichen eines NOR-Gatters (Tor) mit 2 Eingängen: A 1 Z B A B genormt Z A Z X B Fall B A 1 0 0 2 0 1 3 1 0 4 1 1 B A Q= S= Z USA Z = ............................................................................................ Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 7 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 8 ANTIVALENZ-, EXKLUSIV-ODER-, XOR-Gatter Entwurfsziel: Es ist ein Schaltnetz aufzubauen, das das dann eine logische 1 liefert, wenn beide Eingangszustände ungleich sind, sonst 0 (Antivalenz = Ungleichwertigkeit) logische Gleichung der ÄQUIVALENZ-, XNOR-Funktion Z A B ( Z A B) Inversion des XNOR-Gatters: A = A Z B B Z Wahrheitstabelle der ANTIVALENZ-Verknüpfung: Z B USA genormt 1 X B A Z = A Schaltzeichen eines XNOR-Gatters (Tor) : Fall B A 1 0 0 2 0 1 3 1 0 4 1 1 X Z logische Gleichung der ANTIVALENZ-, XOR-Funktion Z A B (Z A B) Schaltzeichen eines XOR-Gatters (Tor) : A =1 A Z B B Z A USA genormt Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 9 Digitaltechnik HS2015 Z X B ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 10 Gatter mit mehr als zwei Eingängen Verknüpfungsmöglichkeiten bei Gattern mit zwei Eingängen • die Grundfunktionen sind nicht auf 2 Eingangsvariable beschränkt, sondern verallgemeinerbar auf n Eingänge • bei 2 Eingängen sind 4 Eingangskombinationen möglich • zu den 4 Eingangskombination können 4 Ausgangszustände definiert werden Beispiel: UND-Funktion mit n Eingangsvariablen X1 • damit sind 16 verschiedene Kombinationen von Ausgangszuständen möglich & X2 Z = X1 X2 Xn • nicht alle haben praktische Bedeutung: Reichardt S. 36 Xn 'Wenn alle Eingänge X1 bis Xn den Wert 1 haben, nur dann ist der Ausgang Z ebenfalls 1' wie gross ist die Wahrheitstabelle ? • durch jeden zusätzlichen Eingang verdoppeln sich die Kombinationsmöglichkeiten, also bei n Eingängen sind z Eingangskombinationen möglich mit z = 2n Beispiel: Wahrheitstabelle eines UND-Gatters mit 3 Eingängen Fall C B A Z 1 2 • bei einem Gatter mit n Eingängen sind 2(2n) Kombinationen von Ausgangszuständen möglich A B C 3 & Z 4 5 6 7 8 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 11 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 12 Aufbau von Gattern mit mehreren Eingängen weitere Gattersymbole, Konventionen zum Beispiel durch Kaskadierung von (n-1) Grundgattern Gatter mit Inversion am Eingang & & X2 & A & X1 B Z Z A 1 & Z X B X . . . Xn & Z zusammengesetzte Symbole Darstellung des zeitlichen Verlaufs (waveform) A (z.B. Takt) A & B Digitaltechnik HS2015 t X B t X t ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 13 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) Schaltnetzanalyse, Schaltnetzsynthese • Analyse: 'wie funktioniert eine vorgegebene Schaltung ?' • Synthese: 'wie konstruiere ich ein Schaltnetz, um eine vorgegebene Funktion zu erfüllen ?' 2. logische Verknüpfungen Tröster 14 Beispiel ein Schaltnetz ist vorgegeben: 1. wie sieht die Wahrheitstabelle aus 2. welche logische Funktion hat das Schaltnetz 3. welche Funktionsgleichung beschreibt das Netz Schaltnetzanalyse Hilfsmittel zur Analyse: A 1. Wahrheitstabelle (Wertetabelle) & X B & V • zu jeder kombinatorischen Digitalschaltung existiert eine Wahrheitstabelle • übersichtliche Darstellung (für wenig Eingangsleitungen) 1 Z 1 Y 2. Funktionsgleichung • die Verknüpfungseigenschaften werden verdeutlicht • aus der Funktionsgleichung kann die Wahrheitstabelle aufgestellt werden • aus einer vorgegebenen Funktionsgleichung kann ein Schaltnetz aufgebaut werden Z = ............................................................................................ Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 15 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 2. logische Verknüpfungen Tröster 16 MOS-Transistor, MOS-FET 3. Logikschaltungen MOS: Metal - Oxid - Semiconductor (Halbleiter) Lernziele: Transistor: Trans - Resistor (steuerbarer Widerstand) • was ist ein MOS-Transistor und wie funktioniert er ? FET: FeldEffektTransistor • wie müssen MOS-Transistoren zusammengeschaltet sein, um Gatterfunktionen zu realisieren? Aufbau: • ist ein Transistor oder Gatter beliebig schnell ? • Basismaterial Silizium • was ist ein Bus ? (Omnibus, Trolleybus ?) • zwei in ihrer Funktion komplementäre Transistortypen (CMOS: Complementary MOS) Textbuch Reichardt: • Kapitel 4 (schematischer) Querschnitt Schaltkreisfamilien • Umsetzung der logischen Verknüpfungen heute mit Halbleiterschaltungen - erste Rechner (K. Zuse) mit Relais - erster 'elektronischer' Rechner (ENIAC) mit Elektronenröhren • entsprechend der verfügbaren Halbleitertechnologie entstanden verschiedenartige Schaltungstechniken • Gatter, die nach einem gemeinsamen Schema aufgebaut sind, die mit ihren Ein- und Ausgangspegel zusammenpassen, bilden eine Schaltkreisfamilie Name NMOSTransistor N: negative Ladungen (Elektronen) Bauelemente Eigenschaften Stand/Einsatz Dioden-Schalter DTL Dioden Widerstände einfach zu langsam ausgestorben Transistor-Transistor -Logik:TTL Bipolartrans. für einfache Gatter Pegeldef. Emitter-Coupled-Logik Bipolartrans. ECL schnellste Technik hohe Leistung Kommunikationstechnik PMOSTransistor NMOS NMOS-Trans. einfach ersetzt durch CMOS Complementär-MOS CMOS MOS klein, billig unempfindlich dominierend bis 2025 ? Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) 1 Tröster NMOS-Transistor P: positive Ladungen ('Löcher') Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) 2 Tröster Aufsicht CMOS -Planar-Technologie (Layoutmasse für NMOS und PMOS annähernd gleich) (14nm) 22nm … 0.2m Gate-Länge Source GateWeite SourceKontakt Gate Drain Dimensionen Standard-CMOS-Technik Oxiddicke unter der Gate-Elektrode: 1.2 ... 20nm (1nm = 10-9m) Transistorgrösse (in 4-Transistor NAND 2015) : 0.04μm2 Querschnitt eines menschliches Haares:( 25μm)2. 2000μm2 keine leitende Verbindung zwischen Drain und Source „Schalter offen“ MOS-Transistoren sind wegen ihres symmetrischen Aufbaus unipolar: Drain und Sourceanschlüsse können vertauscht werden der MOS-Transistor ist ein Dreipol: Drain - Gate - Source (Substrat) Schaltsymbole: (Substrat/Bulk in Digitalschaltungen durch Platzierung verschaltet) D G Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster S D D G S B G D G S S S S leitende Verbindung zwischen Drain und Source „Schalter geschlossen“ (Prinzip Inversionskanal) B G G D D G G D B S S B D N - MOS D: Drain G: Gate S: Source B: Bulk, Substrat P - MOS Reichardt in Vorlesung/Übung 3 Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 4 'wie funktioniert ein MOS-Transistor ?' Kennlinien: • beschreiben den Drain-Stromes ID in Abhängigkeit von den Spannungen UGS an der Steuerelektrode Gate und der Betriebspannung UDS zwischen Drain und Source UTh: Schwellspannung, 'Threshold' • NMOS, PMOS, nichtlineare Bauelemente, Dreipole 'Gartenschlauchmodell' Drain NMOS ID ID (Steuer)Gate U DS = const U GS Drain-SourceSpannung U DS U GS U Th Source PMOS -U GS -U DS -U Th -U GS • die Stellung (Spannung) am Steuergate bestimmt die Durchflussmenge (Drainstrom) U DS = const -I D • die Durchflussmenge (Drainstrom) hängt in Grenzen von dem Gefälle (Potentialdifferenz, Spannung) ab -I D Stromstärke von ID durch die Dimensionierung der Gate-Elektrode einstellbar: (Gate Weite) ID (Gate Länge) 3. Logikschaltungen Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 5 Tröster der MOS-Transistor als Schalter Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) 6 Tröster Transmission- (Transfer) - Gate: Parallelschaltung von NMOS- und PMOSTransistor • für eine Gatespannung |UGS| kleiner als die Schwellspannung |UTh| (≈ |0,7V| in 5V-Technik) ist der Kanal Drain-Source abgeschnürt, also elektrisch nichtleitend Schalter offen; nicht im Textbuch • für Gatespannungen grösser als die Schwellspannung ist der Drain-Source-Kanal niederohmig (einige Kiloohm), also elektrisch leitend Schalter geschlossen aber • wegen der Nichtlinearität des Kanalwiderstandes kann der NMOS- Transistor nur den Low-Pegel und der PMOS-Transistoren nur den High-Pegel sicher schalten: die Drain-Source-Spannung UDS O V mit G 1= G 2 (gegenphasig) G1 G1 G2 G2 Schaltsymbole Komplementärtechnik Schaltpegel + (5V) S PMOS + + S + + (5V) S S G 0V UGS S UDS G D D D D D + (5V) + (5V) D NMOS D G S S S S 1 für D UGS A UDS G S • mit Transmissiongates können Logikgatter aufgebaut werden, z.B. D D S = 0 -> Z = A Z S S = 1 -> Z = B B Schaltfunktion Schaltfunktionen Digitaltechnik HS2015 nicht geeignet nicht geeignet, da |UDS| |UTh GS| 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster Wertetabelle ?, logische Gleichung ? 7 Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 8 Schalterlogik CMOS-Inverter + 5V Schaltbild: Gegentakt- , 'Push/Pull'- Stufe (Totem-pole) Reichardt S. 146 Z A S D 1 A Z D S CMOS-Inverter • immer (mindestens) ein Strompfad zwischen Versorgungsspannung/Masse und Gatterausgang Übertragungskennlinie: (statisch) Abhängigkeit der Ausgangsspannung am Knoten Z von der Eingangsspannung am Knoten A • im durchgeschalteten Zustand keine Stromaufnahme • keine statische Leistung zum Ansteuern notwendig; Ausgangsspannung UZ [V] • im Übergangsbereich fliesst ein Querstrom; Übergangsbereich: beide Transistoren leitend 5 • die Treiberfähigkeit hängt von der Transistorgrösse ab • das Inverterprinzip gilt für alle statischen CMOS-Gatter PMOS T1 leitend PMOS T1 gesperrt NMOS T2 gesperrt NMOS T2 leitend Struktur von statischen CMOS-Gattern + „pull-up“ Eingänge PMOS A B . . X 0 0 Z . . NMOS 5 Ausgang „pull-down“ Eingangsspannung UA [V] Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) 9 Tröster Digitaltechnik HS2015 NAND- und NOR- Gatter in CMOS-Technik 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) 10 Tröster NOR-Gatter NAND-Gatter: Reichardt S. 151ff A S S 1 Z B D D D & S D S Wahrheitstabelle Wahrheitstabelle Fall A B 1 L L H Fall A B 2 L 1 L L 3 H L 2 L H 4 H H 3 H L 4 H H Digitaltechnik HS2015 T1 T2 T3 T4 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster Z 11 Digitaltechnik HS2015 T1 ? T2 T3 T4 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster Z 12 'wie schnell schalten CMOS-Gatter ?' Konstruktion von CMOS-Gattern Reichardt S. 148 Kaskade von zwei CMOS-Inverter mit parasitären Kapazitäten statische CMOS-Gatter bestehen aus genauso vielen NMOSwie PMOS-Transistoren: bei m Eingängen m NMOS- und m PMOS-Transistoren wenn NMOS-Transistoren in Serie geschaltet ( UNDVerknüpfung), dann sind die entsprechenden PMOSTransistoren parallel angeordnet + 5V + 5V • • • • • • • • • wenn NMOS-Transistoren parallel geschaltet (ODERVerknüpfung), dann sind die entsprechenden PMOSTransistoren in Serie angeordnet • • • Laufzeit, Verzögerungszeit: Ansprechverzögerung im Gatter, bis die Umladung der Gate-Elektrode am Ausgang wirksam wird • Umladung von internen und externen Kapazitäten; Umladezeit abhängig von der Grösse der Kapazitäten und dem Kanalwiderstand der MOS-Transistoren charakteristische Zeitkonstante: = RMOS-Kanal . Cparasitär statische CMOS-Gatter invertieren das Ausgangssignal (‚Inverterprinzip‘ von MOS-Transistoren) UA [V] Beispiel: zusammengesetzte Gatter, Komplexgatter Zeitablaufdiagramm an einem Inverter: 1 A 50% A • Z & t B 1 Z UZ [V] 90% C t pHL 50% t pLH 10% tr ttLH tf t tHL Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) 13 Tröster Kenndaten für das dynamische Verhalten (CMOS): Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Verzögerungszeit • Transistor-Drainstrom ID : Gate Weite beim Übergang H L mit (Propagation delay High Low) gemessen bei 50% des Pegelhubs tpLH Verzögerungszeit beim Übergang L H Anstiegs- (Rise-) Zeit Transition Low High gemessen zwischen 10% und 90% des Pegelhubs tf ttHL Abfall- (Fall-) Zeit Transition High Low gemessen zwischen 90% und 10% des Pegelhubs d ox Gate Länge cm 2 : Beweglichkeit der Ladungsträger [ Vs ] dox : Dicke des Oxids unter der Gate-Elektrode • (mittlere) Driftgeschwindigkeit v der Ladungsträger: v E E : elektrische Feldstärke mit (Propagation delay Low High) gemessen bei 50% des Pegelhubs tr ttLH 14 Tröster MOS-Transistor: Ladungsträgerbeweglichkeit ID tpHL t • Beweglichkeit der Ladungsträger abhängig von dem jeweiligen Material, Temperatur, dem Ladungsträgertyp (Elektronen oder Löcher) und von der Ladungsträgerkonzentration • Verzögerungszeit ist bestimmt durch die interne Struktur des Gatters • Beweglichkeit für verschiedene Halbleitermaterialien bei Raumtemperatur und geringer Ladungsträgerkonzentration • Anstiegs- und Abfallzeiten hängen von der Treiberleistung der Ausgangsstufe und der externen Last ab Beweglichkeit[ cm 2 / Vs ] Elektronen n Löcher p 1350 480 Germanium Ge 3900 1900 GaAs 8600 250 InGaAs/InPn 12000 Silizium Si Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 15 Digitaltechnik HS2015 Polymere (‚Plastik’) 10-3 – 10 10-3 – 10 (!) Graphene 350.000 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 16 'open collector', 'open drain' - Verbindung, WiredVerknüpfungen (AND, OR) 'was ist eine (Kommunikations-) Bus ?' Reichardt Kap 9.5 + 5V Beispiel: Personalcomputer Terminal Drucker CD-ROM Empfänger R Busleitung Y YA YB A Bus BusTreiber Sender 1 Fall • Busse gewährleisten die Kommunikation zwischen verschiedenen Modulen in elektronischen Systemen. die Busleitung behält den High-Pegel, solange kein Bustreiber durchschaltet in ihrer logischen Funktion beeinflussen sich die Bustreiber nicht wodurch ist der Spannungspegel auf der Busleitung bestimmt (Übung !) + 5V Y B=H 1 Z 1 Beispiel: I2C-Bus (Inter-IntegratedCircuit Bus) SDA: serial data line SCL: serial clock line Y 3. Logikschaltungen Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 17 Tröster Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) + 5V Reichardt Kap 9.5.3 AnsteuerLogik • 'galvanische' Trennung der Logikstufen von der gemeinsamen Busleitung, z. B. durch ein Transmissiongate • neben den Pegeln Low und High sind weiterer Pegeldefinitionen notwendig 'don't care' Z hochohmig, schwebend, 'floating', OFF-state A ? P Fall EN A 1 0 x 2 0 x 3 1 0 4 1 1 X N Enable (EN) Ausgang unabhängig vom Eingangspegel, aber 0 oder 1 Ausgang beeinflusst nicht die angeschlossen Schaltungen A 18 Tröster Beschaltung eines CMOS-Tristate-Buffers Tristate- (Three-State) Logik (3-state) 'x' BusY YA A 4 Bus A=L YB 3 direkte Anbindung von CMOS-Gattern nicht zulässig: B=H B 2 wie ist die elektrische Verbindung zu den Busleitungen aufzubauen? Z BusTreiber Sender 2 1 • Mehrere Teilnehmer kommunizieren als Empfänger oder Sender über eine gemeinsame 'Leitung' (Ressource) A=L N Wahrheitstabelle • Busse können aus mehreren Leitungen aufgebaut sein (z.B. 4, 8, 16, ..64,..Bit) + 5V B N X ? P N X Z Z 0 1 E CMOS-Inverter mit Tristate-Ausgang Reichardt S. 156 Schalterlogik: Wahrheitstabelle + 5V Fall X B A EN A Bus B X 1 2 3 Enable (EN) 'Freischaltung' 4 Tristate-Inverter A B A EN EN Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Y Tröster 19 Digitaltechnik HS2015 3. Logikschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 20 'Bausteine' 4. Schaltalgebra, Boolesche Algebra Elemente: Binärsystem: 0 und 1 Operationen: Lernziele: binäre: UND, ODER; unär: NICHT Verknüpfungen zweier Konstanten 1. die Grund- und Rechenregeln der Booleschen Algebra kennenlernen; Reichardt S. 25 UN D 2. die Anwendung auf die Analyse und den Entwurf von Digitalschaltungen einüben; OD ER Parallelschaltung Serienschaltung (eine grundlegende Herleitung der Booleschen Algebra wird in Mathematik-Vorlesungen gegeben) Textbuch Reichardt: • Kapitel 3 Motivation: • die Schaltalgebra ist nicht an eine bestimmte Bauelementtechnologie gebunden • da binäre Zustände direkt in Digitalschaltungen umgesetzt werden können, erleichtern und vereinfachen abstrakte Regeln den Schaltungsentwurf NICHT 1 =0 Digitaltechnik HS2015 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) 1 Tröster 0 =1 4. Schaltalgebra Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) Verknüpfungen einer Konstanten mit einer Variablen 2 Tröster Verknüpfungsgesetze Reichardt Kap. 3.4.2/3.4.3 Reichardt Kap. 3.4.1 UN D NullTheorem Kommutativität (Vertauschungsgesetz) OD ER • 'die Reihenfolge der Variablen in UND-Verknüpfungen und in ODER-Verknüpfungen beeinflusst das Ergebnis nicht' UND C A EinsTheorem IdemPotenz B ODER A B C C A B B C Z = A B C = C A B A Z = B C = C A B Assoziativität (Zuordnungsgesetz) 'Variablen können zu Gruppen zusammengefasst werden' UND Z = A (B C) = (A B) C ODER Z = A (B C) = (A B) C NICHT Digitaltechnik HS2015 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) Tröster 4 Verknüpfungsgesetze Verknüpfungsgesetze Reichardt Kap. 3.4.4/3.4.6 Reichardt Kap. 3.9 Bindungsregeln (Vorrangregeln) Distributivität (Verteilungsgesetz) •'gemeinsame Variablen können verteilt ('ausmultipliziert, ausgeklammert') werden A B C • eine Regelung ist notwendig, da sonst die Eindeutigkeit nicht gewährleistet ist disjunktiv konjunktiv A • 'welche der Operationen (UND/ODER/NICHT) hat höhere Priorität ?' B A A B C Beispiel: B die Gleichung Z = A B C mit A = B = 1, C = 0 ergibt je nach Reihenfolge der Berechnung A C A C Z = (A B) C = (1 1) 0 = 0 Z = A (B C) = 1 (1 0) = 1 (A B) (A C) = A (B C) (A B) (A C) = A (B C) daher als Regeln/Prioritäten 1. Klammern 2. Negation ¬ Vereinfachungsregeln 3. {UND, AND,ODER,NOR} vor {EXOR,XNOR} 4. {UND, AND,ODER,NOR} und {EXOR,XNOR} untereinander gleichwertig Adsorptionsgesetze A ( A B) = A B A ( A B) = A B und • entgegen Regel 4 ist die Vereinbarung „UND-Verknüpfung vor ODER-Verknüpfung“ in einigen Lehrbüchern und Simulationstools implementiert; daher eindeutigen Ablauf (z.B. bei obigem Beispiel) durch Klammern festlegen Absorptionsgesetze A (A B) = A und A (A B) = A Nachbarschaftsgesetze (A B) ( A B) = B Digitaltechnik HS2015 und (A B) ( A B) = B 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) 5 Tröster Digitaltechnik HS2015 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) 6 Tröster De Morgan‘sche Regeln De Morgan‘sche Regeln Reichardt Kap. 3.4.5 • 'welche Beziehungen bestehen zwischen der UND ODER, NAND NOR, ist ein gegenseitiger Austausch möglich ?' Beweis für 2 Variablen anhand einer Wahrheitstabelle: Erstes De Morgansche Gesetz: A AB = A B AB = A B & X B 1 A X B Fall B A AB 1 0 0 00 = 11 = A B 2 0 1 01 = 3 1 0 10 = 4 1 1 11 = AB A B 00 = 11 = 10 = 01 = 10 = 01 = 10 = 01 = 00 = 11 = 00 = NAND-Funktion kann durch eine ODER-Funktion mit invertierten Eingängen ersetzt werden die DeMorgan‘sche Gesetze sind verallgemeinerbar auf mehrere Variable: Zweites De Morgan‘sche Gesetz: A B A B = A B AB = A B 1 X A 1. Gesetz Z = A B C ... = A B C 2. Gesetz Z = A B C ... = A B C & X B NOR-Funktion kann durch eine UND-Funktion mit invertierten Eingängen ersetzt werden Digitaltechnik HS2015 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) Tröster 7 Digitaltechnik HS2015 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) Tröster 8 Erweiterungen Grundgatter, Universalgatter Negation der ersten De Morgan‘schen Regel AB = A B A & B • mit den Grundgattern UND, ODER, NICHT kann jede logische Verknüpfung realisiert werden A B = A B X • die De Morgan‘sche Regeln ermöglichen den Ersatz von Grundgattern 1 A X B • jedes 'Universalgatter' NAND oder NOR allein ist ausreichend ! 1 die UND-Funktion kann durch die NOR-Funktion ersetzt werden A 1 1 X B Negation der zweiten De Morgan‘schen Regel AB = A B A B A B= 1 X UND, NICHT ODER, NICHT Grundgatter UND, ODER, NICHT A B A & B X NOR NAND & die ODER-Funktion kann durch die NAND-Funktion ersetzt werden Digitaltechnik HS2015 A B & & 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) Tröster X 9 Digitaltechnik HS2015 4. Schaltalgebra ETH Zürich Institut für Elektronik (IfE) Tröster 10 Synthesemöglichkeiten 5. Schaltungssynthese 'wie kommen wir von einer gegebenen Aufgabenstellung zu einem Schaltplan' Lernziele: • Normalformen • Karnaugh-Diagramm • Aufspüren und Beseitigen von Hazards verbale Formulierung Funktionsgleichung Wertetabelle Variablenzuordnung Textbuch Reichardt: • Kapitel 3.6, 6 (teilweise) Motivation: Wertetabelle • Boolesche Algebra, Rechenregeln, Grundgatter: damit können wir jede kombinatorische Schaltung aufbauen Normalformen Vereinfachung Logikminimierung • die Voraussetzungen und die Grundlagen sind vorhanden, um Schaltungen synthetisieren zu können > Boolesche Algebra: mathematische Grundlage Rechenregeln, Schaltalgebra logische Verknüpfung von Variablen Wahrheitstabelle Funktionsgleichung Schaltplan > die notwendigen Grundgatter sind eingeführt, mit denen jede kombinatorische Schaltung realisiert werden kann Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 1 Tröster Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 2 Tröster Minterm Produktterm Vollkonjunktion Definitionen: Schaltfunktion, Min- Maxterme; Normalformen Reichardt, S. 44 Minterme sind UND-Verknüpfungen, die alle Schaltvariablen genau einmal in negierter oder nichtnegierter Form enthalten • bei n Schaltvariablen gibt es 2n verschiedene Minterme z.B. bei zwei Variablen A und B • eine Schaltfunktion ist eine eindeutige Zuordnungsvorschrift, die jeder Wertekombination von Variablen einen Wert zuordnet, also jeder der 2n Wertekombinationen AB A B A B A B jeder Minterm hat nur bei einer Kombination der Wertetabelle den Wert 1, bei allen anderen Kombinationen den Wert 0 x1, x2, ..., xn mit xi {0,1} (i = 1,2,...,n) A, B, C... Fall A B 1 0 0 ƒ(x1, x2, ..., xn ) {0,1} 2 0 1 ƒ(A, B, C, ..) 3 1 0 4 1 1 wird durch die Zuordnungsvorschrift ƒ eindeutig ein Funktionswert zugeordnet. Mit AB AB A B A B • wie findet man den Minterm, der bei einer bestimmten Werte-Kombination den Wert 1 hat ? y = ƒ(x1, x2, ..., xn ) y = ƒ(A, B, C, ..) > die UND-Verknüpfung aus allen Schaltvariablen benennen und die Variablen negieren, die bei dieser Kombination den Wert 0 haben 'ist y eine Funktion von x1, x2, ..., xn ' A, B, C, .. > Beispiel: zu der Wertekombination 1 0 gehört der Minterm A B Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 4 Maxterm Summenterm Volldisjunktion Zweistufige Normalformen Reichardt, S. 25 Maxterme sind ODER-Verknüpfungen, die alle Schaltvariablen genau einmal in negierter oder nichtnegierter Form enthalten • bei n Schaltvariablen gibt es 2n verschiedene Maxterme z.B. bei zwei Variablen A und B A B AB A B A B A B 1 0 0 2 0 1 3 1 0 4 1 1 AB A B die zweistufige kanonisch konjunktive Normalform KNF (UNDNormalform) besteht aus der konjunktiven (UND-) Verknüpfung aller Maxterme einer Schaltfunktion A B A B Beispiel: (Funktion y = ƒ (A,B,C) ist vorgegeben) • wie findet man den Maxterm, der bei einer bestimmten Kombination den Wert 0 hat ? > die ODER-Verknüpfung aus allen Schaltvariablen benennen und die Variablen negieren, die bei dieser Kombination den Wert 1 haben Beispiel: zu der Wertekombination 1 0 gehört der Maxterm A B Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) die zweistufige disjunktive Normalform DNF (ODER-Normalform) besteht aus der disjunktiven (ODER-) Verknüpfung von einem oder mehreren Mintermen einer Schaltfunktion die zweistufige kanonisch disjunktive Normalform (ODERNormalform) besteht aus der disjunktiven (ODER-) Verknüpfung aller Minterme einer Schaltfunktion jeder Maxterm hat nur bei einer Kombination der Wertetabelle den Wert 0, bei allen anderen Kombinationen den Wert 1 Fall Reichardt, S. 32 5 Tröster A B C y = ƒ (A,B,C) 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 Digitaltechnik HS2015 Minterme Maxterme 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 6 Tröster 'wie kann eine Funktionsgleichung vereinfacht und minimiert werden ?' zweistufige kanonisch disjunktive Normalform DNF: ƒ (A,B,C) = ( A B C ) ( A BC) (A B C ) (A B C) • die kanonische Normalformen geben nicht notwendigerweise die einfachsten Gleichungen an zweistufige kanonisch konjunktive Normalform KNF : Vereinfachung von Schaltfunktionen ƒ (A,B,C) = (AB C ) (A B C) ( A B C) ( A B C ) • mit den Gesetzen der Schaltalgebra • mit KV-Diagrammen • Methode von Quine-McCluskey Bedeutung der zweistufigen kanonischen Normalformen: Möglichkeiten der Schaltalgebra Jede Schaltfunktion ist darstellbar in der kanonisch disjunktiven Normalform und in der kanonisch konjunktiven Normalform. • Ausklammern, Kürzen, Zusammenfassen, DeMorgan Beide Darstellungen sind äquivalent und ineinander überführbar (Dualität). Beispiel: ƒ (A,B,C) = ( A B C ) ( A B C ) (A B C) (ABC) Ausklammern von ( B B) Schaltungssynthese = ( A C )( B B) (AC)( B B) Zu jeder Wahrheitstabelle können systematisch Funktionsgleichungen in Form der kanonische Normalformen erstellt werden Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 7 = ( A C ) (AC) Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 8 Karnaugh (KV)-Diagramm • die Existenz einer Vollkonjunktion (Minterm) in einer gegebenen Funktionsgleichung oder Wertetabelle wird durch eine 1 in dem entsprechenden Feld gekennzeichnet Reichardt, Kap 6.2 f • übersichtliche Darstellung der zweistufigen Normalformen als eine zweidimensionale Wertetabelle Beispiel: Konstruktionsprinzip für die ODER (disjunktive) Normalform DNF ƒ (A,B) = ( A B ) (A B ) A A • das KV-Diagramm einer Funktionsgleichung mit n Variablen besteht aus 2n Felder • jede Variable erscheint in ihrer negierten und nichtnegierten Form, und zwar an der gleichen Diagrammseite B • jedes Feld ist reserviert für eine Vollkonjunktion (Minterm) entsprechend der Zuordnung der Variablen an den Rändern B KV-Diagramm für 2 Variable A und B: B A A AB AB A B B ¬B alternative Form (Reichardt, S. 92) B Digitaltechnik HS2015 • orthogonal benachbarte Vollkonjunktionen können zu einem 'Päckchen' (auch Implikant, Block oder Schleife) zusammengefasst werden • diese Päckchen (Primimplikanten[Reichardt]) enthalten Variable in ihrer negierten und nichtnegierten Form, die bei der Koordinatenbeschreibung dieses Päckchens entfallen können; damit vereinfacht sich die Schaltfunktion AB ¬A A AB A B AB AB • Beispiel: ƒ (A,B) = ( A B ) (A B ) Distributivität, Ausklammern von ( A A), Nachbarschaftsgesetz = ( A A) B = B 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 9 Tröster 5. Schaltungssynthese Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 10 Tröster KV-Diagramme mit 3 Variablen • bei mehreren Päckchen besteht die vereinfachte Schaltfunktion aus der ODER-Verknüpfung der einzelnen Päckchenterme und eventuell übriggebliebener Einzelfelder Reichardt, S. 92 Beispiel A ƒ (A,B) = ( A B ) ( A B) (A B ) 3 Möglichkeiten der Zusammenfassung A A B B 1 A 1 B 1 B 1 A A 1 B 1 B (A,B) = .............. (A,B) = .............. B A 1 1 B 1 C (A,B) = .............. C C • statt einer dreidimensionalen zylinderförmigen Struktur des KV-Diagramms wird ein zweidimensionales Diagramm mit erweiterten Nachbarschaftsbedingungen benutzt die Blöcke sind möglichst gross zu wählen • ein Päckchen darf nur 2i, i = 0, 1, 2, ... Elemente besitzen weitere Beispiele: Digitaltechnik HS2015 A • jedes Päckchen muss rechteckig sein (4 Ecken) A A B 1 1 B B 1 1 B A A 1 1 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 12 KV-Diagramme mit 4 Variablen Beispiele für erweiterte Nachbarschaftsbedingungen: Reichardt, S. 94 ƒ(A,B,C) = ................... ƒ(A,B,C) = ................... 1 1 erweiterte Nachbarschaft auch über die Ecken (Kugelform) 1 Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 13 Tröster KV-Diagramme mit 5 Variablen Digitaltechnik HS2015 1 CD 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 14 Tröster KV-Diagramm der UND-(konjunktive) Normalform KNF für die Variablen A und B Reichardt, Kap 6.2.2) • jedes Feld im KV-Diagramm ist reserviert für eine Volldisjunktion (Maxterm: ODER-Verknüpfung = 0) entsprechend der Zuordnung der Variablen an der Rändern A A B A B AB B AB A B Beispiel: A A B (A,B) KV-Diagramme mit mehr als 5 Variablen • bei mehr als 5 Variablen ist die Übersichtlichkeit und Handhabbarkeit sehr erschwert 0 0 1 0 1 0 1 0 1 1 1 0 • Vereinfachung zu A B B ƒ (A,B) = • komplexere Systeme versucht man daher zuerst zu vereinfachen, oder setzt Computerprogramme ein Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 15 Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 16 alternative Bezeichnung des KV-Diagramms KV-Diagramme für die UND (konjunktive) und die ODER (disjunktive) Normalform nicht im Textbuch, aber in den Übungen • für KV-Diagramme der beiden Normalformen gelten ähnliche Konstruktions- und Auswerteregeln • statt die Variablen an alle 4 Seiten anzuordnen, werden sie häufig paarweise an der oberen und der linken Kante aufgetragen • beide Diagramme sind zueinander komplementär: aus einem vollständigen Diagramm kann die konjunktive und disjunktive Normalform entnommen werden • die Binärkombinationen dürfen sich in vertikaler oder horizontaler Richtung nur um jeweils einen Wert ändern (sog. einschrittiger Code) Beispiel: KV-Diagramm mit 4 Variablen Gegenüberstellung: ODER (disjunktive) UND (konjunktive) A Normalform A CA 2n- Felder bei n Variablen Variable (original und negiert) an den Rändern Minterme in den Feldern Maxterme 1 mit dem Wert 0 10 11 01 DB 00 01 D 11 B D orthogonal benachbarte Minterme Maxterme können zu Päckchen zusammengefasst werden 10 B die vereinfachte Schaltfunktion besteht aus der ODER-Verknüpfung D 00 UND-Verknüpfung C der einzelnen rechteckigen Päckchenterme mit 2i Elementen Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 17 Tröster Digitaltechnik HS2015 don't care Zustände ( A BCD)7 (A B C D )8 (A B C D )10 (AB C D )12 • Beispiel: In einer Digitaluhr, die auch die Monate anzeigt, soll eine möglichst einfache Schaltung entworfen werden, die die Monate mit 31 Tagen detektiert. Januar Februar März April Mai Juni Juli August September Oktober November Dezember 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 18 Tröster ƒ(A,B,C,D) = ( A B C D)1 ( A B CD)3 ( A B C D)5 Reichardt, Kap 6.2.3 1 2 3 4 5 6 7 8 9 10 11 12 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Kanonische disjunktive Normalform der Funktion ƒ(A,B,C,D), die alle Monate mit 31 Tagen benennt: Es gibt Wertetabellen, in denen nicht für jede der 2n -Kombinationen der Eingangsvariablen ein Wert der Ausgangsvariablen definiert ist. Diese don't care Terme werden meist mit X gekennzeichnet und dürfen den Wert 0 oder 1 annehmen Die 12 Monate sind mit 4 Bit codiert, also Wertetabelle: Nr Monat Codierung A B C D C C KV-Diagramm: CA DB 01 31 Tage 11 1 0 1 0 1 0 1 1 0 1 0 1 1 12 00 X 14 X 1 X 15 13 7 1 5 1 10 00 10 11 01 3 1 8 1 1 1 X 10 0 don't care Terme (nichtexistierende Monate) 0 0 0 0 0 13 14 15 Digitaltechnik HS2015 1 1 1 1 1 1 0 1 1 0 1 1 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 19 Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 20 A A A A 1 I1 B D X 12 X 1 X 15 13 5 3 B I 1 10 1 II C 7 C 1 1 1 10 8 D 1 D X 1 5 3 B 0 X 0 D C C C ƒ(A,B,C,D) • die Funktion kann vereinfacht werden zu = (A D ) ( A D) = AD ƒ(A,B,C,D) = (A C D ) (A B D ) ( A D) II 1 X 15 13 1 C I D X D III 1 1 14 X 1 7 1 8 B 14 12 (ANTIVALENZ) • Ergebnis: Aufwand zur Implementierung der Wertetabelle III • eine weitere Vereinfachung ist möglich, wenn dem 'don't care' Term 14: ABCD = 1110 der Wert 1 zugewiesen wird, da dann die Päckchen I und II zusammenzufassen sind Anzahl Verknüpfungen 27 7 3 kanonische ODER-Normalform: mit KV-Diagramm mit 'don't care' Term 'don't care' Terme dürfen genutzt werden, um Funktionsgleichungen zu vereinfachen • welches Ergebnis liefert die konjunktive Normalform ? 5. Schaltungssynthese Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 21 Tröster 5. Schaltungssynthese Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) Mehrstufige Logik Hazards (Spikes, Glitches) Störungen in Digitalsystemen • jede logische Funktion kann auf eine zweistufige Form abgebildet werden Reichardt, S. 104 • mehrstufige Logik benötigt i.allg. weniger Gatter, aber bedingt längere Verzögerungszeiten • bisher wurde angenommen, dass die realen zeitlichen Verzögerungen in den Verknüpfungsgattern keine Verfälschung der logischen Funktion hervorruft • (Gegen) Beispiel: im eingeschwungenen Zustand ist die Funktion • die Umwandlung einer zweistufigen in eine mehrstufige Logik kann durch Faktorisierung erfolgen; Beispiel ƒ =ADF+AEF+BDF+BEF+CDF+CEF+G = (A D + A E + B D + B E + C D + C E ) F + G ƒ(A) = A A = [(A + B + C) D + (A + B + C) E] F + G immer 1 Inverter und ODER-Gatter mit realen Laufzeiten (tpd: Propagation Delay) =(A + B + C) (D + E) F + G =XYF+G 22 Tröster mit X=A+B+C;Y=D+E A D F A E F B D F B E F C D F C E F 1 Z 2 3 4 7 ƒ A B C 1 D E 2 X Y 3 4 ein Hazard tritt auf, da die Signale A und A nicht 'gleichzeitig' an dem ODER-Gatter anliegen ƒ F G 5 zweistufig 1 aus R.Katz, „Contemporary Logic Design“, Benjamin/Cummings, 1994 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster Signal A 0 Ausgang Z 1 • (heuristische) Verfahren zur Faktorisierung werden in Synthesetools eingesetzt Digitaltechnik HS2015 A 0 6 G Eingang 1 dreistufig 0 Hazard ‘kurzzeitige und unerwünschte Änderung von Signalwerten’ (Reichardt) 23 Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 24 'wodurch entstehen Hazards ?' 'wie können wir Hazards aufspüren' • Signale werden in Schaltnetzen unterschiedlich lange verzögert, abhängig • (statische) Hazards entstehen, wenn ein Signal von einem logischen Zustand in den anderen invertiert und der Ausgangswert unverändert bleibt von den Laufzeiten in den einzelnen Gattern • Signalwechsel können daher zu unterschiedlichen Zeitpunkten an einem Gatter anliegen und ein ungewolltes Schalten des Gatters bewirken • Dieser Wechsel ist im KV-Diagramm markierbar • Hazards können zu Fehlfunktionen in digitalen Systemen führen (z.B. wenn Datenspeicher falsch adressiert werden) • Klassifizierung von Hazards > statische Hazards (Strukturhazards): Beispiel: ƒ(ABCD) = (AB) ( B C) disjunktiv ƒ(ABCD) = (A B ) (BC) konjunktiv wenn nur ein Signalwechsel zwischen dem negierten und nichtnegierten Zustand an einem Gatter auftritt ƒ ƒ AA AA CA t statischer 0-Hazard 01 11 10 00 01 1 1 0 0 11 1 1 0 0 0 1 1 0 0 1 1 0 DB t statischer 1-Hazard > funktionale Hazards: wenn mehrere Signale schalten, z.B. von ABC = 111 nach ABC = 000, ist es sehr unwahrscheinlich, dass alle 3 Zustände 'gleichzeitig' wechseln, eher kritischer Übergang zw ischen B u nd B z.B. 111 101 001 000. Diese Hazards sind mehr begründet in der logischen Funktion als in der Implementierung 10 > dynamische Hazards (mehrere Wechsel) ƒ 00 t Gegenmassnahmen: • Angleichen der Verzögerungen, z.B. durch Verzögerungselemente > riskant, da temperatur- und typenabhängig Hinweis: Wenn sich ‘Päckchen’ diagonal berühren, wechseln (mindestens) zwei Signale. kein Struktur-, sondern ein funktionaler Hazard • besser: systematische Vorgehensweise Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) 25 Tröster 5. Schaltungssynthese Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) A Schaltnetz B & B A 1 & 1 0 0 D 1 1 0 0 ƒ C B 1 B & ƒ C zusätzliche Blöcke D 1 B 1-H azard A 1 A 26 Tröster 0 1 1 0 0 1 1 0 B 0-H azard die Stellen im KV-Diagramm, an denen sich Päckchen berühren, markieren kritische Signalwechsel C D C C erweiterte, 'hazardfreies' Schaltnetze Abhilfe B sich berührende Päckchen durch eine zusätzliche Schleife verbinden & B A & • neue Funktionsgleichung (disjunktiv): ƒ(ABCD) = (AB) ( B C) (AC) A 1 C & B > der Term (AC) ist immer 0, wenn B invertiert 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster & ƒ C 1 B • neue Funktionsgleichung (konjunktiv): ƒ(ABCD) = (A B ) (BC) (AC) Digitaltechnik HS2015 1 ƒ > der Term (AC) ist immer 1, wenn B invertiert (von B nach B und umgekehrt) 1 Hinweis: Wenn sich ‘Päckchen’ diagonal berühren, wechseln (mindestens) zwei Signale. kein Struktur-, sondern ein funktionaler Hazard 27 Digitaltechnik HS2015 5. Schaltungssynthese ETH Zürich Institut für Elektronik (IfE) Tröster 28 was sind programmierbare Bausteine ? 6. Programmierbare Bausteine • integrierte Schaltungen, die aus einem oder mehreren Arrays von z.T. verdrahteten Funktionsblöcken bestehen Lernziele • der Benutzer implementiert seine Anwendung durch Konfigurierung der Hardware, z.B. durch Lösen oder den Aufbau von Verbindungen • wo braucht man programmierbare Bausteine • wie sind programmierbare Bausteine aufgebaut, z.B. das Bauteil Cyclone II aus dem Praktikum • für den Entwurf und die Programmierung stehen Softwaretools zur Verfügung • was bedeutet PLD, PAL, PLA, FPGA • wie werden sie programmiert • je nach Aufbau und Anwendungsbereich gibt es eine Vielzahl von verschiedenen Bauformen Textbuch Reichardt wie kann man Hardware programmieren ? • Kap. 16 (teilweise) • mit elektrisch programmierbaren Schaltern können Verbindungen zwischen Gattern oder komplexeren Funktionseinheiten geschlossen oder gelöst werden Motivation • logische Funktionen können auch in programmierbaren ROModer Flash-Strukturen abgelegt werden • wie können wir Schaltnetze und Schaltwerke implementieren, z.B. Programmiertechniken: Software > Software auf einem PC > durch Programmierung eine Mikroprozessors > durch Konfigurieren eines programmierbaren Bausteins > durch den Zusammenbau aus Grundgattern > durch einen integrierten Schaltkreis Hardware 1. SRAM (Static Random Access Memory)-Zelle • in einer SRAM-Zelle (vereinfachtes SR-Latch [wird in Kap 9 besprochen]) oder Flash-Zelle kann eine 1-Bit-Information abgelegt werden, die nachgeschaltete Module steuert • programmierbare Bausteine (?) • die Informationen können immer wieder überschrieben werden • attraktive Hardwareplattform für die Entwicklung und Prototypfertigung mit starken Zuwächsen • die abgespeicherten Informationen gehen bei Unterbruch der Betriebsspannung verloren nicht bei Flash-Speicher PLD: Programmable Logic Devices Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 1 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 2 3. 'Floating Gate'-Technik (Flash) Anwendung von SRAM-Zellen • Ladungen auf einem Zusatzgate (floating gate) schalten einen MOS-Transistor permanent ein oder aus • EPROM: löschbar durch UV-Licht EEPROM (Flash): elektrisch löschbar durch Spannungsimpuls • eine SRAM-Zelle kann einen MOS-Schalter (Transfer-, Transmission-Gate) schalten • zur Steuerung eines 4-zu-1 -Multiplexers genügen 2 SRAM-Zellen 2. 'Antifuse'-Technik • durch einen Spannungsimpuls ( ca 10V) wird eine hochohmige Verbindung niederohmig; z.B. an Leiterbahnkreuzungen Querschnitt Floating-Gate (Speicher-)Transistor • diese Programmiertechnik lässt sich sehr platzsparend implementieren, sie ist aber nicht reversibel Beispiel: Actel PLICE Technologie Leitbahn (wikimed) Durchbruchsbereich Dünnoxid Dickoxid Dickoxid d iffund ierte Leitbahn Querschnitt Silizium-Substrat Leitbahn A ufsicht d iffund ierte Leitbahn Digitaltechnik HS2015 Durchbruchsbereich 'anti-fuse' ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 3 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 4 PAL: Programmable Array Logic a b 1 d • Abbildung der disjunktiven Normalform (Summe von Produkttermen) auf eine vorgefertigte Hardware-Architektur > PALs bestehen aus programmierbaren UND-Arrays und festverdrahteten ODER-Verknüpfungen (bei den PLAs: Programmable Logik Arrays ist auch die ODER-Matrix programmierbar; PLAs sind weitgehend von den PALs verdrängt worden) a b c d & a.b.d & UND-Verknüpfung der Variablen a, b, d mit 4-Eingangs-UND- a b 0 d Basisstruktur eines PALs: ODER-Matrix a.b.d Darstellung in einem PLA mit festen Verbindungen a b c d 1 a+b+d 1 a+b+d Darstellung in einem PLA ODER-Verknüpfung mit festen Verbindungen • schaltungstechnisch werden die UND-Verknüpfungen durch 'wired-AND'-Techniken realisiert Ausgänge ______________________________________________ • Beispiel (für eine einfache Implementierung): > die beiden Funktionen y0 = x2 + x0 .x1 y1 = x0 .x1 + x0 . x2 + x0. x1 .x2 UND-Matrix sind in einem PAL zu programmieren: Eingänge • zur übersichtlichen Darstellung wird eine vereinfachte Verknüpfungsnotation benutzt Beispiel: Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 5 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 6 ein modernes Tool: Feldprogrammierbare Gate-Arrays FPGAs Ergebnis: • PALs sind für die Umsetzung komplexerer Schaltungsstrukturen wie Datenpfade mit Recheneinheiten oder kompletten Mikrorechnerstrukturen zu unflexibel • die Fortschritte der Halbleitertechnik erlauben die Integration grossflächiger Strukturen • FPGAs bestehen aus einem Array von (komplexen) Logikblöcken und einzelnen Funktionsblöcken wie Rechenschaltungen, Speicher und Prozessorkerne • die Verbindung zwischen den Logikblöcken wie die Konfiguration der Logikblöcke selber sind programmierbar 'amerikanische' PAL-Notation PAL von der Firma Advanced Micro Devices (Ausschnitt) DE1-Altera Development Boards (vereinfachte) Architektur des FPGA-Bausteins Cyclone II der Firma ALTERA aus dem Praktikum UND-Matrix ODER-Matrix PLL: Phase-Locked Loop zur Generierung verschiedener Taktfrequenzen IOEs: Input/Output Elements • die Ausgänge sind mit Tristate-Gatter beschaltet und in das Schaltnetz zurückgekoppelt Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster M4K: 4k Bit Speicher, verschieden konfigurierbar LAB: Logic Array Blocks, bestehen aus jeweils 16 Logic Elements LE 7 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 8 Look-up Table (LUT) LE: Logic Element (aus der Cyclone II -Serie) • in einer Tabelle kann jede kombinatorische Verknüpfung durch Abspeichern der Wahrheitstabelle abgelegt werden Beispiel: die Funktion f = a.b + c mit der Wahheitstabelle > Funktionsmerkmale: LUT: 8 x 1 Sp eicher • über verschiedene Ketten ‚chains‘ können Daten zwischen den LEs ausgetauscht werden f 1 0 1 0 1 0 1 1 • die LockUp (LUT) Table besteht aus einem 16 Bit-Speicher (SRAM), mit dem entweder eine beliebige Eingangsfunktion von 4 Variablen realisiert werden kann (24 Bit x 1), oder zwei beliebige Funktionen mit je 3 Eingangsvariablen (23 Bit x 2) b • Look-Up- Tabellen werden häufig eingesetzt, z.B. > in der Bildverarbeitung: Multiplikation von Bildpunkten (Pixel) zur Filterung oder Farbveränderungen 9 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) Interzellverbindungen (Cyclone II) 6. Programmierbare Bausteine Tröster 10 (Cyclone II) System- und Schaltungsentwurf auf programmierbaren Bausteinen • programmierbare Schaltermatrizen (auf der SRAM-Technik basierend) stellen die Verbindungen zwischen den Verdrahtungskanälen her • wie kann man eine Schaltung auf ein PLD/FPGA implementieren • die LEs sind über programmierbare Anschlüsse in das Verbindungsnetz eingehängt • CAD (Computer Aided Design) Tools: > Schaltungsentwurf (und Simulation) mit graphischen Editoren oder schaltungsspezifischer Programmiersprache (z.B. VHDL: Very High speed integrated circuits Hardware Description Language) spezielle Ein-und Ausgangszellen • jeder Anschluss kann als Ein- oder Ausgang genutzt werden • Eingangspegel (TTL, CMOS), Synchronisierung (durch D-FF), Ausgangspegel (z.B. Tristate), Anstiegszeit (Slew Rate), Ruhepotential (durch Pull-up Widerstand) können für jede Zelle programmiert werden ETH Zürich Institut für Elektronik (IfE) f • Laufzeit durch die LUT logikunabhängig • Logikfunktion im Betrieb umprogrammierbar Digitaltechnik HS2015 1 0 1 0 1 0 1 1 • eine LUT mit k Eingängen und einem Ausgang benötigt 2k Speicherzellen • verschiedene Taktsignale, asynchroner Reset 6. Programmierbare Bausteine Tröster c 0 1 0 1 0 1 0 1 c • in das D-Flipflop können die Ausgaben des kombinatorischen Blocks oder von data3 gespeichert werden ETH Zürich Institut für Elektronik (IfE) b 0 0 1 1 0 0 1 1 a • ein LE enthält neben einem D-Flipflop (wird in Kap 9 besprochen) einen kombinatorischen Block und mehrere Multiplexer zur Signalverteilung Digitaltechnik HS2015 a 0 0 0 0 1 1 1 1 6. Programmierbare Bausteine Tröster > Übersetzungsprogramme (Compiler) generieren Instruktionen und Daten für den jeweiligen Baustein > eine Rücksimulation notwendig, um aus der aktuellen Implementierung in dem PLD das logische und dynamische Verhalten (Timing) zu extrahieren und mit den Spezifikationen zu vergleichen 11 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 12 Rücksimulation, Backannotation Vorgefertigte (embedded) Module (Xilinx) • DSP Slice (bis 500MHz) Ersatzschaltbild Leitungsverbindung Komplexe Zellen: Xilinx Virtex-7 SLICEM (2014) • Embedded PowerPC 405 core > 450 MHz, MIPS RISC core (32-bit Harvard architecture) Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 13 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 14 Gegenüberstellung: (einfaches) Beispiel: Ansteuerung Schrittmotor wann nehme ich ein ASIC, wann ein FPGA, wann einen Mikroprozessor ? •Beispiel: Steuerung Garagenautomat-Automat •Fallbeispiel: Kriterium Stückkosten •ASIC - FPGA - μP Entwicklungs- Impulsdiagramm ASIC FPGA μProzessor Stückpreis CHF bei Stückzahl kosten CHF 106 103 10 1'000'000 80'000 80'000 11 20 100 1'020 100 180 102'000 10'000 8'100 • hohe Initialkosten verlangen eine grosse Stückzahl bei kleinen Fertigungskosten Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 15 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 6. Programmierbare Bausteine Tröster 16 'was ist ein Zahlensystem ?' 7. Zahlen, Kodes (Codes) Reichardt, Kap 5.1 ff ' wie kann man mit 0 und 1 rechnen ?' • Grundlagen moderner Zahlensysteme: > Stellenwertprinzip: die Position einer Ziffer innerhalb einer Zahl gibt den Wert an, mit der die Basis des Zahlensystems an dieser Stelle potenziert werden muss (polyadische Zahlensysteme) Lernziele • virtuoser Umgang mit verschiedenen Zahlensystemen: Dual-, Hexadezimal- (Oktal-) Zahlen, 2er-Komplement • Arithmetik mit Dualzahlen > es existiert eine Zahl 'Null' • verschiedene Kodes z.B. BCD; fehlererkennende & fehlerkorrigierende Kodes > die Anzahl der verschiedenen Ziffernsymbole entspricht der Basis des Zahlensystems Textbuch Reichardt: • Kapitel 5: wesentliche Teile in veränderter Reihenfolge Festkommazahlen (fixed point numbers) • Kapitel 8: teilweise Fliesskommadarstellung (floating point numbers) • Festkomma: Dezimalzahl ohne Exponenten; der Dezimalpunkt bestimmt den Zahlenwert mit, z.B. Motivation • das Dualzahlensystem bietet viele Möglichkeiten, Zahlen zu repräsentieren (Kodes) 1(,0) • für die Arbeitsweise von Rechenmaschinen, für Steuerungsaufgaben, für die digitale Signalverarbeitung und in der Kommunikationstechnik spielen Zahlendarstellung und Kodierung eine wichtige Rolle, z.B. für die Verschlüsselung vom Informationen 2,5 -0,03 • Fliesskomma: Darstellung mit einem Exponenten; die Stellung des Dezimalpunktes variiert mit dem Exponenten Beispiel: 103,734.100 = 10,3734.101 = 1,03734.102 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 1 Tröster Digitaltechnik HS2015 > Hexadezimalsystem: R = 16 da 10 Ziffern für die 16 Stellen nicht ausreichen, sind 6 weitere Buchstaben A, B, C, D, E, F definiert • Berechnung einer positive, (auch gebrochenen) Zahl D mit der Basis („Radix“) R und den Koeffizienten (Ziffern) bi: bi . Ri (*) Dezimalzahl i=- die Zahl wird dargestellt in der Form {....bi=+2 bi=+1 bi=0 ,bi=-1 bi=-2....}, und für eine m-stellige Dezimalzahl rm-1 rm-2 ri=0 0 D= 2 Tröster Reichardt, Kap 5.1ff Festkommazahlen D= 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) bj . Rj j = m-1 2621(10) > Dezimalsystem: R = 10 1908(10) = 0 . 10(i>3) + 1 .103 + 9 .102 + 0 .101+ 8 . 100 + 0 Hexadezimalzahl 0...9 10 11 12 13 14 15 = A . 162 + 3 . 161 + D. 160 0...9 A B C D E F = A3D(16) (Darstellung im Textbuch: Zeichenfolge 0x vorangestellt, also 0xA3D(16)) 3,625(10) = 3. 100 + 6. 10-1 + 2. 10-2+ 5. 10-3 • wozu das Hexadezimalsystem ? > Oktalsystem: R = 8 1908(10) = 3 . 83 + 5 . 82 + 6 . 81+ 4 . 80 = 3564(8) > 4 Dualstellen (Tetrade) repräsentieren eine Ziffer im Hexadezimalsystem 3,625(10) = 3. 80 + 5. 8-1 = 3,5(8) > lange Dualzahlen können übersichtlich und kompakt durch Hexadezimalzahlen dargestellt werden > Dualsystem: R = 2 243(10) = 1 . 27 + 1 . 26 + 1 . 25+ 1 . 24+ 0 . 23 + 0 . 22 + 1 . 21 + 1 .20 = 1111 0011(2) > Dual-, Oktal- und Hexadezimalzahlen können päckchenweise ineinander umgerechnet werden Beispiel: 3,625(10) = 1 . 21+ 1 . 20 + 1 . 2-1 + 0 . 2-2 + 1 . 2-3 = 11,101(2) E 6 0 5(16) | | | | = 58'885(10) |1110| 0110| 0000| 0101| Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 4 Umwandlung dezimal binär, hexadezimal 'wie konvertiert man Zahlen in die verschiedenen Zahlensysteme ?' in das Dezimalsystem a. ganze Zahlen gegeben sei eine n-stellige Binärzahl mit > wiederholtes (ganzzahlige) Dividieren mit der Zahlenbasis; der jeweilige Rest entspricht der Ziffer im neuen Zahlensystem, beginnend mit der letzten Ziffer D(2)= bn-1bn-2 …b1b0 die entsprechende Dezimalzahl kann mit n-1 D(10) = bi 2i > das Verfahren endet, wenn als Divisionsergebnis Null erreicht wird Beispiel: 150(10) als Dualzahl, also Rest 150 ÷ 2 = 75 0 (LSB*) 75 ÷ 2 = 37 1 37 ÷ 2 = 18 1 18 ÷ 2 = 9 0 9 ÷2 = 4 1 4 ÷2 = 2 0 2 ÷2 = 1 0 1 ÷2 = 0 1 (MSB**) also 150(10) = 10010110(2) (*) i=0 berechnet werden. der rekursive Ansatz (‚Horner’-Schema) vermeidet die Berechnung der Zweierpotenzen: aus (*) = 2 D(10) n-1 (bi 2i-1 ) + b0 i = 1 n-1 i=2 = 2 2 (bi 2i-2 ) + b1 + b0 = 2 (2 ... (2 (2bn-1+bn-2) ...) + b1)+ bo *LSB: Least Significant Bit; **MSB: Most Significant Bit = 2 ( 2 ( 2 ( 2 1 +1) + 1) + 0) + 1 Beispiel : 11101(2) Reichardt, Kap 5.3 • die Umwandlung kann separat für den Teil vor dem Komma, also für bi mit i 0 und für den 'Fraktionalteil' ('fractional number') hinter dem Komma, also für bi mit i < 0 erfolgen Beispiel: 3509(10) als Hexadezimalzahl, also = 2 ( 2 ( 2 3 + 1) + 0) + 1 = 2 ( 2 7 + 0) + 1 = 29 Rest 5 B 0 D 3509 ÷ 16 = 219 219 ÷ 16 = 13 13 ÷ 16 = also 3509(10) = DB5(16) Aufwand: n Multiplikationen mit 2 und n Additionen (LSD*) *LSD: Least Significant Digit Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 5 Tröster Digitaltechnik HS2015 b. Dezimalzahlen 1 x 0 in Dualzahlen 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 6 Tröster Beispiel: Umwandlung des Fraktionalteils einer Dezimal- in eine Hexadezimalzahl Verfahren nicht imTextbuch • wiederholtes Multiplizieren mit der Zahlenbasis 2; 0,171875(10) als Hexadezimalzahl, also > ist das jeweilige Ergebnis kleiner 1, dann lautet die Binärstelle K-i = 0 (beginnend mit K-1); die Prozedur wird 0,171875 . 16 . 16 0,75 mit dem Multiplikationsergebnis weitergeführt > ist das Ergebnis grösser 1 der Form a, d-1d-2d-3..., mit a > 0, dann ist der Koeffizient K-i = a zu setzen; das Verfahren = 2,75 2 = 12 C K-1 also 0,171875(10) = 0,2C(16) wird mit dem um den Wert a verminderten Multiplikationsergebnis weitergeführt • zwischen Dual- und Hexadezimalzahlen kleiner 1 ebenfalls päckchenweise Umrechnung 0, 2 C(16) = 0,171875(10) > das Verfahren endet, wenn * eine Multiplikation exakt eine ganze Zahl > 0 liefert, oder * eine untere Genauigkeitsschranke erreicht ist, oder * die maximal zulässige Stellenzahl erreicht ist. | | 0, | 0 0 1 0 | 1 1 0 0 | Beispiel: nicht jede gebrochen rationale Dezimalzahl ist exakt mit endlicher Stellenanzahl in einem anderen Zahlensystem darstellbar (!?) 0,171875(10) als Dualzahl, also 0,171875 . 2 = 0,34375 0 K-1 MSB 0,34375 0,6875 0,375 0,75 0,5 . . . . . = = = = = 0,6875 1,375 0,75 1,5 1,0 0 1 0 1 1 LSB 2 2 2 2 2 also 0,171875(10) = 0,001011(2) Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 7 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 8 Fliesskommazahlen 'Grundrechenarten' Reichardt, Kap . 5.6.2 x = Mi . BE • allgemeine Form: • Rechenregeln (1 = 1(2), 0 = 0(2)) 1. Addition Reichardt, Kap. 5.4 mit M: B: E: Mantisse Basis (z.B. 2) Exponent 0+0= 0+1= 1+0= 1+1= 1+ 1+1= • Darstellung als Dualzahlen in Rechnersystemen standardisiert | Übertrag, Carry IEEE/ANSI Floating Point standard 754 - 1985 'einfach genau' (single precision) mit 32 Bit: 31 30 2. Subtraktion 22 Exponent VZ 0 0-0= 1-0= 1-1= 0-1= Mantisse Vorzeichenbit (0 '+'; 1 '-') VZ: 0 1 0 1 mit Ausleihen (borrowing) einer 1 von der höherwertigen Spalte Exponent: zur Basis 2, 8 Bit, beginnend mit -127 Mantisse: 0 1 1 10 11 3. Multiplikation 23 Bit, normalisierte Darstellung der Form 1.xxx, wobei nur der gebrochene Teil xxx abgespeichert wird 0.0= 0 1.0= 0 0.1= 0 1 1.1= Beispiel: +53,2265625(10) = +110101,001101(2) = +(1,)10101001101(2) 25 Mantisse: Vorzeichen: Exponent: Digitaltechnik HS2015 1010100110100000000000 0 10000100 (AND-Funktion !) (23 Bit) '+' (+127 + 5) 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 9 Tröster Digitaltechnik HS2015 n-stellige Zweierkomplementzahl: bn-1 bn-2 bn-3 …b1 b0 Konvertierung: 2er-Komplement in Dezimalzahl: n-2 D(10) = - bn-1 . 2n-1 + bi . 2i i=0 • n-stellige Dualzahlen mit Vorzeichenbit 1 Bit (n-1) Bit Beispiel: 3-Bit Zahl • verschiedene Darstellungsformen ('Kodierungen') für positive und negative Dualzahlen sind möglich: VorzeichenBetrag, Einer-Komplement, Zweier-Komplement Dezimalzahl +3 +2 +1 0 -1 -2 -3 -4 • in Rechenanlagen/μProzessoren/Signalprozessoren meistens die Zweier-Komplement-Darstellung Zweier (2er, two's, 2's) Komplement – Darstellung für positive und negative Zahlen: VZ -(2n-1) D (2n-1 – 1) Wertebereich: Reichardt, Kap. 5.5 Betrag 10 Tröster Ganze Zahlen 'gibt es eine negative Dualzahl ?' VZ 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Zweierkomplement 0 0 0 0 1 1 1 1 11 10 01 00 11 10 01 00 Beispiel: 4-Bit-Darstellung (im Zahlenkreis) Betrag positiv 0 MSB, MSB-1, ...., LSB = |X(2)| negativ 1 |X(2)| bitweise invertieren zu dem Ergebnis eine '1(2)' addieren (an der LSB-Stelle ) 0100 0011 0010 + 4 0110 +5 +3 +6 +2 0111 0001 +1 +7 0101 1000 1001 -8 0 -7 -6 -1 -2 0000 1111 -5 -4 -3 1110 1010 1011 1100 1101 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 12 Eigenschaften 2er-Komplementzahlen: Rationale Zahlen n-stellige Zweierkomplementzahl: b0 b1 … bn-1 der Zahlenwert ist auch durch die vorgegebene Stellenzahl bestimmt ! -1D <1 Wertebereich: Beispiel: Konvertierung: 2er-Komplement in rationale Dezimalzahl: n-1 D(10) = - b0 . 20 + bi . 2-i i=1 0100 0110 0111 1000 + o.625 0010 + 0.25 + 0.75 + 0.875 0001 - 1.0 + 0.125 0 - 0.875 - 0.125 1001 1010 - 0.75 - 0.25 - 0.625 - 0.375 - 0.5 1011 1100 0000 1111 1110 1101 • Darstellung vorzeichenbehafteter Zahlen mit rationalem Anteil häufig im Q-Format: mQn • bei m Vorkomma- und n Nachkommabits sind insgesamt k=1+m+n Binärstellen erforderlich • Umwandlung der Dualzahl bm bm-1 … b0 b1 … bn in eine Dezimalzahl D(10) mit D(10) = - bm . 2m + Digitaltechnik HS2015 101100: 010011 010100: 2er Komplement und wieder zurück: Zweierkomplement zu > Inversion > 1 addieren 010100 101011 101100 5.4375(10) = 0101.0111(2) n 7. Zahlen, Codes Beispiel: Zweierkomplement zu > bitweise Inversion > 1 addieren - 5.4375(10) bitweise invertieren: bi . 2i + bi . 2-i i = m-1 i=1 ETH Zürich Institut für Elektronik (IfE) +4 +5 Beispiel: gebrochene Dezimalzahl im 3Q4-Format 5.4375(10) und -5.4375(10) ist in eine 8-stellige Dualzahl umzuwandeln, wobei je 4 Bit vor und nach dem Komma zur Verfügung stehen 0.4375(10) = 0.0111(2) , also 5(10) 101(2) Q-Format 0 0100 = 0101 = das Zweierkomplement eines Zweierkomplements ergibt wieder die ursprüngliche Zahl 0011 + 0.5 + 0.375 4-Bit -4 -3 Weglassen führender Nullen nicht erlaubt ! Beispiel: 4-Bit-Darstellung (im Zahlenkreis) 0101 3-Bit 100 = 101 = 1010.1000 1 1010.1001 eine '1(2)' addieren: (an der LSB-Stelle ) 13 Tröster Rechenoperationen mit Dualzahlen Digitaltechnik HS2015 also - 5.4375(10) = 1010.1001 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 14 Tröster 2. Subtraktion von Festkommazahlen 1. Addition von Festkommazahlen Reichardt, Kap. 5.5.2 • Rechenregeln (1 = 1(2), 0 = 0(2)) • Rechenregeln (1 = 1(2), 0 = 0(2)) 0+0= 0+1= 1+0= 1+1= 1+ 1+1= 0-0= 1-0= 1-1= 0-1= 0 1 1 10 11 | • die Addition einer n-Bit breiten Zahl erfolgt bitweise, beginnend mit den niederwertigen Stellen • die Stellenwertigkeit ist zu beachten, eventuell sind Nullen aufzufüllen • die Wortbreite (d.h. die Anzahl der Binärstellen) des Additionsergebnisses zweier B-Bit breiten Dualzahlen kann (B+1) Bit betragen Beispiel: Beispiel: + 1 1 1 1 1 1 1 1 0 0 0 1 mit Ausleihen (borrowing) einer 1 von der höherwertigen Spalte • die Subtraktion erfolgt bitweise, beginnend mit den niederwertigen Stellen Übertrag, Carry 0 1 0 1 0 1 1 1 1 - 0 1 1 0 1 0 1 1 1 1(2) 0(2) 51(10) 30(10) ausgeliehen 0 1 0 1 0 1(2) 21(10) Überträge 1 ,0 1 , 1 1 1(2), 0 0(2) 25, 375(10) 59, 5(10) wenig gebräuchlich = Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 15 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 16 Subtraktion mit dem 2er-Komplement Multiplikation von Dualzahlen (Festkomma) Reichardt, Kap. 10.9 • Rechenregeln (1 = 1(2), 0 = 0(2)) 1. Subtraktion zweier Dualzahlen A - B darstellbar als die Addition von positiven 2er-Komplement von A mit dem negativen 2er-Komplement von B 2. Minuend (A) und Subtrahend (B) müssen über die gleiche Stellenzahl verfügen 3. Falls die Stellenzahl nicht übereinstimmt, muss linksbündig erweitert werden mit dem jeweiligen Vorzeichenbit (‚sign extension’) A B 59 15 Dezimal Betrag(2) 1 1 1 0 1 1 1 1 1 1 erweitert auf 8 Bit 0 0 1 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 2er-Komplement: Fall a: A-B A: -B: (Übertrag) Fall b: 1 0 • die Wortbreite (d.h. die Anzahl der Binärstellen) des Multiplikationsergebnisses zweier B-Bit breiten Dualzahlen kann 2.B Bit betragen (Vorzeichen siehe 9.20) Beispiel: 21 . 17 = 357 1 0 1 0 1 . 1 0 0 0 1 __________________ 1 1 1 1 0 0 0 1 1 0 1 0 1 ______________ 44(10) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 1 1 0 0 0 1 0 1 ______________ (kein Übertrag) 1 . 1 = 0 (AND-Funktion !) 0 0 1 1 1 0 1 1 (1) 0 0 1 0 1 1 0 0 B-A B: -A: 0 • Multiplikation zweier (vorzeichenloser) Dualzahlen: > bitweise Multiplikation: Partialprodukte > Aufsummieren der verschobenen Partialprodukte 4. ein Übertrag an der Stelle n+1 bei n-stelliger Darstellung wird für die weiteren Berechnungen nicht benötigt. Beispiel: 0 . 0 = 1 . 0 = 0 . 1 = 1 1 0 1 0 1 0 0 __________________ - 44(10) 1 0 1 1 0 0 1 0 1 (A - B) ist 2er-Komplement zu (B - A) Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 17 Tröster Digitaltechnik HS2015 • Schiebeoperationen (shift) nach links entspricht einer Multiplikation mit der Zahlenbasis, nach rechts einer Division mit der Zahlenbasis 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 18 Tröster Arithmetische Operationen mit Fliesskommazahlen Beispiel: Dezimalzahl: 21 um eine Stelle nach rechts: 2,1 = 21 ÷ 10 21 um eine Stelle nach links: 210 = 21 . 10 • Addition 1. die Exponenten müssen angeglichen werden durch Schiebeoperationen Dualzahlen: 1 0 1 0 1 (21) um eine Stelle nach rechts: 1 0 1 0,1 (10,5) 1 0 1 0 1 (21) um eine Stelle nach links: 1 0 1 0 1 0 (42) 2. die Mantissen werden addiert 3. eventuell Normalisierung der Mantissen • Hardware-Multiplizierer häufig aus Shift-Add-Operationen aufgebaut (z.B. Booth-Multiplizierer) • Subtraktion Multiplikation von 2er-Komplementzahlen 1. die Exponenten werden auf den grössten der beiden Operanden angeglichen • aufwendiger als die Multiplikation von Betragszahlen, da die Betragsbildung einer negativen Zahl die Komplementbildung verlangt 2. Subtraktion der Mantissen über das 2er-Komplement • 2er-Komplement-Multiplizierer verwenden daher eine modifizierte 2er-Komplement-Addition, oder negative Zahlen in 2er-Komplementdarstellung werden in ihr vorzeichenloses Komplement umgewandelt. Das Vorzeichen des Ergebnisses wird separat ermittelt: gleiches Vorzeichen von Multiplikand/Multiplikator: Ergebnis positiv, sonst negativ • Multiplikation 1. Multiplikation der Mantissen 2. Addition der Exponenten • Division • Booth-Multiplizierer (7.19) können 2er-Komplementzahlen ohne Modifikation behandeln 1. Division der Mantissen 2. Subtraktion der Exponenten Division von Festkommazahlen • darstellbar als eine Abfolge von Schiebeoperationen (nach rechts) und Subtraktionen Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 19 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 20 'was ist ein Kode ?' Beispiel: Fliesskomma-Addition Reichardt, Kap. 8 teilweise • (binäre) Kodes: Abbildung von Informationen (Zahlen, Ziffern,..) auf das Binärystem nach einem vorgegebenen Konstruktionsprinzip • Beispiel: Dezimalzahl durch Dualzahlen x(10) = bi . Ri i=- Lernziel • kennenlernen der wichtigen Grundbegriffe und einiger (einfacher) Kodes Motivation • Kodierung bestimmt die Leistungsfähigkeit eines Systems > Computertechnik: Speichern von Informationen > Audio- und Videotechnik: Störunempfindlicheit (CD-, DVDSpieler,...) > Nachrichtenübertragung: Fehlerkorrektur (Handy, Satellitenkommunikation), Verschlüsselung aus J. Hennessy, D. Patterson, “Computer Architecture and Design”, Morgan Kaufmann, 1997 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 21 Tröster Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 22 Tröster Tetraden-Kodes Beispiel: • Tetrade: Einheit von vier Binärstellen 2 5 , 3 7 5 (10) • Tetraden-Kodes: der Kode ist aus Tetraden aufgebaut • direkte binäre Darstellung von Ziffern in Dezimalzahlen 2 5 , 3 7 5 (10) • viele Abbildungen möglich • Auswahl-, Konstruktionsprinzipien: > einfache Darstellung > einfache Rechenoperationen 0010 0101 , 0011 0111 0101 BCD-Kode (Binary Coded Decimals) • von den 24 = 16 Kodewörtern werden nur 10 für die Dezimalziffern benötigt: 6 Pseudotetraden • Konstruktionsprinzip: jede Dezimalziffer wird durch eine Tetrade kodiert • die 'Kodeeffizienz' ist im BCD-Kode meist schlechter • Vergleich: 25,375(10) = 11001 , 011(2) als Dualzahl benötigt 8 Dualstellen im Gegensatz zu 20 Dualstellen mit BCD-Kodierung arithmetische Operationen • Addition > Stelle für Stelle > besondere Massnahmen notwendig, wenn die Addition zweier Summanden grösser 8 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 23 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 24 'wie können wir die 16 Tetraden noch auf die 10 Dezimalziffer verteilen ?' BCD • häufig eingesetzt, Gewichtung der Binärstellen: 8-4-2-1 häufig benutzte Kodes: Excess-3 und Aiken Binär Digitaltechnik HS2015 0000 0 0 0 0 0001 1 1 1 1 0010 2 2 2 3 0011 3 0 3 3 0100 4 1 4 0101 5 2 0110 6 3 0111 7 4 1000 8 5 1001 9 6 • die Ziffern 0 - 9 liegen symmetrisch im Binärfeld; günstig für dezimale Rechenwerke 4-2-2-1: • Gewichtung 4-2-2-1, für A/D-Wandler interessant 0 2 Reichardt, Kap. 8.4 7 4 6 3 4 4 1 5 5 2 Gray und O'Brien: • einschrittige Kodes: Änderung zur nächstgelegenen Tetrade nur in einem Bit; keine Fehlinformation bei Übergängen (Winkelkodierung) • die BCD-, Aiken-, 4-2-2-1, Excess-3 -Kodes sind mehrschrittig 1010 7 9 1011 8 5 1100 9 6 6 8 5 1101 7 7 9 6 1110 8 8 8 1111 9 9 7 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 25 Tröster ASCII-Kode Digitaltechnik HS2015 aus M.Mano, „Digital Design“, Prentice Hall2002 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 26 Tröster 'wie sind Fehler zu erkennen und zu korrigieren ?' Reichardt, Kap. 8.5 • Voraussetzung: redundante Kodierung • Fehler werden erkannt, wenn eine nichtzulässige Kodekombination erscheint 'Parity Bit' • Annahme: nur maximal ein Bitfehler kann auftreten (Fehlermodell) • ein vorgegebener Kode wird durch ein Bit PE ergänzt, dass die Anzahl der '1' immer geradzahlig - oder Null - ('even parity'), oder mit dem ‚odd parity bit’ PO immer ungeradzahlig ('odd parity') wird • es gilt: PO = ¬ PE = Po BCD-Kode mit 'even parity' PE PE • Alphanumerischer Kode: Ziffern, Buchstaben, Steuerzeichen • 7-Bit Kode für 128 Zeichen; Erweiterung zu 8-Bit-Wort(= Byte) • achte Bit entweder für vergrösserten Zeichensatz (256 Zeichen, z.B. ä, ö ) oder zur Fehlererkennung Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster • Fehlererkennung durch 'Abzählen' 27 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 28 Fehlerkorrektur =1 A in Xou t • mehr Redundanz als zur Fehlererkennung notwendig ‚Parity Checker’ Q1 • Korrektur durch Bitinversion, wenn das fehlerhafte Bit lokalisiert ist (Binärsystem !) D T C1 Blockkorrektur 'Geradzahligkeitsprüfung' in der Übung • hier Voraussetzung: Einzelfehler (Fehlermodell) • erweiterbar aus die Korrektur von mehreren Fehlern (z.B. bei CD-Codierung) • die Korrektur erfolgt über mehrere Datenwörter • neben den Parity Bits wird ein zusätzliches Prüfwort übertragen, das die Parity-Ergänzung über die Spalten enthält Beispiel: Q Q-aus-n Kodes, n - Kodes: Erweiterung auf Mehrbitfehler • Definition: von den N = 2n möglichen Zuständen werden nur die mit Q Bits = 1 benutzt • Beispiele: Zwei-aus-Fünf-Kodes, Drei-aus-Fünf-Kodes, Zwei-ausSieben-Kodes 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 Parity Bits 0 0 0 1 1 Prüfwort Fehler • Fehlererkennung: wenn in einem Kodewort die Anzahl der 'Eins-Bits' ungleich Q ist Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) 29 Tröster Codierung im Handy (2G) Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Frequenzen: 30 Tröster MSBS: 890-915 MHz (=25MHz) BSMS: 935-960 MHz (=25MHz) Übertragungskanal: 125 Frequenzkanäle zu je 200 kHz: FDMA (Frequency Division Multiple Access) jeder Frequenzkanal in 8 Zeitschlitze (Kanäle) zu je 576,9μs aufgeteilt; d.h. jedem Benutzer steht ein Achtel der Kapazität eines Frequenzbandes zur Verfügung: TDMA (Time Division Multiple Access) Fehlerkorrektur Datenstruktur (*) in jedem Zeitschlitz werden 148 Bits übertragen, davon sind 26 Trainingsbits zum Adaptieren des Empfängers auf die jeweiligen Empfangsbedingungen Störungen im Funkkanal (Rauschen, Schwund, Dopplereffekt,..) verhindern eine akzeptable Übertragungsqualität Kanalcodierung: zu den Nutzdaten von 260Bit je 20ms Sprache werden 206 Bit an Korrekturdaten angehängt, um die Verzerrungen auf dem Übertragungsweg zu korrigieren Die 456 Bits werden auf 8 Portionen (‚Bursts‘) a‘ 57 Bits aufgeteilt und verschachtelt (‚interleaved‘) übertragen; damit wirken sich kurzzeitige Störungen geringfügiger aus Interleaving(*) (*)wikipedia: Global_System_for_Mobile_Communications Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 31 Digitaltechnik HS2015 7. Zahlen, Codes ETH Zürich Institut für Elektronik (IfE) Tröster 32 was sind Rechenschaltungen ? 8. Rechenschaltungen, Datenpfadkomponenten • Digitalschaltungen - kombinatorische - sequenzielle, Lernziele oder > die arithmetische Grundoperationen, wie Additionen, Multiplikationen, • was sind Rechenschaltungen ? • wie sind sie aufgebaut (Festkomma) ? oder > komplexere Operationen, wie Fliesskommaoperationen auf komplexen Zahlen, Fouriertransformation, digitale Filter • wo werden sie benötigt ? • welche Hälfte addiert ein Halbaddierer ? ausführen • Ripple-Carry, Look-Ahead ?? Rechenschaltungen sind code-spezifisch Textbuch Reichardt Dateneingang • Kap 10 Datenausgang Datenpfad (Operationswerk) Halbaddierer Reichardt Kap 10.8 Statussignale Motivation Steuerpfad (Steuerwerk) • Funktion: Addition zweier Dualziffern gemäss den Rechenregeln für Dualzahlen Steuersignale • Rechenschaltungen werden als Basismodule in vielen Systemen benötigt, A B 0+0= 0+1= 1+0= 1+1= 1 + 1 +1= > in einem Mikroprozessor, um die Speicheradressen zu berechnen > in Computersystemen, um komplexe Rechenoperationen schnell ausführen zu können Übertrag Carry • Datenpfadkomponenten > für die Manipulation von Datenströmen werden (De-) Multiplexer, (De-)Codierer und Komparatoren eingesetzt 8. Rechenschaltungen Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) Z Summe • kombinatorische Schaltung 1 Tröster Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) 2 Tröster Schaltzeichen eines Volladdierers: Wertetabelle: A B 0 0 1 1 0 1 0 1 C S A Z, Su m m e B Ci C = ..................................... =1 Z, Su m m e A B & Z, Su m m e CO B Ü, Carry CO CI Ü, Carry, C o • Wertetabelle: S = ......................................................................... A 00 01 01 10 11 Ü, Carry A B Ci 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Z Co Volladdierer A • bei der Addition von zwei Dualzahlen müssen wegen des Übertrags drei Dualziffern addiert werden A B Z Beispiel: + 1 0 1 1 0 1 1 1 B Digitaltechnik HS2015 C 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 C C 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 4 A Mehrbit - Addierer A • für die Addition mehrstelliger (Dual-) Zahlen B • die Addition mehrstelliger Dualzahlen kann bitseriell oder bitparallel erfolgen Co B • Serienaddierer: in einem Taktschritt nur die Addition einer Stelle C C • Paralleladdierer: während eines Taktschritts die Addition aller Stellen C Z = ..................................................................................... = ................... Co = ..................................................................................... Paralleladdierer • drei wesentliche Implementierungsstrategien möglich: > Paralleladdierer in Normalform > Ripple-Carry-Adder > Carry-Look-Ahead- Adder Schaltung aus Halbaddierer Normalform A B A+B S HalbAddierer A B CO * A + B + CI S HalbAddierer CI (A + CO • aus der Wahrheitstabelle kann die Normalform (z.B. disjunktiv) gewonnen und in eine kombinatorische Schaltung umgesetzt werden S Beispiel: Addition von zwei 2-stelligen Summanden A, B CI 1 Digitaltechnik HS2015 CO 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) 5 Tröster Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) 6 Tröster Ripple-Carry Addierer Reichardt, Kap 10.8.2 4-Bit-Parallel-Addierschaltung • Aufwand: bei der Addition zweier N-stelliger Summanden müssen für die (N+1)-Summenausgänge (ohne Logikminimierung) N.2(2n-1) Min- oder Maxterme verknüpft werden • für jede Stelle (ausser für die niederwertigste) wird ein Volladdierer benötigt • Additionsdauer: die Normalform ist immer in ein dreistufiges Schaltnetz umsetzbar: NICHT, UND, ODER; die Laufzeit beträgt daher unabhängig von der Stellenanzahl der Summanden minimal 3 Gatterlaufzeiten (tp) • der Ripple-Carry Addierer ist durch Kaskadierung einfach erweiterbar (skalierbar), z.B. aus zwei 4-Bit-Addierer kann ein 8-Bit Addierer aufgebaut werden • der Schaltungsaufwand wächst linear mit der Stellenanzahl • Laufzeit: Summe und Übertrag für die i-te Stelle können erst gebildet werden, wenn die Summe und der Übertrag der (i-1)-ten Stelle vorliegen: der Übertrag 'rippelt', rieselt durch alle Stufen des Schaltnetzes schneller, aber schaltungsaufwendiger Addierer • die Addierzeit wächst linear mit der Stellenzahl Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 7 Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 8 Carry-Look-Ahead (Fast Carry-) Addierer Beispiel: Reichardt, Kap 10.8.3 • Paralleladdierer mit Übertragsvorausberechnung • Kompromiss aus Ripple-Carry und Normalformaddierer • Funktionsweise: die Berechnung der Überträge erfolgt parallel zu der Summenbildung in einem kombinatorischen Netzwerk in einem Schritt Beispiel: 2-Bit-Addierer mit Carry-Look-Ahead • das Schaltnetz ist zweistufig, die Berechnung der Überträge erfordert minimal zwei Gatterlaufzeiten Subtrahierer • die Subtraktion kann 1. durch Abbildung der Subtraktionsregeln für Dualzahlen oder • der Aufwand für die Berechnung der Überträge wächst mit der Stellenanzahl Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) 2. durch 2er-Komplementbildung und Addition erfolgen 9 Tröster Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) 10 Tröster Multiplizierer Rechenwerk für die Addition/Subtraktion Reichardt, Kap 10.9 • Rechenregeln (1 = 1(2), 0 = 0(2)) umschaltbarer Addierer/Subtrahierer 0.0= 1.0= 0.1= 1.1= 0 0 0 1 AND-Funktion • Multiplikation zweier (vorzeichenloser, ‚unsigned’) Dualzahlen: > bitweise Multiplikation: Partialprodukte > Aufsummieren der verschobenen Partialprodukte • negative Zahlen in 2er-Komplementdarstellung (siehe Kap. 7) sind in ihre vorzeichenloses Komplement umzuwandeln • die Wortbreite (d.h. die Anzahl der Binärstellen) des Multiplikationsergebnisses zweier B-Bit breiten Dualzahlen kann 2.B Bit betragen Beispiel: 9 . 11 = 99 a3a2a1a0 1001 __________________ 1001 1001 0000 Shift & Add 1001 __________________ • für S = 0 sind die EXOR-Gatter transparent und das Schaltnetz arbeitet als Addierer • für S = 1 wird der Inhalt des B-Registers bitweise negiert; C0 = 1 bewirkt die Addition einer '1', die notwendig ist für die 2er-Komplementbildung 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster b0 a 20 b1 a 21 b2 a 22 b3 a 23 Partialprodukte p7p6p5p4p3p2p1p0 • mehrere integrationsgerechte Architekturen bekannt, z.B. • für den Addierer können Ripple-Carry oder Carry-LookAhead-Typen benutzt werden Digitaltechnik HS2015 b3b2b1b0 . 1011 11 Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 12 ein 4x 4-Bit Array-Multiplizierer mit Ripple-Carry-Addierer Multiplikation mit einem konstanten Koeffizienten (Hybrid-Technik) • um den Speicherbedarf für die LUT zu reduzieren, wird die Multiplikation in mehrere Teile zerlegt und über einen Addierer zusammengesetzt Beispiel: 8 x 8 Bit (Xilinx) > Aufspaltung in 2 x 4 Bit (entspricht einer Hex-Zahl) > die LUT enthält die Multiplikationsergebnisse von 0.k bis 15.k 0 x k=0 1 x k=1K . 15 x k=15k Festwertmultiplikation mit Look-up Table (LUT) Y = k X • Funktion:Multiplikant adressiert einen Speicher, in dem das Ergebnis der Multiplikationen für jeden möglichen Eingangswert abgelegt ist x n n 2 x B Bits B 0 K . 15k 8 x 8 Bit Hybrid-Multiplizierer y RAM/ROM • Beispiel: geradzahlige Multiplikation mit 1012 Adresse x Speicherwert y 001 010 .. 101 Digitaltechnik HS2015 101 1010 .. 11001 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) 13 Tröster Digitaltechnik HS2015 • Funktionsweise: die Multiplikation wird seriell ('Bit für Bit') abgearbeitet; der erforderliche Hardware-Aufwand ist gering • Ablauf für A . B = P mit A ={ an-1 …a2 a1 a0 } 1. Anfangswert: P = 0, a-1=0 2. beginnend mit dem LSB (i = 0, 1, 2 ..)werden jeweils 2 benachbarte Bits überprüft und das Zwischenprodukt P neu berechnet, 0 1 0 1 ai ai-1 Operation Ergebnis 0 1 2 3 1 1 0 1 0 1 1 0 P = (P-B)/2 P = P/2 P = (P+B)/2 P = P-B 1.1010 1.11010 0.010010 1.100010 Modifizierter Booth-Algorithmus • Überprüfung von 3 benachbarten Bits Addition/Subtraktion von B oder 2.B Schiebeoperation um 2 Bits 4. Vorzeichenverdoppelung bei der Division 0 0 1 1 i 15 also: P = 1.100010(2) = - 32 3. ohne Division im letzten Schritt ai-1 14 Tröster 5 3 • Beispiel: A = - 8 = 1.011(2), B = 4 = 0.110(2), (2er-Komplement) Booth-Multiplizierer ai 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) • i = 0, 2, 4 … Operation • im letzten Schritt Division durch 2 P = P/2 P = (P+B)/2 P = (P-B)/2 P = P/2 • nur n/2-Zyklen notwendig bei kaum erhöhtem Hardwareaufwand • geringer Hardwareaufwand erforderlich: - Schieberegister - Addierer (Subtraktion durch 2er-Komplementbildung) - 'Division durch 2' mit Schiebeoperation um 1 Bit nach rechts •geeignet für die Multiplikation von negativen Zahlen (Zweierkomplement) ai+1 ai ai-1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Operation P = P/4 P = (P+B)/4 P = (P+B)/4 P = (P+2.B)/4 P = (P-2.B)/4 P = (P-B)/4 P = (P-B)/4 P = P/4 • für die Multiplikation von n-Bit-breiten Zahlen sind n Zyklen notwendig Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 15 Digitaltechnik HS2015 8. Rechenschaltungen ETH Zürich Institut für Elektronik (IfE) Tröster 16 Kombinatorische sequenzielle Schaltungen ? 9. Sequenzielle Schaltungen: Latches, Flipflops, zeitabhängige Gatter • bei kombinatorischen Schaltungen hängen die Ausgangswerte nur von dem Verknüpfungsnetzwerk und von den Eingangsgrössen ab; eine gegebene Eingangsbelegung Xi erzeugt stets dieselbe Ausgangswerte Yj , unabhängig von der Vorgeschichte Lernziele • was charakterisiert kombinatorische Schaltungen, was sequenzielle Schaltungen Yj = ƒ(Xi) • wie lassen sich rückgekoppelte Schaltungen analysieren Verknüpfungsnetzwerk Xi • was ist ein Latch, ein Flipflop Yj • wie funktionieren häufig gebrauchte Latches und Flipflops Textbuch Reichardt • Kapitel 11 • sequenzielle Schaltungen besitzen Rückkopplungen (feedback loops), die Ausgangswerte hängen auch von vorangegangenen Werten ab, z.B. > Ergänzungen in der Übung Motivation Yj = ƒ(Xi, Yj) • neben Schaltnetzen benötigen wir Schaltungen, die Informationen speichern können • bistabile Kippschaltungen sind Basiselemente der Elektronik Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster Verknüpfungsnetzwerk Xi 1 Digitaltechnik HS2015 Basis-Latch ETH Zürich Institut für Elektronik (IfE) Yj 9. Sequenzielle Schaltungen Tröster 2 KV-Diagramm von 2 NOR-Gatter (?!) Reichardt, Kap. 11.2 • aus zwei NOR-Gatter kann durch eine Rückkopplung ein Speicherelement aufgebaut werden, das SR-Latch S 1 • es gelten die Gleichungen: Q1 1 S S Q1 Q R R Q2 NQ Q2 R Q1 = Q2 Q2 = S q1 = S q1 Q1 = R q2 = R q2 • die Wertetabellen für Q1 und Q2 werden in ein 'doppeltes' KVDiagramm für Minterme eingetragen Schaltzeichen Schaltzeichen im Textbuch Bezeichnung Q und NQ SR • wie analysiert man eine Schaltung mit Rückkopplungen ? 1. die Rückkopplungen werden aufgetrennt und das Verhalten der 'offenen Schleife'/'Vorwärtspfad (open loop) berechnet q q 1 2 00 00 01 11 11 01 00 2. die Rückkopplungen werden miteinbezogen 01 1. SR-Latch ohne Rückkopplungen 1 S q1 q2 1 R Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 01 01 Q1 9. Sequenzielle Schaltungen Tröster 11 00 10 10 5 Digitaltechnik HS2015 Q 1Q 00 00 00 00 00 00 10 2 3 2 3 10 00 4 Q2 10 ETH Zürich Institut für Elektronik (IfE) 1 9. Sequenzielle Schaltungen Tröster 4 2. mit Rückkopplung 'wie beschreibt man die Zustandsfolge' • die beiden Rückkopplungen verlangen Q1 = q 1 • das Verhalten des Latches hängt nicht nur von den aktuellen Eingangszuständen ab, sondern auch von dem internen (Speicher-) Zustand Q2 = q 2 und • fünf Zustände im KV-Diagramm erfüllen diese Bedingung: Fall S R Q1 Q2 1 1 0 1 0 2 0 0 1 0 3 0 1 0 1 4 0 0 0 1 5 1 1 0 0 • Definitionen: t Zeitpunkt vor einem Zustands- oder Taktwechsel: tn Zeitpunkt nach einem Wechsel: tn+1 t+ Q1 Q2 = 1 0 unverändert • also Q1n bezeichnet den Wert des Ausgangs Q1 vor einem betrachteten Wechsel, und Q1(n+1) den Wert nach dem Wechsel Q1 Q2 = 0 1 unverändert • im Textbuch Bezeichnungen Q und Q+ • Analyse der einzelnen Zustände und Zustandsübergänge: • Zustandsfolge- (Folgezustands-) tabelle des SR-Latches > wenn für R=0 die Eingangsvariable S den Wert 1 annimmt, erzwingt sie den Wert 1 am Ausgang Q1: Setzzustand dieser Ausgangszustand bleibt erhalten (gespeichert), auch wenn wieder S = 0 zurückspringt > durch R 1 für S=0 geht Q1 0: Rücksetzzustand; die Rückkehr am R-Eingang nach 0 bewirkt ebenfalls keine Zustandsänderung > der Eingangszustand R = S = 1 ist nicht zulässig, da Fall S R Q1(n+1) Q2(n+1) 1 0 0 Q1n Q2n speichern 2 0 1 0 1 rücksetzen 3 1 0 1 0 setzen 4 1 1 - - unzulässig # immer Q2 = Q1 gelten muss, # bei dem Übergang zu R = S = 0 die Ausgangszustände nicht vorhersehbar sind Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 5 S R Q1n Q1(n+1) 1 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 0 0 1 1 x x 2 3 4 5 6 7 8 S ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 6 (Takt-) Zustandsgesteuertes (SRT-)Latch • für ein KV-Diagramm muss eine komplette Werte- (Arbeits-) tabelle für die Ausgangsvariable Q1(n+1) aufgestellt werden Fall Digitaltechnik HS2015 Reichardt, Kap 11.2.2 • bei dem Basis-SR-Latch wird der Eingangszustand sofort wirksam speichern • oftmals wünschenswert, Änderungen nur in einem definierten Zeitfenster zuzulassen, beispielsweise in Abhängigkeit von einem Taktsignal T, C, CLK(z.B. zur Synchronisierung) rücksetzen setzen unzulässig Lösungsmöglichkeit: S UND-Verknüpfung der SR-Eingänge mit einem Taktsignal T Q1n Q1n S R R R & SI T & R Q1(n+1) = [S R Q1)]n S Q1 R Q2 RI (Q+ = S R Q) • nur mit T = 1 gelangen Zustandsänderungen von S und R an das Basis-SR-Latch (FF); mit T = 0 bleibt der gespeicherte Zustand unverändert, da SI = RI = 0. unter der Bedingung R S = 0, also R = S = 1 ist unzulässig Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 7 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 8 Schaltzeichen S T R & D(elay)-Latch Q1 S T & Q2 R Reichardt, Kap 11.3 Q1 • Erweiterung des taktzustandsgesteuerten SR-Latch: der Rücksetzeingang R ist nicht nach aussen geführt, sondern wird aus dem Setzeingang durch Invertierung gewonnen Q2 SI D 1 T T RI T Zeitablauf- oder Impulsdiagramm T t S D Q2 R D D T T Q1 Q2 Q1n Q1(n+1) 0 X 0 0 0 X 1 1 1 0 X 0 1 1 X 1 DNF (für beide Taktphasen): Q1(n+1) = (Dn T Q1n T ) Funktion t > durch den Inverter wird der unzulässige Eingangszustand RI = SI = 1 vermieden R > im aktiven Taktzustand T = 1 ist das D-Latch transparent, also Q1 = D t > beim Übergang von T = 1 nach T = 0 'schnappt' der Eingang 'zu' (latched), der 'letzte' Eingangswert wird übernommen Q1 > für T = 0 gilt RI= SI = 0, der eingenommene Ausgangszustand wird verriegelt; er bleibt erhalten, bis T=1, also t Q2 t Digitaltechnik HS2015 Q1 S ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 9 Q1(n+1) = Dn Digitaltechnik HS2015 was ist der Unterschied zwischen Latch und Flipflop ? für T = 1 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 10 Taktflankengesteuerte Flipflop • Latches sind transparent während der ganzen aktiven Taktphase; Änderungen an den Eingängen können während der aktiven Taktphase die Ausgänge beeinflussen Zusammenfassung: Taktzustandssteuerung • taktzustandsgesteuerte Schaltungen ‚Latches‘ sind empfindlich gegenüber Störimpulsen, da für T = 1 jede Änderung an den Eingängen in das Latch übernommen werden kann; das Latch ist transparent für T = 1 • Flipflop: taktflankengesteuerte Kippschaltungen; der Eingangszustand zum Zeitpunkt des Taktwechsels (Flanke) wird wirksam, nicht während der Taktphase Zeitdiagramm an einem Latch und einem vorderflankengesteuerten Flipflop Abhilfe: Taktflankensteuerung • die Zustandsänderungen am Eingang werden nur in einem schmalen Zeitfenster wirksam, nämlich wenn das Taktsignal wechselt: Taktflankensteuerung, Flipflop • während den Taktzuständen T = 1 oder T = 0 werden die Daten am Eingang nicht übernommen, sondern nur bei einem Taktflankenwechsel Schaltzeichen für die Taktflankensteuerung T, C Eingangsvariable werden beim 0 - 1 Übergang von C wirksam Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 11 Digitaltechnik HS2015 T, C Eingangsvariable werden beim 1 - 0 Übergang von C wirksam ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 12 wie verhält sich ein rückgekoppeltes D-Latch ? SR-Flipflop (taktflankengesteuert) S S Q1 T, C R R Q2 T > mit der steigenden Flanke des Taktsignals T, C 1D Q1 C1 Q2 C werden der aktuell anliegenden Eingangswerte S und R übernommen, der Ausgang bestimmt sich zu t Q2 Q1(n+1) = [S R Q1)]n unter der Bedingung R S = 0 t danach ist der Eingang verriegelt und der Ausgang bleibt unverändert bis zur nächsten steigenden Taktflanke wie verhält sich ein rückgekoppeltes D-Flip-Flop ? D-Flipflop (taktflankengesteuert) D T C1 Q2 Q1 1D T Q1 1D C Q2 C1 t > mit der steigenden Flanke des Taktsignals T,C Q2 wird der aktuell anliegende Eingangswert D übernommen, t und an den Ausgang weitergereicht, Q1(n+1) = Dn Digitaltechnik HS2015 danach ist der Eingang verriegelt und der Ausgang bleibt unverändert bis zur nächsten steigenden Taktflanke ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster T 13 Digitaltechnik HS2015 C1 X D C1 Q1 Clk 1D C1 Q2 9. Sequenzielle Schaltungen Tröster 14 Q1 • Idee: die Setz- und Rücksetzeingänge an einem SR-FF werden mit dem Takt in Abhängigkeit von den vorhergehenden Ausgangswerten umgeschaltet Q2 SR-Flipflop mit Rückkopplungen D-Latch 2 1D Q Q2 • wie könnte eine Schaltung aussehen, die bei jeder Taktflanke in den anderen Zustand kippt ('toggelt'), z.B. für einen Taster • Reihenschaltung zweier D-Latches, mit gegenphasigem Takt angesteuert 1D Q C1 T(oggle)-Flipflop Reichardt, Kap 11.4 D Q1 1D ETH Zürich Institut für Elektronik (IfE) Aufbauvarianten D-Flipflop (Master-Slave) D-Latch 1 ? D-FF mit Rückkopplung Q1 1D Clk S Q1 R Q2 T, C • Funktionsprinzip: die Information am D-Latch1 (Master)-Eingang wird während Clk = 0 eingespeichert, das D-Latch2 (Slave) ist dabei verriegelt T C1 Q2 Q1 T, C mit der Taktflanke Clk von 0 auf 1 wird das D-Latch1 verriegelt, und D-Latch2 ‚transparent‘: der X-Wert erscheint am Ausgang Q1 Funktionsgleichung: Q2 Q1(n+1) = Q1n Clk Taktgesteuertes T-Flipflop t Reichardt, Kap 11.6 D • das T-Flipflop kippt nur, wenn T = 1, für T = 0 bleibt der Ausgangszustand erhalten t X T C t & & Q1 S R Q1 Q2 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster Q1 Q2 Q+ = Q für T = 1 t Digitaltechnik HS2015 T C 15 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 16 Rückflankengesteuertes JK-Flipflop ein vielseitiges FF: das JK-FF Reichardt, Kap 11.5 & J Q1 S C C K & R Q2 J J Q1 C K K Q2 • Erweiterung des T-FF um die J- und K-Eingänge • (vereinfachte) Wahrheitstabelle Fall J K Q1(n+1) Q2(n+1) 1 0 0 Q1n Q2n speichern 2 3 0 1 1 0 0 1 1 0 rücksetzen setzen 4 1 1 Q1n Q2n SR - FF kippt T - FF Funktionsgleichung:Q1(n+1) = [(J Q1 ) ( K Q1)]n • häufig eingesetzt in verschiedenen Varianten, insbesondere mit mehreren J- und K-Eingängen Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 17 Master-Slave-FF, Zweispeicher-FF Reichardt, Kap 11.7 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) SR-Latch aus NAND-Gatter & S > das Master-FF übernimmt die Information mit der ersten Taktflanke; das Slave-FF erhält die Information vom Master mit der zweiten Taktflanke Q1 & Master-Slave Flipflop: SR, oder JK S S Q1 Q R R Q2 NQ Q2 R Schaltzeichen JK-Master-Slave Flipflop J J C K Q m1 Q m2 K 18 Aufbauvarianten SR-Latch, D-Latch/DFlipflop • Zweiflankensteuerung Master 9. Sequenzielle Schaltungen Tröster C D-Latch mit Transmission-Gates Slave J (S) K Q1 C C 1 D Q2 1 Q C D-Flipflop vorderflankengesteuert, aus 2 gekoppelten D-Latches (Master-Slave-Prinzip) Gegenüberstellung einflanken zweiflankengeteuert C C Q C t J 1 D K 1 1 1 Q C C t Q m1 D einflanken gesteu ert C C C C t Q D-Latch 1 D-Latch 2 1D Q 1D Q Q1 C1 C1 Q2 t C Q1 C zw eiflankengesteuert Transmission Gate (aus Kap 3) t Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 19 Digitaltechnik HS2015 C ETH Zürich Institut für Elektronik (IfE) C = 0: gesperrt C = 1: leitend 9. Sequenzielle Schaltungen Tröster 20 Reset, Rücksetzeingang welche Dynamik hat ein FF, ein Latch ? Reichardt, Kap 11.4.11 teilweise im Textbuch, Aufgabe in den Übungen • Latches und Flipflops besitzen häufig einen Setz- oder Rücksetzeingang, mit dem der aktuelle Speicherinhalt überschrieben werden kann • wie schnell reagiert ein FF, ein Latch ? • wie muss das zeitliche Zusammenspiel von Clock und Daten organisiert sein, um die Funktionssicherheit zu gewährleisten ? • mit einem asynchrone Set/Reset kann der Speicherzustand unabhängig vom Takt- und dem Dateneingang festgelegt werden, z.B. D-FF mit asynchronem Setzeingang T C1 S1 S R tPLH/HL: Propagation Delay, Verzögerungszeit, Durchlaufzeit Q1 1D D dynamische Kenndaten: R1 'aktive Taktflanke bis Reaktion an den Ausgängen' Q2 tp C t monostabile Kippstufe, Monoflop Q t • ein monostabile Kippstufe generiert einen Puls definierter Länge tQ, getriggert (angestossen) durch einen Eingangsimpuls tSetup: Setup-Zeit, Vorbereitungszeit, Einschwingzeit 'wie lange muss ein Datensignal vor der aktiven Taktflanke unverändert anliegen, damit es sicher in das FF übernommen wird ? thold: Haltezeit 'wie lange muss ein Datensignal nach der aktiven Taktflanke noch anliegen, damit es sicher in das FF übernommen wird ? •Verweilzeit tQ durch RC-Glieder extern einstellbar Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) Daten können ändern D 9. Sequenzielle Schaltungen Tröster Daten müssen in der Setup- und Holdphase stabil sein 21 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster Analyse Daten können ändern 1 D1 t C 1D QF1 D2 t 1D Q F2 C1 C1 ts 22 C Als Ausgang nutzbar QF1 oder QF2 th Gleichungen: 1. QF1n+1 = 2. QF2n+1 = Modell: Daten und Takt werden verzögert wirksam 3. D1n = 't s ' 4. D2n = D Speicher QF2n+1 = 4. in 2. mit 1'+3. C Wertetabelle: QF2n QF2n-1 QF2n+1 't h' Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 23 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 24 wie schnell darf der Teiler getaktet werden ? Ablauf: QF2i-1 QF2i-2 QF2i Zeitablauf i i+1 C i+2 i+3 Q F1 i+4 t t PFF i+5 t i+6 t PNOR D2 . i t QF2 Ablaufdiagramm Taktteiler tS t C t D1 D1 t • wie lange muss eine Taktperiode mindestens sein ? t Q F1 • zeitlich ‚längster‘ Pfad bestimmt die maximale Taktfrequenz: definiert als Summe der Laufzeiten zwischen zwei Flipflops einschliesslich Setup-Zeit t Beispiel: D2 t tPFF = 30ns; tPNOR = 10ns; tS = 20ns; thold = 4ns Tmin tPFF + tPNOR + tS = 60ns Q F2 1 = 16.7 MHz also fmax T min t Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 25 Digitaltechnik HS2015 9. Sequenzielle Schaltungen Tröster ETH Zürich Institut für Elektronik (IfE) 26 Latch, verbotener Zustand Zusammenfassung Nicht gleichzeitiger Wechsel a. • bistabile Kippschaltungen können nach zwei Kriterien unterschieden werden: b. > Wirkung der Eingangssignale Wie verhalten sich die Ausgänge Q1 und Q2, wenn (S, R) = (1, 1) (1, 0) (0, 0) (Q1, Q2) = (...,…) (…, …) (…,…) . (S, R) (1, 1) (0, 1) (0, 0) (...,…) (…, …) (…,…) = (Q1, Q2) = > Wirkungsweise des Taktsignals S 1. Eingangssignale RS: Basismodul, Setzen, Rücksetzen, Speichern D: Verzögerungsglied T: Toggle-Glied JK: Kombination von RS und T 1 1 R 2. Taktsignal - ohne Taktsteuerung (Latch) - mit Zustandssteuerung (Latch) - mit Einflankensteuerung (Flipflop) - mit Zweiflankensteuerung (Master-Slave-Prinzip) Q1 Q2 Gleichzeitiger Wechsel (ideal) S t R t Q1 t Q2 t Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 27 Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) 9. Sequenzielle Schaltungen Tröster 28 was sind Automaten, FSM 10. Automaten Lernziele • ein Automat beschreibt ein System, das • was sind Automaten, sequenzielle Schaltwerke, 'Finite State Machines' (FSM): Einstieg in die Automatentheorie • was ist ein 'Mealy'-, was ein 'Moore'-Automat > auf seinen Eingang reagiert, > einen Ausgang generiert, der > von dem Eingangssignal und von dem momentanen Zustand des Systems eindeutig abhängt • wie kann man Automaten beschreiben • was ist ein Zustandsdiagramm, -graph • wo wird eine Folgezustandstabelle benötigt • wie lassen sich Automaten analysieren • wie kann man Automaten bauen, synthetisieren • endlicher Automat, 'Finite State Machine' FSM: > die Menge der möglichen Eingabezeichen (Eingabealphabet), die Mengen der möglichen Ausgabezeichen (Ausgabealphabet) und die Zustandsmenge sind endlich Textbuch Reichardt • Schaltwerke sind typische Beispiel für endliche Automaten • im Textbuch Kap 12 sowie einige Ergänzungen • synchrone Schaltwerke: Motivation > alle Speicherelemente besitzen den gleichen Takteingang • Automaten spielen als Steuerungs- und Kontrollelemente eine wichtige Rolle > interne Zustandsänderungen laufen synchron mit dem gemeinsamen Taktsignal > in der Informationstechnik: Ablaufsteuerung in Mikroprozessoren, Kontrolle der Kommunikation zwischen verschiedenen Baugruppen, … • asynchrone Schaltwerke: > sie besitzen kein gemeinsames Taktsignal > in der Verfahrenstechnik, Maschinenbau, Regelungstechnik, wo Abläufe kontrolliert werden müssen 10. Automaten Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) > Zustandsänderungen werden durch Änderungen des Eingangssignals initiiert 1 Tröster Y = (y1, y2, ... , yb) Z = (z1, z2, ... , zm) Z0 Z Yn = f ( Xn, Zn ) Eingabealphabet mit e Eingangszuständen xi, die durch binäre Eingangsvariablen xi, repräsentiert werden Schaltwerken oder bei Änderung des Eingangsvektors in asynchronen Schaltwerken wird der Folgezustandsvektor Zn+1 zum neuen Zustandsvektor Zn, also Zn := Zn+1 Ausgabealphabet mit b Ausgangszuständen yi, und binären Ausgangsvariablen yi, Zustandsmenge mit m (inneren) Zuständen zi, und binäre Zustandsvariablen zi, Funktionsablauf in einem Mealy-Automaten • Annahmen: > synchrones Schaltwerk > als Speicherelemente werden D-Flipflops eingesetzt Anfangszustand > bei der positiven Taktflanke (von 0 nach 1) schalten die DFFs • Ablauf: > für C = 0 sind die Eingänge der Speicherelemente verriegelt. Mit den Vektoren Xn, Zn werden die Schaltfunktionen f ( Xn, Zn ) und g ( Xn, Zn ) berechnet, Yn ausgegeben und der Folgezustandsvektor Zn+1 gebildet Struktur (Huffman-Darstellung): > während der positiven Taktflanke von C (von 0 nach 1) wird der Zustandsvektor Zn+1 in die D-FF eingelesen und kombinatorisches Schaltnetz f ( X n , Zn ) Clock Digitaltechnik HS2015 Yn ist an deren Ausgängen verfügbar • neben einflankengesteuerten FFs (D- und JK) können auch Master-Slave-FFs benutzt werden g ( X n, Z n ) Speicherelemente • einfache Latches sind nicht geeignet, warum ? Zn+1 • wieviele Zustände k kann ein Automat mit N Flipflops maximal annehmen ? 10. Automaten ETH Zürich Institut für Elektronik (IfE) Ausgangsfunktion Übergangsfunktion > bei einem Taktwechsel von tn nach tn+1 in synchronen 'Mealy'-Automat Zn 2 Tröster Zn+1 = g ( Xn, Zn ) g {fc1 im Textbuch} : ( xi, zj,) zk Übergangs-, Überführungsfunktion f {fc2 im Textbuch} : ( xi, zj,) yr Ausgangs-, Ausgabefunktion Xn 10. Automaten ETH Zürich Institut für Elektronik (IfE) Schaltfunktion: wie lassen sich Schaltwerke klassifizieren • Definitionen: X = (x1, x2, ... , xe) Digitaltechnik HS2015 Tröster 3 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 4 Synchroner Automaten: sequenzielle Darstellung Ausgang Schaltfunktion: Yn = f ( Zn) Ausgangsfunktion Ausgangsfunktion Übergangsfunktion Zn+1 = g ( Xn, Zn ) Yn Moore-Automat • Sonderfall des Mealy-Automaten: der Ausgangsvektor Y hängt nur von den inneren Zuständen ab, nicht vom Eingangsvektor, also Zn Struktur f ( Z n) Medwedjew-Automat • der Ausgangsvektor ist mit den Speicherinhalten identisch (z.B. bei Zähler) Q2 C1 Clock S R oder Q1 Q2 Q1 C1 D oder K Zn+1 C Zn+1 Zustandsübergangsfunktion Speicherelemente C1 g ( X n, Z n ) J Zn nur bei Mealy-Automat X Zustandsspeicher Q1 Q2 Y Struktur g ( X n, Z n ) C Digitaltechnik HS2015 Speicherelemente Zn+1 10. Automaten ETH Zürich Institut für Elektronik (IfE) 5 Tröster wie können wir die Funktion von Schaltwerken beschreiben Digitaltechnik HS2015 Xn Zn Eingang X Eingangskodierung Y 10. Automaten ETH Zürich Institut für Elektronik (IfE) Zustandsgraph, Zustandsdiagramm, Automatengraph, 'state graph', 'state transition diagram' > Ausgangs- und Übergangsfunktionen • graphische (äquivalente) Darstellung der Folgezustandstabelle bestehend aus Knoten und (gerichteten) Kanten > KV-Diagramme • die Knoten (Kreise) bezeichnen den internen Zustand • für Schaltwerke gibt es verschiedene, äquivalente Beschreibungsmöglichkeiten > und bei Moore-Automaten zusätzlich den Ausgang, da der Ausgang nur von den internen Zuständen abhängt > Zustandsdiagramme oder -Graphen > Zustandsfolge- oder Folgezustandstabellen • der Übergang zwischen zwei Zuständen kennzeichnen Kanten, Zustandsfolgetabelle, Folgezustandstabelle, Automatentabelle, 'state table', 'state transition table' > die Eingangskombination e (und bei Mealy-Automaten zusätzlich der Ausgang a), die die Zustandsänderung bewirken, werden an der jeweiligen Kante vermerkt • zu jeder Kombination der aktuellen internen Zustände und des Eingangsvektors werden die Folgezustände und Ausgangswerte aufgelistet (endliche Automaten !) Struktur: e/a m: Anzahl Zustände No Eingang Xn momentaner Zustand Zn Ausgang Yn Folgezustand Zn+1 1 x1,x2,...,xe z1n, z2n,...,zmn y1,y2,...,yb z1n+1, z2n+1,..,zmn+1 Kanten keine Zustandsänderung (Eigenschleife) • verschiedene Anordnungen möglich und gebräuchlich e: Anzahl Eingangsvariable b: Anzahl Ausgangsvariable 6 Tröster e/a Zj /Yp Zustand j (und Ausgang p bei Moore-Automaten) Zi /Y h Knoten e/a Zustand i Belegung des Eingangsvektors (und des Ausgangsvektors bei Mealy-Automaten) . • maximale ‚Länge‘ der Tabelle, wenn alle Eingangs- und Zustandskombinationen aufgeführt sind: max= 2e+m • Zustandsdiagramme sind ein häufig verwendetes Hilfsmittel zur Darstellung von Abläufen • die internen Zustände Zn sowie die Ein- und • wo ist der Takt ? • wieviele Knoten, wieviele Kanten (maximal) ? Ausgangszustände können in Form von Variablen oder in kodierter (‚mit einem Namen‘) Form eingetragen werden Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster • wieviele Kanten ‚verlassen‘ maximal einen Knoten ? 7 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 8 Folgezustandstabelle Analyse von Schaltwerken • Aufgabe: ein Schaltwerk ist vorgegeben, es soll analysiert werden • Vorgehensweise: > eine Zustandstabelle aufstellen, > die Schaltfunktionen und/oder > das Zustandsdiagramm bestimmen Beispiel: & OUT IN z1 & 1D z2 1D C1 C1 No Eingang INn moment. Zustand z1n z2n 1 0 0 0 2 0 0 1 B 3 0 1 0 C 4 0 1 1 D 5 1 0 0 A 6 1 0 1 B 7 1 1 0 C 8 1 1 1 D Ausgang OUTn Folgezustand z1n+1 z2n+1 A Zustandsdiagramm Takt • wieviel verschiedene Zustände: • Automatentyp: Moore • Eingabealphabet: X = (IN) Ausgabealphabet: Y = (OUT) Zustandsmenge Z = (z1, z2) • Schaltfunktionen > Ausgangsfunktion f ( z1, z2 ): > Übergangsfunktionen g ( IN, z1, z2 ) Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) 9 Tröster Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) wie konstruiert man ein Schaltwerk: Synthese 10 Tröster Beispiel: Garageneinfahrt weiteres Beispiel Im Textbuch Kap 12.3 • Aufgabe: aus einer Funktionsbeschreibung ist ein Schaltwerk zu entwerfen, das die vorgegebenen Spezifikationen erfüllt » Aufgabenstellung: > eine Garageneinfahrt ist mit 2 Lichtschranken x1 und x2 ausgerüstet; bei Unterbruch geht das jeweilige Signal x von 0 auf 1 • Vorgehensweise: > eine Schaltung soll anzeigen, ob ein Auto hinein- oder herausfährt, oder ob sich kein Auto im Lichtschrankenbereich aufhält (1) Zustandsmenge bestimmen; daraus folgt die Anzahl der Zustandsvariablen und die Anzahl der erforderlichen Speicherglieder > handelt es sich um eine kombinatorische Schaltung oder um eine sequenzielle Schaltung ? (2) Definition der Ein- und Ausgangsvariablen, Wahl einer Zustandscodierung (3) Darstellung der zeitlichen Zustandsfolge in einem Zustandsdiagramm Lichtschranke c (4) Aufstellen der Zustandsfolgetabelle Einfahrt (5) Bestimmen und gegebenenfalls Minimieren der Übertragungs- und Ausgangsfunktionen x X1 (6) Prüfung auf unbenutzte Zustände x < c X2 » Entwurf (7) Konstruktion des Schaltplanes anhand der Schaltfunktionen (1) Zustandsmenge: k = 3 verschiedene Situationen sollen erkannt werden: > einfahrendes Auto: EIN > herausfahrendes Auto: AUS > kein Auto RUHE • je nach Aufgabenstellung kann die Vorgehensweise variieren dafür werden 2 Flipflops benötigt Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 12 (2) Ein- und Ausgangsvariable, Zustandskodierung (3) Zustandsdiagramm Eingang: die Kodierung für die vier möglichen Kombinationen ist durch die Aufgabenstellung vorgegeben: x1 x2 0 1 0 1 0 0 1 1 > Als nächster Schritt ist das Zustandsdiagramm zu erstellen, das die Übergänge zwischen den 3 Automatenzuständen definiert > Mealy-Automat: y2 0 1 0 0 0 1 11/01 A 10/00 Eingangsalphabet: Ausgangsalphabet: Zustandsmenge: > Rücksprung in den Zustand R, wenn keine Lichtschranke mehr unterbrochen ist EIN AUS RUHE 1 0 0 > bleibt solange erhalten, bis eine der Lichtschranken anspricht 0 1 0 • Zustand A > wird nur aus dem Ruhezustand R erreicht, wenn die rechte Lichtschranke unterbrochen ist (x2 = 1) > wenn beide Lichtschranken unterbrochen sind ('das Auto fährt weiter'), wird das Ausgangssignal gesetzt (y2 = 1) > Rücksprung in den Zustand R, wenn keine Lichtschranke mehr unterbrochen ist 13 Tröster Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) > aus der Zustandsfolgetabelle können die KV-Diagramme für die Folgezustände QBn+1, QAn+1 , y1 und y2 aufgestellt und z.B. über > auf der Basis von Variablen (dc: 'don't care') Eingänge x1x2 Zustand RUHE EIN AUS 00 01 11 10 R R R A E A dc E A E E A die disjunktive Normalform unter Berücksichtigung der unbenutzten Zustände minimiert werden (übungshalber sind beide Formen des KV-Diagramms benutzt; die KV-Diagramme für y1 und y2 sind in die KV-Diagramme für QBn+1 und QAn+1 eingezeichnet) x1 x1 Folgezustände QB(n+1) > in kodierter Form: (Di: don't care-Zustände) No Eingänge x1n x2n 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 R A E R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 R R R A 5 6 7 0 0 1 1 1 1 0 1 0 1 0 0 A E R 0 0 0 0 0 0 0 1 D0B 1 0 D0A A E 8 9 10 11 12 13 14 15 16 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 A E R A E dc dc dc dc 0 1 0 0 0 D1y1 D2y1 D3y1 D4y1 1 0 0 0 0 D1y2 D2y2 D3y2 D4y2 0 1 1 0 1 D1B D2B D3B D4B 1 0 0 1 0 D1A D2A D3A D4A A E E A E 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster QB D0 x2 1 y1 moment. Zustand Ausgänge Folgezustand QBn QAn y1n y2n QBn+1 QAn+1 1 2 3 4 Digitaltechnik HS2015 14 Tröster (5) Übertragungs- und Ausgangsfunktionen (4) Zustandsfolgetabelle momentaner • Zustand R X = (x1, x2) Y = (y1, y2) Z = (E, A, R) ETH Zürich Institut für Elektronik (IfE) 01/00 00/00 > wenn beide Lichtschranken unterbrochen sind ('das Auto fährt weiter'), wird ein Ausgangssignal gesetzt (y1 = 1) 10. Automaten Digitaltechnik HS2015 11/10 E • Zustand E > wird erreicht nur aus dem Ruhezustand R, wenn die linke Lichtschranke unterbrochen ist (x1 = 1) Zustandskodierung: die 3 Zustände des Automaten bedingen eine Kodierung mit 2 Binärstellen QB und QA, beispielsweise: QB QA Zusammenfassung: 10/00 R 01/00 kein Auto vorhanden Auto einfahrend Auto herausfahrend > einfahrendes Auto: > herausfahrendes Auto: > kein Auto: 10/00 00/00 01/00 Ausgang: 3 Situationen sollen erkannt werden, also sind 2 Bit für die Kodierung erforderlich, eine mögliche Kodierung: y1 x 1x 2/y 1y 2 00/00 kein Auto vorhanden Auto einfahrend Auto herausfahrend Auto zwischen den Schranken 1 1 D4 D2 D3 D1 x2 1 x1x2 QB QA QB Q A 00 QA A 01 11 QA(n+1) 00 1 D0 y2 01 1 1 D2 D4 11 QB 1 Q D1 10 1 1 D3 10 15 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 16 es sollen D-Flipflops eingesetzt werden (Qn+1 = Dn) (7) Schaltplan (realisiert mit D-FF) > (minimierte) Übergangsfunktionen g(Xi, QA,B) x1 x2 QB(n+1) = x1 . QA + x2 . QB QA(n+1) = x2 . QB + x1 . QA & > (minimierte) Ausgangsfunktionen f(Xi, QA,B) & 1 1D QB C1 y1 = x1 . x2 . QB y = x .x .Q 2 1 2 A (6) unbenutzte Zustände > die 4 unbenutzten Zustände sind durch QA = QB = 1 & & gekennzeichnet 1 1D QA C1 > damit ergeben die Übergangsfunktionen aus dem Zustand QA(n) = QB(n) = 1 & QB(n+1) = 0 + x2 QA(n+1) = 0 + x1 y1 > Zustandsdiagramm für QA = QB = 1 x1 x2 & R 11 y2 00 A 10 11 01 Clock E Fazit: aus dem unbenutzten Zustand QA = QB = 1 findet der Automat bei einer Änderung der Eingangswerte den Weg in einen der 3 definierten Zustände Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) 17 Tröster Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Moore-Automat für Garageneinfahrt ? 18 Tröster Entwurfsaufgabe 1 • es ist ein Gerät zu entwerfen, das einen Impuls wählbarer Dauer erzeugt (= Impulsgenerator) 1. wie ist der Zustandsgraph in Folie 14 für die Implementierung mit einem Moore-Automaten zu ändern ? Bedienelemente: 2. worin unterscheidet sich die Funktionalität ? 3. wird der Implementierungsaufwand grösser oder kleiner sein ? Wahl der Impulsdauer Impulsdauer in Anzahl Taktperioden '0' 'I' 'II' 'III' kein Impuls 1 2 3 Vorschlag: Startknopf: S Impulsdiagramm Takt t Start t '0' t 'I' t 'II' t 'III' t Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 19 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 20 Impulsgenerator Entwurfsideen: Entwurfsaufgabe 2 1. ein einstellbarer (Synchron-) Zähler 2. Automat: abhängig von der Stellung des Wahlschalters wird ein bestimmter Zustand in einem Zyklus angesprungen und der Zyklus in seinen Ausgangszustand 'getaktet' Zustandsmenge: 4, • ein Automat soll aus einem seriellen Datenstrom die Impulsfolge '0010110' erkennen und durch die Ausgabe y = 1 quittieren > 7 innere Zustände z1, z2,..., z7 müssen behandelt werden als A, B, C, D definiert Eingangsvariable: '0' 'I' 'II' 'III' > 3 Flipflops sind erforderlich > zur Codierung der 7 Zustände genügen 3 Zustandsvariable zi, = (zi, , zi, , zi, ) e1 e2 00 01 10 11 Ausgangsvariable: Y Start: S = 1 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) 21 Tröster Digitaltechnik HS2015 Eingangskodierung • ein Automat mit N Flipflops kann k = 2N Zustände einnehmen • eine allgemeingültige Entwurfsregel ist nicht anzugeben • häufig werden nicht alle k = 2N Zustände, sondern nur kI< k Zustände benötigt (abhängig von der Aufgabenstellung) • die restlichen (k-kI) 'don't care'-Zustände können für die Wahl der Zustandskodierung Logikminimierung genutzt werden • in einem Automat mit r Flipflop-Speicher wird jeder Zustand mit einem eindeutigen r-Bit breiten Binärkode beschrieben • um n Zustände mit r Bit zu kodieren, gibt es • eine sichere ('robuste') Funktion setzt voraus, dass r 2! ( 2 n )! > beim Einschalten des Automaten und > bei Störungen der Automat nach wenigen Taktzyklen in das 'Nutzzustandsdiagramm' einläuft r nichtäquivalente Kodiermöglichkeiten Beispiele: n 3 4 5 10 15 r 2 2 3 4 4 22 Tröster unbenutzte (parasitäre) Zustände • wenn nicht alle möglichen Kombinationen der Eingangsvariablen benutzt sind, kann die Anzahl durch geeignete Kodierung reduziert werden KM ( r , n ) 10. Automaten ETH Zürich Institut für Elektronik (IfE) • Entwurfsvorkehrungen KM(r,n) 24 24 6720 2,9.1010 2,1.1013 > durch eine RESET-Schaltung sollen alle Flipflops aus jedem beliebigen Zustand in einen definierten Startzustand z0 gebracht werden können > wenn einer der 'don't care'-Zustände nicht in einen der definierten Zustände gelangt, ist der 'don't care'Folgezustand durch einen der in kI definierten Zustände zu • die Zustandskodierung bestimmt den Implementierungsaufwand für die kombinatorische Logik ersetzen • es sind heuristische rechnergestützte Verfahren bekannt, um aufwandsgünstige Kodierungen zu suchen • bei Moore-Automaten kann versucht werden, die Zustandskodierung so zu wählen, dass die FF-Ausgänge ganz oder teilweise den Ausgangsvariablen entsprechen; die Ausgangskodierung vereinfacht sich dadurch Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 23 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 24 Synchronisierung der Eingänge gekoppelte Automaten • eine sichere Automatenfunktion setzt voraus, dass die Eingangswerte X synchron zu der aktiven Taktflanke wechseln • (komplexe) Automaten können aus mehreren miteinander kommunizierenden Teilautomaten aufgebaut werden • die Zustandsanzahl des Gesamtautomaten ergibt sich aus dem Produkt der Zustandsanzahlen der Teilautomaten >wo liegt dann der Gewinn der Aufteilung ? • ohne diese Synchronität zwischen Takt und Daten können Fehlfunktionen auftreten: > wenn sich bei dem Mealy-Automaten die Ausgänge ohne Taktwechsel mit den Eingängen ändern, • Vorteile: > mehrere kleine Automaten sind zumeist übersichtlicher zu entwerfen als ein komplexes Schaltwerk > wenn unterschiedliche Laufzeiten in dem kombinatorischen Schaltnetz an den FF-Eingängen zu unerwünschten Datenwerten führen, die durch die aktive Taktflanke in die FF übernommen werden. > die Gesamtzustandsanzahl reduziert sich häufig, wenn mehrere äquivalente Zustände zusammengefasst werden können, oder wenn einige Zustände nicht erreichbar sind (einfaches) Beispiel: Abhilfe: Synchronisations-Flipflop (-Register) ein Schaltwerk besteht aus den zwei synchronen Teilautomaten Schaltwerk_1 und Schaltwerk_2 Clock Out + C1 Start R Schaltwerk_1 X' X 1D 1D + + 1D + DREI Y Automat 10. Automaten ETH Zürich Institut für Elektronik (IfE) 25 Tröster Schaltwerk_2 ist ein synchron rücksetzbarer 3-Bit-Dual-Zähler, der bei Erreichen des Zählerstandes 3 bzw. 7 das Signal DREI bzw. SIEBEN auf Eins setzt, und der durch RESET=0 in den Folgezustand und bei jedem Taktwechsel mit RESET=1 in den Anfangszustand '000' übergeht Digitaltechnik HS2015 x1x/x1 1xx/10 warte1 warte2 5 8 7 6 Zustandsgraph 3-Bit-Dual-Zähler 26 Tröster Definition: Zwei Zustände Z1 und Z2 eines Schaltwerk sind genau dann äquivalent, Z1 Z2, wenn bei jeder für Z1 und Z2 zulässigen xx1/10 Eingabefolge die gleichen Ausgangswerte generiert werden und das Schaltnetz die gleichen oder äquivalente Folgezustände einnimmt Satz (ohne Beweis): Äquivalente Zustände Z1 und Z2 können zu einem neuen Zustand Z1,2 zusammengefasst werden. In der Folgezustandstabelle ersetzt Z1,2 jeweils Z1 und Z2; von zwei identischen Zeilen kann eine entfernt werden • Beispiel: gegeben ist ein Automat mit den 4 Zuständen Z (A, B, C, D), mit dem Eingang X, dem Ausgang Y und der Folgezustandstabelle: 12 Takte nach Start wird Out = 1 • wieviele Zustände hat der Gesamtautomat ? • aufgrund der gegenseitigen Abhängigkeit beider Teilautomaten sind nicht alle Zustände erreichbar, z.B. > im Zustand 'warte2' läuft der Zähler (Schaltnetz_2) nur bis zu dem Zählstand 3 und wird dann zurückgesetzt > alle Zustände aus der Kombination des Zustands 'init' mit einem beliebigen Zählerzustand sind äquivalent 10. Automaten Tröster 1 Kein Prüfungsstoff . • Beschreibung: > ausgehend von dem Zustand 'init' wird mit dem StartSignal der Zähler (Schaltwerk_2) gestartet (RESET=1) und der Zustand 'warte1' angelaufen > dort verharrt das Schaltwerk_1 solange, bis nach 8 Takten das Schaltwerk_2 das Signal SIEBEN auf Eins setzt und Schaltwerk_1 in den Zustand 'warte2' wechselt > Schaltwerk_2 startet wieder mit dem Zählerstand 0 und setzt nach 4 Takten das Signal DREI=1 ab > Schaltwerk_1 wechselt damit von 'warte2' nach 'init', das Signal Out geht auf Eins > Schaltwerk_1 verbleibt in dem Zustand 'init' bis zu einem neuen Start-Impuls, während Schaltwerk_2 weiterläuft ETH Zürich Institut für Elektronik (IfE) 4 • ähnlich wie bei dem Entwurf kombinatorischer Schaltungen strebt man bei Schaltwerken eine Minimierung der Zustände an xx0/00 Digitaltechnik HS2015 3 Zustandsreduktion x0x/00 init 2 10. Automaten ETH Zürich Institut für Elektronik (IfE) > Schaltwerk_1 ist durch ein Zustandsdiagramm beschrieben Start DREI SIEBEN / RESET Out 0xx/x0 Takt SIEBEN • die aktive Taktflanke synchronisiert die Eingangswerte X' mit den internen Zuständen Z des Automaten • da der Datenwechsel an den Synchronisier-FFs mit der Taktflanke zusammenfallen kann, sind sog. metastabile Zustände prinzipiell nicht auszuschliessen - MasterSlave FFs reduzieren die Wahrscheinlichkeit Digitaltechnik HS2015 RESET Schaltwerk_2 27 Digitaltechnik HS2015 moment. Zustand Zn Eingang X Folgezustand Zn+1 Ausgang Y A A B B C C D D 0 1 0 1 0 1 0 1 A C B C D A C B 0 1 0 1 1 0 1 0 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 28 Zustandsdiagramm Zustandsdiagramm nach der Zustandsreduktion 0/0 0/0 B A 0/0 1/1 1/0 1/1 0/1 C A/B X/Y X/Y 1/0 1/0 1/0 D 0/1 • welche Zustände sind zueinander äquivalent ? > 1. Voraussetzung: die Ausgangsfolge stimmt überein: A und C, A und D, B und C, B und D nicht äquivalent • die Zustände C und D können zusammengefasst werden Unvollständig spezifizierte Schaltwerke • häufig enthält die Verhaltensbeschreibung von Automaten unspezifizierte Ausgabewerte und Folgezustände, die zur Minimierung der Zustandsanzahl genutzt werden können, z.B. > in dem Zustand Zi sei der Folgezustand nicht spezifiziert. Ein Folgezustand Zin+1 könnte so definiert werden, dass er dem Folgezustand Zjn+1 eines anderen Zustands Zjn+1 entspricht, Zi und Zj könnten dann zusammengefasst > das verbleibende Paar {A, B} ist äquivalent: die Zustände A und B können zu A/B zusammengefasst werden. reduzierte Folgezustandstabelle: Eingang X Folgezustand Zn+1 Ausgang Y A/B A/B C C D D 0 1 0 1 0 1 A/B C D A/B C A/B 0 1 1 0 1 0 D 0/1 > 2. Voraussetzung (für die verbleibenden Zustandspaare {A, B} sowie {C,D}) C und D nicht äquivalent (in dem gegebenen Diagramm) moment. Zustand Z 0/1 C werden, wenn die Äquivalenzbedingungen (s.o.) erfüllt sind • für die systematische Zustandsminimierung sind Verfahren bekannt, z.B. mittels Implikantentabellen. Diese Verfahren sind aufwendiger als die Logikminimierung mit KVDiagrammen. • moderne Synthesewerkzeuge bieten automatisierte Verfahren zur Zustandsminimierung an Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) 29 Tröster Automaten mit Festwertspeicher ‚Look-up-Table’ Variable: Momentan_Zustand nächster_Zustand Ausgabe Eingang Beispiel Garageneinfahrt: die Wertetabellen der Übergangsfunktionen =x . Q Q . A + x2 QB wenn QA(n+1) = x2 . QB + x1 . QA dann B(n+1) 1 y1 = x1 . x2 . QB y2 = x1 . x2 . QA 1 Folgezustände Zn+1 +C1 R 1D 1D + + programmierbarer Speicher QA QB Y1 X1 X2 Y2 Speicherinhalte Speicheradressen • welche Speicherkapazität muss der Speicher (mindestens) haben ? Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster A, R, E; A, R, E 00, 01,10,11 00, 01,10,11 <Taktflanke (synchr. Automat)> < Änderung Eingangsdaten (asynch. Automat)> <Momentan_Zustand = nächster_Zustand>; <Momentan_Zustand = R> wenn <Eingang = 00> dann <nächster_Zustand = R> <Ausgabe = 00>; wenn <Eingang = 10> dann <nächster_Zustand = E> <Ausgabe = 00>; wenn <Eingang = 01> dann <nächster_Zustand = A> <Ausgabe = 00>; end case; case <Momentan_Zustand = E> wenn <Eingang = 00> dann <nächster_Zustand = R> <Ausgabe = 00>; wenn <Eingang = 10> oder <Eingang = 01> dann <nächster_Zustand = E> <Ausgabe = 00>; wenn <Eingang = 11> dann <nächster_Zustand = E> <Ausgabe = 10>; end case; 2} Reset 30 Tröster case sind in einem Speicher abgelegt. Die einzelnen Speicherzellen sind durch {x1 , x2 , QB ,QA} adressiert; die Zellen enthalten die Werte für die Ausgänge {y , y und die Takt ETH Zürich Institut für Elektronik (IfE) Garagenautomat, Pseudocode Mealy • statt mit kombinatorischen Schaltungen können die Übergangs- und Ausgangsfunktionen auch in Festwertspeichern (Look-up-Table) abgelegt werden und Ausgangsfunktionen 10. Automaten Digitaltechnik HS2015 31 Digitaltechnik HS2015 10. Automaten ETH Zürich Institut für Elektronik (IfE) Tröster 32 Asynchronzähler 11. Zähler, Frequenzteiler Synthesizer • 'was heisst zählen ?' Abfolge von Zuständen nach einem vorgegebenen Schema durchlaufen Lernziele: • Beispiel: • was gibt es für verschiedene Zählertypen • wozu braucht man Zähler 2 • was ist der Unterschied zwischen einem synchronen und einem asynchronen Zähler 3 4 1 • ripple 5 8 • zählt ein Modulo - Zähler Module 6 7 Zustandsgraph Vorwärtszähler • wie baut man Zähler für bestimmte Anwendungen • wie einen programmierbaren Frequenzteiler • Zähler (Automaten) mit JK-Flipflops Zustands-Nr 1 2 3 4 5 6 7 8 (max 8 Zustände) III 0 0 0 0 1 1 1 1 ? II 0 0 1 1 0 0 1 1 I 0 1 0 1 0 1 0 1 rückwärts vorwärts • I-Stelle: kippt bei jedem Zustandswechsel Textbuch Reichardt: • II-Stelle kippt bei jedem 2. Zustandswechsel • Kapitel 13, auszugsweise • III-Stelle kippt bei jedem 4. Zustandswechsel • Grundbaustein: T-Flipflop (ohne Taktsteuerung, mit Taktsteuerung siehe Kap 8, Folie 16) Motivation: • fast jedes elektronische Gerät beinhaltet Frequenzteiler, z.B. von einem Quarzoszillator werden die Takte von Subsystemen abgeleitet T • Zähler werden benötigt, um Zeiten auszumessen (Stoppuhr), Abläufe zu steuern oder verschiedene Systemzustände zu (de)kodieren Digitaltechnik HS2015 3-Bit Dualzähler 1 Tröster Digitaltechnik HS2015 3-Bit-Dualzähler Q2 Q 1(n+2 ) = Q 1 (n+1 ) = Q 1n 11. Zähler ETH Zürich Institut für Elektronik (IfE) asynchron 2 Tröster (synchron) ? • 'wann ist das letzte Flipflop in der Kette gekippt ?' Ketten(Reihen-)schaltung von 3 T-Flipflops (Rückflankensteuerung) LSB Q 1(n+1) = Q 1n • der Ausgangszustand wiederholt sich jeweils nach 2 Taktwechsel 11. Zähler ETH Zürich Institut für Elektronik (IfE) Q1 T • 'wie schnell darf der Zähltakt anliegen ?' MSB (nochmals) der 3-Bit-Dualzähler: Zeitablauf-Diagramm mit Signallaufzeiten: Zeitablaufdiagramm Rückwärtszähler: wenn statt Qi die bitweise invertierten Werte Qi benutzt werden Digitaltechnik HS2015 11. Zähler ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 11. Zähler ETH Zürich Institut für Elektronik (IfE) Tröster 4 Frequenzteiler • Zustandsänderungen laufen in Form einer Welle durch die Welle (ripple) durch die Flipflop-Kette, die Einzelverzögerungen kumulieren • jeder Dualzähler teilt die Taktfrequenz in Stufen von Zweierpotenzen • der Zeitpunkt, an dem der jeweils gültige Zählerstand verfügbar ist, wenn also alle Flipflops ihren Zählerwert eingenommen haben, hängt auch von dem Zählerstand ab Beispiel: 3-Bit-Dualzähler mit Zeitablaufdiagramm • wie gross ist die max. Taktfrequenz fmax, um in einer n-stufigen FF-Kette jeden gewünschten Zählerzustand gewährleisten zu können (mindestens für eine ‚kurze’ Zeitspanne): mit tpi: max. Durchlaufzeit für das i-te FF fmax = 1 tpi i • Beispiel: 3-Bit-Dualzähler: tp1..3worst case = 30ns, dann fmax = 11,1MHz • bei einem 12-Bit-Dualzähler: • mögliche Teilerverhältnisse: fE fT = n 2 Eingangs- (Takt)frequenz fT: fE: fmax = 2,8MHz besser (aber aufwendiger): Synchronzähler n: mit geteilte Frequenz Anzahl der Flipflops • Frage: welchen Einfluss hat die Durchlaufzeit auf die Frequenzteilerfunktion ? Digitaltechnik HS2015 11. Zähler ETH Zürich Institut für Elektronik (IfE) 5 Tröster 11. Zähler Digitaltechnik HS2015 ETH Zürich Institut für Elektronik (IfE) Modulo- n (mod-n) Zähler (?) Synchronzähler Reichardt, Kap 13.2 teilweise Reichardt, Kap 13.2 • Aufgabe: 'es ist ein Schaltwerk zu bauen, das bis zu einer bestimmten Anzahl n von Zuständen zählt, und dann auf einen vorgegebenen Zustand (z.B. den Anfangszustand) springt', z.B. in einer Digitaluhr, Zählen auf 24h, 60min, 60sec • im Gegensatz zu Asynchronzähler liegt der Takt an allen Flipflops an: alle Flipflops schalten gleichzeitig mit dem Takt: synchron • Synchronzähler werden zumeist als MedwedjewAutomaten behandelt: die Ausgänge der Flipflops entsprechen den Zählzuständen; der Steuereingang X kann zur Ablaufkontrolle, z.B. vorwärts/rückwärts eingesetzt werden • Lösung für einen asynchronen Dualzähler: der Zählzustand n wird durch eine kombinatorische Schaltung detektiert und der Zähler damit auf Null gesetzt (reset) • Beispiel: ein Modulo-5-Zähler durchläuft 5 Zählzustände und wird mit dem nächsten Taktsignal auf den Anfangszustand 0 zurückgesetzt; Codierung des Zustands: 1 0 1(2); 2 3 Y X 7 C 4 4-Bit Ringzähler Zähler mit asynchronem Set/Reset für ‘1000’-Start 6 Z0 S 1000 0010 Clk Start Z0Z1Z2Z3 E Schaltzeichen QI Q II Q III Tröster 0111 0000 Digitaltechnik HS2015 R S Q g Z2 Z1 D Q Q D Z3 Q D 0011 0001 7 Z0 D Z0Z1Z2Z3 11. Zähler ETH Zürich Institut für Elektronik (IfE) R S Q C ‘1’ ‘0’ 4-Bit Johnson-Zähler mit asynchronem Set/Reset für ‘1000’-Start Start Digitaltechnik HS2015 0100 D C R S R Z3 Q D Q C y Steuerblock Funktionsblock + + + D C Start Zustandsgraph Z2 Z1 Q D 0001 CTR 5 + Zn+1 Speicherelemente Beispiele: 5 8 g ( X n, Zn ) Zn 3-Bit-Zähler erforderlich: 1 6 Tröster S 1111 1000 1110 1100 C C Clk Start R S C R S C R S R ‘1’ ‘0’ 11. Zähler ETH Zürich Institut für Elektronik (IfE) Tröster 8 zyklischer 3-Bit mod-6 Pseudo-Gray-CodeGenerator KV-Diagramme für die Flipflops A, B, C: QA • Aufgabe: es ist ein 6-stufiger Zähler mit JK-FFs für folgende, vorgegebener Zustandsfolge zu entwerfen: Nr QAn 1 2 3 4 5 6 7 8 QBn QCn 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 QAn+1 QBn+1 QA QB QA(n+1) QB QCn+1 QB QB(n+1) QB QB QC(n+1) QB • für die 6 Zustände sind 3 Flipflops (A, B, C) erforderlich • die restlichen 2 Zustände sind als 'don't care'-Zustände zur Logikminimierung zu benutzen 3 2 QC • wenn JK-FFs benutzt werden sollen, dann sind die Minimierungen im KV-Diagramm so vorzunehmen, dass für Qk(n+1) sowohl Qk wie Qk berücksichtigt sind 4 1 5 8 • charakteristische Gleichung für das i-te JK-Flipflop: Qi(n+1) = [( Ki . Qi) + (J . Qi ) ] 6 7 QC QC i Digitaltechnik HS2015 11. Zähler ETH Zürich Institut für Elektronik (IfE) 9 Tröster Digitaltechnik HS2015 n 11. Zähler ETH Zürich Institut für Elektronik (IfE) 10 Tröster ..und wenn der Zähler aus den 'don't care'Zuständen heraus startet ?' JK-FF adäquate Formeln: QA(n+1) = QA . QB + QA . QB . QC QB(n+1) = QA . QB + QB . QC • 1. Fall: Start aus dem 7. Zustand [QA QB QC]n=7 = 1 0 1 QC(n+1) = QC . QB + QA . QB . QC Koeffizientenvergleich JA = . QB . QC KA = QB JB = QC KB = QA JC = QA . QB KC = QB • Flipflop A: KA = QB = 1 FF A wird zurückgesetzt, also QA(n+1) = 0 • Flipflop B: JA = QB . QC = 0; JB = QC = 1; KB = QA = 1 FF B 'toggelt', also QB(n+1) = 1 • Flipflop C: JC = QA . QB = 0; KC = QB = 0 FF C behält seinen Zustand, also QC(n+1) = 1 Schaltwerk 7 QC [QA QB QC]7+1 = 0 1 1 : dies ist der Zustand 3, QA QB 3 2 4 1 damit die Zustandsfolge 1 0 1, 0 1 1, 0 1 0, .. 5 Takt 6 • 2. Fall: Start aus dem 8. Zustand [QA QB QC]n=7 = 1 1 1 1J C C1 1JB C1 1JA C1 1K C 1K B 1KA mit den Verknüpfungsgleichungen für die drei FFs • Flipflop A: KA = QB = 0 FF A behält seinen Zustand, also QA(n+1) = 1 • Flipflop B: JA = QB . QC = 0; JB = QC = 1; KB = QA = 1 FF B 'toggelt', also QB(n+1) = 0 • Flipflop C: JC = QA . QB = 0; KC = QB = 1 FF C wird zurückgesetzt, also QC(n+1) = 0 [QA QB QC]8+1 = 1 0 0 : dies ist der Zustand 6 , damit die Zustandsfolge 111, 100, 000.. Digitaltechnik HS2015 11. Zähler ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 2 3 Tröster 5 8 6 11. Zähler ETH Zürich Institut für Elektronik (IfE) 4 1 12 jetzt mit D-Flip-Flops KV-Diagramme für die Flipflops A, B, C: QA QA(n+1) QB (n+1) QC(n+1) 1 QB Schaltwerk QA X1 QC 1 QA QB Takt QB X2 QB X1 1 QB X2 1 QB X1 QB X2 QC C1 1 1 C1 C1 DC DA DB 1 QC QC • Können Hazards entstehen ? D-FF adäquate Formeln: QA(n+1) = QB . QC QB(n+1) = QA . QB + QC QC(n+1) = QA . QB Koeffizientenvergleich: Digitaltechnik HS2015 Qi(n+1) = Di(n) 11. Zähler ETH Zürich Institut für Elektronik (IfE) 13 Digitaltechnik HS2015 Tröster Takt • startet der Zähler im Zustand k, R Reset -Bus E0 E1 E2 E3 (ähnlich wie das Rechenwerk in Folie 8/11) Takt • gegeben ist ein Vorwärts-/Rückwärtszähler mit n Zuständen +C1 4 1D 1D 1D 1D - werden in Vorwärtsrichtung n-k Zustände, Z + 0 Z + Z1 + Z2 + 3 - in Rückwärtsrichtung k Zustände bis zum Zustand n durchlaufen; - wenn für den Sprung vom Zustand n zum Zustand k ein weiterer Takt notwendig ist, erhöht sich die Anzahl der durchlaufenen Zustände jeweils um Eins +C1 4 R Reset Z + 0 Z + Z1 + Z2 + 3 1D 1D 1D 1D Zählerausgang: Z0..3 ‘1’ B0 =1 ‘0’ =1 ‘0’ =1 ‘0’ =1 A0 A1 A2 A3 Q0 Q1 Q2 4-Bit Q3 Lade B2 Speicher Cin Zustand k X = 0: Addition: ‘vorwärts’ X = 1: Subtraktion: ‚rückwärts‘ s0 s1 s2 s3 X • für X = 0 wird +1(10) addiert, für X= 1 wird -1(10) addiert und das Additionsergebnis in den D-Flipflops bis zur nächsten Taktflanke gespeichert Start 11. Zähler Z0 Z1 Vorwärts/ Z2 RückwärtsZ3 Zähler & L T Q T vor/rück • wenn der Zählstand Zn = ‘1111’ erreicht ist, wird mit L=1 der dem Zustand k entsprechende Speicherwert in den Zähler geladen und mit dem Zustand k gestartet • das Toggle-Flipflop registriert die Zustandswechsel • wie ist Taktverhältnis FT/FClk, wenn der Zähler jeweils m Zustände durchläuft ? • welcher Codierung erscheint an den Ausgängen Z0..3 ? Tröster rück k Clk • durch Einspeicherung eines Startwertes in die D-Flipflops kann die Zähldauer bis zu einem bestimmten Wert programmiert werden ETH Zürich Institut für Elektronik (IfE) vor Addierer X Digitaltechnik HS2015 n programmierbarer 4-Bit-Teiler aus Vorwärts-/RückwärtsZähler B1 B3 14 Tröster Programmierbarer Frequenzteiler Synthesizer (Praktikum) Zähler mit Addierer (Praktikum) Schaltsymbol für 4 Input D-FF: Eingänge Ei, Ausgänge Zi, gemeinsamer Takt; über den Reset-Bus können die DFFs einzeln geladen werden 11. Zähler ETH Zürich Institut für Elektronik (IfE) 15 Digitaltechnik HS2015 11. Zähler ETH Zürich Institut für Elektronik (IfE) Tröster 16 Aufgabe: Schnittstelle zwischen einer (seriellen) Leitung und einem 4-Bit Schaltnetz 12. Register, Speicher ' DRAM, SRAM, ROM, PROM, EPROM, SDRAM ... ?' Schaltbild: Lernziele Takt • wozu müssen Daten geschoben werden: Schieberegister ? Din • was gibt es für Speicher serielle Leitung • wie funktionieren sie und wofür kann man sie benutzen • wie entsteht eine integrierte Schaltung 4 Bit Schaltnetz Textbuch Reichardt: • Kapitel 14 (Auszug), 15 • gewünschte Funktion: > über die serielle Leitung kommen digitale Daten > das Schaltnetz verlangt, dass jeweils 4-Bit breite Worte parallel (also 'gleichzeitig') zur Verfügung stehen Motivation • Register und Speicher sind Schlüsselbauelemente in digitalen Systemen (SmartPhone, Digitaluhr, Mikroprozessor, PCs, Grossrechner, ...) • wie kann dieser 'Serien-Parallelwandler' aufgebaut werden ? welche Detailfunktionen muss diese Baugruppe ausführen ? > es müssen max. 4 Bit gespeichert werden • in einem Mikroprozessor/PC/Laptop/SmartPhone entfällt ein beträchtlicher Teil der Kosten auf die internen Speicher > welche Speicher kennen wir: Latches, Flipflops > Konstruktionsvorschlag: - eine Kette von Flipflops, - in der die Daten von einem FF zu dem nachfolgenden FF bewegt ('geschoben') werden können, und - wo jeder FF-Ausgang abgegriffen werden kann Schieberegister Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 1 Digitaltechnik HS2015 Tröster 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 2 Tröster Zeitablaufdiagramm: 4-Bit Schieberegister Reichardt, Kap 14 die Dualzahl 0101 wird in das Schieberegister eingelesen 4-Bit-Schieberegister mit D-FF QA Din 1D QB QC 1D C1 1D C1 Q2 QD 1D C1 Q2 Din C1 Q2 Q2 Takt 'wie sieht die charakteristische Gleichung aus ?' für ein D-FF: Q1(n+1) = Dinn allgemein: für die mte Stufe oder Qm(n) = Dinn-m Qm(n+m) = Dinn ' welche Zeitbedingungen müssen erfüllt sein ?' weitere Schieberegister, z.B. > mit steuerbarer Schieberichtung > mit einstellbarer Länge > für umlaufende Daten ('Ringregister', ‚Ringspeicher‘) (Reichardt, Kap 14.5.1) > mit verschiedenen Wortbreiten (8 Bit, 16 Bit, 32 Bit,...) • nach 4 Takten ist das Datenwort 0101 eingelesen und steht parallel an den Ausgängen QA,..,D zur Verfügung Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 4 'was gibt es für Speichermedien ?' allgemein: Register, Speicherregister Einteilung: • Aufbau: Ketten von Flipflops, Latches, die parallel gesetzt und parallel ausgelesen werden können • nach der Bauart des Speichermedium: > Lochkarten und Lochstreifen • Funktion: Zwischenspeichern von Daten, z.B. von ihrem Weg von einem Massenspeicher in das Rechenwerk > Magnetbänder (nur ca 15% der Plattenspeicherkosten) > Plattenlaufwerke (magnetische oder optische Speicherung) 'wozu braucht man grosse Speicher ?' 1 Buchstabe (ASCII) 1 Byte = 8 Bit 100 - 6000 GByte 3,6 kByte Zugriff im Bereich von ms 1 gedruckte Seite (80 Zeichen/Zeile, 45 Zeilen) 1 Buch (300 Seiten) 1,1 MByte > Ferrite 1 SW-Bild (VGA: 480 x 640, 1 Byte je Bildpunkt) 307 kByte > Halbleiter (Silizium-IC, DRAM) 1 Farbbild (1024 x 1024, 3 Byte je Bildpunkt) 3.1 MByte 1 sec gesprochener Text (Telephon, 8kHz x 8 Bit) 64 kBit Spielfilm HD-Qualität (z.B. für BluRay) > 50GB 1 Bit pro Kern • nach der Funktion: > nur Lesen: (CD-)ROM: 'Read Only Memory' > gleichwertiges Lesen und Schreiben: RAM 'Random Access Memory' (wahlfreier Zugriff) • Entwurfsprogramme für integrierte Schaltungen: CADENCE: > 10 GB > statischer oder dynamischer Speicher • Speichersystem am D-ITET > permanente Speicherung oder nur temporär (Abhängigkeit von der Betriebsspannung) • Home-Daten von Studenten und Mitarbeiter auf Hitachi SAN Speicher: 40TB • Institutseigene NAS-Systeme für Projektdaten: Kilo Bit Mega Bit Giga Bit TeraBit : 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Kennwerte Speicherkapazität 200TB • Backup- und Archivdaten auf jabba (Tape-Roboter); 650TB 5 Tröster Digitaltechnik HS2015 Si-Präfixe kbit 103 Bit Mbit 106 Bit Gbit 109 Bit Tbit 1012 Bit 12. Register, Speicher • Beispiel: 16kBit-Speicher, jede Speicherzelle ist einzeln ansprechbar: bitorganisiert • Zellenarray, Speichermatrix, angesteuert von einem Zeilenund Spaltendekoder 1 2 3 M > quadratische Speichermatrix wird angenommen, N = M > mit N = M = 7: 2N . 2M = (128 . 128) = 16 384 (Bit) wären 2 . 128 = 256 Adressleitungen notwendig ! Spalten • Dekoder = Kodeumsetzer: ein k-Bit breiter Kode wird in einen 2k - Bit breiten Kode umgesetzt 1 Speichermatrix N • Konstruktionsprinzip: (N)AND-Tree 2 Zeilen 1-Bit x1 x1 Zelle N Schreiben Lesen x2 xk xk . a1 2M Spalten-Dekoder Schreib-/Leseverstärker 1 2 3 ........ .. . . . . . . . . ........ . M ........ .. . . . . . . . . ........ . Spaltenadressen • der Spaltendekoder kann sowohl Lese- wie Schreibsignale verarbeiten Digitaltechnik HS2015 x2 & 2N 1 DatenEingang Ausgang 6 Tröster 'wozu ein Dekoder ?' Aufbau: 2 Binär-Präfixe 210 Bit 1024 Bit 220 Bit 1.046576 Bit 230 Bit 1.073743 109 Bit 240 Bit 1.099511627776 1012 Bit Kibit Mibit Gibit Tibit ETH Zürich Institut für Elektronik (IfE) Schreib-Lesespeicher: RAM Zeilenadressen 8 Gbit ( 16GBit) Zugriff innerhalb 50 ns > Halbleiter (Silizium-IC, Flash) 128/256 Gbit Zugriff innerhalb 200μs/Schreiben, 25μs Software: Digitaltechnik HS2015 400 GByte Zugriff bis 3 min 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster & a2 . . & ak 2 • Speicherorganisation: bitweise, byteweise (8 Bit), wortweise (16 Bit, 32 Bit,..) 7 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 8 Speicherelemente statische Speicher: SRAM EPROM, EEPROM, Flash Reichardt, Kap. 15.3 • ein Floating-Gate-Transistor (FAMOS) kann durch Anlegen einer Programmierspannung in einen Zustand gebracht werden, wo die Permanentladung auf dem Floating-Gate den MOS-Transistor durchsteuert; • die einzelne Speicherzelle besteht aus einem vereinfachten Latch (nur mit einem 'Setzeingang'), das über MOS-Schalter angewählt werden * die Ladungen können wieder abgebaut werden * durch UV-Strahlung EPROM * durch einen elektrischen Löschimpuls EEPROM, Flash eine Speicherzelle 1 N1 N2 1 Aufbau eines FlashTransistors Wordleitung (Zeilenauswahl) BitLeitung • Zwei Konfigurationen: NAND-, NOR-Flash BitLeitung * NAND: hohe Packungsdichte, für Blocktransfer (z.B. Bilder) und SSD ‚Solid-State-Disk‘ * NOR: wahlfreier Zugriff, für Speicherung/Zugriff von Programmcode • mit der Wortleitung (= 1) wird eine Speicherzeile angewählt: die NMOS-Transistoren N1, N2 sind durchgeschaltet • Zwei Zell-Codierungen • über die ausgewählten Bitleitungen kann der Speicherinhalt gelesen oder das Latch gesetzt werden * SLC: Single Level Cell: ein Bit pro Zelle wird gespeichert, * MLC MultiLevel Cell: mit 4 gestaffelten Schwellspannungen werden 4 Zustände - codiert in 2 Bit - definiert; MLC höhere Packungsdichte, aber geringere Langzeitzuverlässigkeit, daher für (billige) USB-Sticks • CMOS-SRAM-Speicherzelle besteht aus 6 MOS-Transistoren • meist als Caches benutzt • Zugriffszeit ('Access Time') 3ns ... 20ns • Zellgrösse für 32nm Technologie (2015): 0.06μm2 ‘1’ Uth_1 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 9 Tröster Dynamische Speicherzelle: DRAM 'Ein-Transistor-Zelle' Digitaltechnik HS2015 MLC SLC Codierung ‘Single Layer‘ und ‘Multi Layer-‚ Zelle ‘1 1’ ‘0’ Uth_2 Uth_1 ‘1 0’ Uth_2 ‘0 1’ Uth_3 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) ‘0 0’ Uth_4 10 Tröster DRAM-Technik: höchstentwickelte Fertigungs-Technologie • 'dreidimensionaler' Zellenaufbau: der Speicherkondensator ist unter dem Schalttransistor 'vergraben' • 'was ist die minimale Konfiguration, um ein Bit zu speichern ?' • statt Plattenkondensator ein 'vergrabener' Kondensator • 'Trench'-Technologie (4MBit, Siemens, ca 1995) eine Speicherzelle Wordleitung (Zeilenauswahl BitLeitung • über den (nichtidealen) MOS-Schalter (Raus ≈ 1010..1012 ) entlädt sich der Speicherkondensator (Cspeicher ≈ 6.. 20 fF) • der Speicherinhalt muss periodisch erneuert werden ('Refresh') • Refresh-Zyklus ca alle 20ms: Steuerschaltung liest jede Zelle; eine vorhandene '1' wird zurückgespeichert • wie viele Elektronen ‚bilden’ 1 Bit ? Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 12 Grössenvergleich mit einem Haar: (4MBit von Siemens) kompletter 4Mbit-Speicherbaustein (Siemens, ca 1995) Silizium-Wafer (16cm Ø) mit 16MBit-DRAM-Speicher (140mm2) • weitere Entwicklungsplanungen (entsprechend ‚International Technology Roadmap for Semiconductors ITRS http://www.itrs.net/ ): Speichergrösse Einführungsjahr • Grösse von Halbleiter-Speicherzellen (je Bit): 16 MBit- 64 MBit- 256 MBit- 1Gbit4Gbit- Speicher 1,5 μm2 < 1 μm2 <0.2 μm2 <0.04 μm2 4μm2 • Vergleich mit Platten- und Magnetbandlaufwerken 0.003 μm2 je Bit Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 1 GBit 16 GBit 128GBit 512GBit 13 Tröster Hard Disk, HDD Digitaltechnik HS2015 2001 2007 2013 2019 4 GBit 64 GBit 256GBit 1024GBit 2004 2010 2016 2022 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 14 Tröster Vergleich Disk, NAND Flash, Magnetband Tape R. Fontana¹, G. Decad¹, S. Hetzler² – ¹IBM Systems Technology Group, ²IBM Research Division, April 2012 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 15 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 16 Lesezyklus Handhabung DRAMs •Reduktion der externen Anschlüsse: –Adressen 'gemultiplext' Address –3 Steuersignale –RAS: Row address strobe Einlesen Zeilenadresse –CAS: Column address strobe –WE: Write Enable Einlesen Spaltenadresse Row Address Col Address RAS CAS Valid Dout Zugriffszeit Access Time Row Adress Setup Storage Matrix Row Decoders Col. Adress Setup 64 x 64 Address Row Address Col Address RAS Row Address Column Address & Control Signals A5 . . . A0 RAS CAS Column Latches, Multiplexers/Demultiplexers Control Logic Valid Dout CAS WE DOUT Digitaltechnik HS2015 DIN 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 17 Tröster Schreibzyklus Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 18 Tröster Festwertspeicher: ROM, PROM, EPROM,.. Reichardt, Kap 15.3 1.Einlesen Zeilenadresse Address 2. Write Enable RAS 3. Einlesen Datenbit CAS 4. Zeile zurücklesen WE 5. Abschluss Einlesen Din Write Time Row Address • ROM: Read Only Memory Speicherinhalt kann nur gelesen, nicht (einfach) modifiziert werden Col Address • PROM: Programmable ROM der Speicher kann einmal durch den Benutzer programmiert werden • EPROM: Erasable PROM Löschen und Neuprogrammieren des Festwertspeichers sind möglich > EEPROM: Electrical Erasable PROM = Flash Memory Aufbau von Festwertspeicher Valid • Aufbau ähnlich dem von DRAMs: Speichermatrix, Dekoder, Ausleseschaltung: 64 x 1 Bit ROM Address Row Address Col Address RAS CAS WE Din Digitaltechnik HS2015 Valid 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 19 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 20 FIFO (First In/First Out) •Dual-Port • zwei voneinander unabhängige Speicherbänke, die nacheinander adressiert werden •mit einem festen Takt zeiteffizientere Nutzung des DRAMKerns: kontinuierlicher Datenfluss möglich Schreib-/Lesespeicher mit seriellem Zugriff Eingang Dual-Port RAM •Steuersignale taktgebunden (vereinfachte Handhabung für den Anwender) Ausgang Pipelined DDR (DoubleSDRAM Schreib-Takt Lese-Takt Neue Speicherarchitekturen SDRAM: Synchronous DRAM, DDR: Double Data Rate DDR-SDRAM für geringen Energieverbrauch (Mobilgeräte) Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 21 Tröster Digitaltechnik HS2015 neuartiger Speicher: Ferroelektrische RAM 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) 22 Tröster wie geht es weiter: Nanotechnologie • ferroelektrischer Effekt: Materialeigenschaft, eine elektrische Polarisation trotz fehlendem elektrischen Feld beizubehalten: Hysterese (ähnlich zu dem ferromagnetischen Effekt) Trigate-Transistor (intel): Bessere Kontrolle der Bauelementeigenschaften für Gatelängen kleiner 20nm • ferroelektrischer Kondensator: > behält seine gespeicherte Polarisierung > kann durch eine äussere Spannung umgeladen werden > hohe Zugriffsgeschwindigkeit: bis zu 100 Mal schneller und mit weniger Energie als in Flash-Speichern, aber bei deutlich höherem Flächenbedarf > integrierbar in CMOS-Technologie z.B: Microcontroller mit FRAM als statischer Speicher U int NanowireTransistor U ext eine FRAM Speicherzelle 1-Bit-Speicher mit ferroelektrischem Kondensator Wordleitung (Zeilenauswahl) Daten (2009): 128Mb Speicher Zellgrösse 0.25μm2 BitLeitung Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 23 Digitaltechnik HS2015 12. Register, Speicher ETH Zürich Institut für Elektronik (IfE) Tröster 24 Verifikation Testen ? 13. Testen Lernziele wozu muss getestet werden welche Fehler können auftreten Fehlermodelle Stuck-at ? Testpatterngenerator, BIST hier nur ein ‚Hineinriechen’ in ein sehr breites Gebiet möglich Verifikation: vor der Fertigung wird überprüft, ob der Entwurf mit der geforderten Spezifikation übereinstimmt es existieren formale Methoden, z.B. basierend auf Binary Decision Diagrams BDD, um eine Spezifikation mit den Entwurfsdaten zu vergleichen auch bekannt unter ‚model checking’, ‚formale Verifikation’ Textbuch Testen: nicht enthalten Ausmessen der realisierten Schaltungen, um Herstellungsund Ausfallfehler zu erkennen Motivation in der Fertigung elektronischer Komponenten sind statistisch verteilte Fehler unvermeidbar jede Komponente muss daher vor der Auslieferung getestet werden die Komplexität elektronischer Systeme verlangt Vorkehrungen beim Entwurf, um die Testbarkeit sicher zu stellen Digitaltechnik HS2015 13. Testen ETH Zürich Institut für Elektronik (IfE) Beispiel: Leiterbahnabriss in einer integrierten Schaltung 1 Tröster Herstellungsfehler bei integrierten Schaltungen/Systemen Digitaltechnik HS2015 Tester TestmusterGenerator/ Analysator Parametrische Defekte: elektrische Parameter: Schichtwiderstände, Stromverstärkung, Schwellspannung, Lithographie, Justierfehler Verhältnis zwischen den hergestellten Komponenten und den fehlerfreien Komponenten Ausbeutemodell: Annahme: gleichverteilte Defekte konstanter Dichte (Poisson-Verteilung); Testmuster Systemausgabe DUT Device under Test ‚Tester’ (von HP): ATE: Automatic Test Equipment Ausbeute 2 Tröster Wie testet man eine Digitalschaltung ? Prozessdefekte: Leitbahnabrisse und -Kurzschlüsse, Leckströme (pnÜbergang), Oxidlöcher, Kristalldefekte 13. Testen ETH Zürich Institut für Elektronik (IfE) über max. 256 bidirektionale Pins (Kontaktpunkte) wird das IC/Board angeschlossen jeder Pin ist mit einem eigenen Rechnerboard/ Patterngenerator/Patternanalysator verbunden die Testmuster können zeitlich gegeneinander im 10psRaster verschoben werden Defektdichte: D = AnzahlDefekte/ Flächeneinheit [cm-2] abhängig von Prozesskomplexität, Integrationsdichte Chipausbeute: Yc = exp(-D.A) (A: Chipfläche) höhere Ausbeute bei kleinen ICs wie gross darf die Defektdichte D in einer intel-Fab sein, damit aus einer Siliziumscheibe mit 300mm Ø mindestens 50% der 4 cm2grossen Pentium-ICs verkauft werden können ? Digitaltechnik HS2015 13. Testen ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 13. Testen ETH Zürich Institut für Elektronik (IfE) Tröster 4 Funktionstest: Prüfbus, Scan Path entsprechend der Spezifikation werden Eingangswerte angelegt, die Ausgänge ausgelesen und mit den Sollwerten verglichen wieviele Eingangswerte müssen angelegt werden, um die Funktionalität vollständig abzutesten ? Ziel: alle innere Knoten eines Systems können beobachtet (‚Observability‘ )und gesetzt werden (‚Accessability‘) Ansätze: 1. Aufteilung des Systems, zusätzliche Testpunkte 2. Prüfbus (Scan Path); IEEE JTAG (Joint Test Action Group) Beispiel: Digitaluhr o wieviele Zyklen sind notwendig, um den 23-BitTeiler vollständig zu testen ? o wie testet man die Schaltjahrfunktion ? Problemstellung um ein Steuerwerk mit n Zuständen und m Eingangsvariablen eindeutig zu verifizieren, sind bei einem Funktionstest (d.h. Anlegen von Testdaten an dem Eingang und Vergleich der gemessenen Ausgangsdaten mit den (n-1) Solldaten) mindestens Lmin = m Testzyklen notwendig Lmin = 10 918 Mikroprozessor intel 8085: Lmin = 10 10 Beispiele: 8-Bit-Rechenwerk: 58 Speicher 8 Bit 1kBit 1Mbit Digitaltechnik HS2015 Zustände 256 10300 10 300.000 Funktionstest bei komplexen Systemen ökonomisch nicht durchführbar Testen ist ein zentrales Problem im Entwurf und in der Fertigung: Design for Testability 13. Testen ETH Zürich Institut für Elektronik (IfE) 5 Tröster Digitaltechnik HS2015 alle Speicherelemente können im Prüfmodus zu einem Schieberegister zusammengeschaltet werden im Testmodus wird ein Testvektor in das Schieberegister geschoben die Schaltung wird in dem Normalmod getaktet, damit ändern sich die Registerinhalte nach Zurückschalten in den Testmod wird das Schieberegister ausgelesen und verglichen für den Prüfbus ist zusätzliche Hardware notwendig (ca 15%) > Erweiterung der Register (FF) > zusätzliche Verbindungen 13. Testen ETH Zürich Institut für Elektronik (IfE) 6 Tröster Scan-Register Sequenzielle Schaltung mit Prüfbus um einen Scan-Pfad aufzubauen, müssen die Register durch ‘scan-fähige’ Register ersetzt werden der Eingang ist über die Testleitung zwischen der Daten- und der Prüfleitung umschaltbar Data D i & Multiplexer SCAN OUTi & SCAN IN i Q1 1D & Q2 C1 TEST CLK Normalmodus Board mit Prüfbus T d SCAN OUTi Data D i SCAN IN i TEST CLK Digitaltechnik HS2015 13. Testen ETH Zürich Institut für Elektronik (IfE) Tröster 7 Digitaltechnik HS2015 Q1 1D C1 Q2 wie verändert sich die Schaltung unseres Garagenautomaten, wenn Scan-Register benutzt werden ? 13. Testen ETH Zürich Institut für Elektronik (IfE) Tröster 8 Automatische Testmustergenerierung ATPG Fehlermodelle es werden technologische Fehler in den Gatter angenommen welche Testmuster sind anzulegen, um diese Fehler zu erkennen ? Stuck-at-Fault (Haftfehler) häufig in der CMOS-Technik Pfadsensibilisierung Annahme: infolge eines Kurzschlusses oder einer Leiterbahnunterbruchs ‚klebt’ (genau) ein Eingang oder Ausgang eines Gatters fälschlich auf dem binären Wert ‚1’ (stuck-at-1) oder auf dem binären Wert ‚0’ (stuck-at-0) Beispiel: NAND-Gatter mit 3 Eingängen Fragestellungen: a Beispiel: gegebene kombinatorische Schaltung A C & c Fehlertabelle: a/0 a/1 b/0 b/1 c/0 c/1 z/0 Stuck-at-Fehler 000 x 001 x 010 x x x 011 x 100 x 101 111 x x x x 110 Digitaltechnik HS2015 z/1 x x Z & F die 7 Knoten können 14 Single-Stuck-at Fehler annehmen: A/0, A/1, B/0, B/1, C/0, C/1, D/0, D/1, E/0, E/1, F/0, F/1, Z/0, Z/1 um A/0 zu testen, muss A auf 1 gesetzt werden beobachtbar ist nur der Knoten Z, es muss also ein Pfad von A nach Z gefunden und die restlichen Eingänge B, C und D geeignet gesetzt werden B=1, da für B=0 der Knoten E unabhängig von A ist aus gleichem Grund F=0, daher Cund/oder D =0 wenn A/0 vorliegt, folgt E=1, Z=1, sonst E=0, Z=0 A/0 kann ebenfalls ausser mit ABCD =1101 auch mit 1110 und 1100 am Ausgang Z erkannt werden der einfache Algorithmus funktioniert nicht in allen Fällen, daher werden weiterentwickelte Verfahren eingesetzt, z.B. der D-Algorithmus (J.Roth, IBM 1960) x 13. Testen ETH Zürich Institut für Elektronik (IfE) E D z können alle Fehler gefunden werden, welche Eingangspattern werden nicht benötigt ? abc & B b mit welchen Eingangsdaten kann ich welchen Stuck-at Fehler erkennen verschiedene Verfahren bekannt, anhand der Schaltungsstruktur Testmuster zu generieren, die Fehler gemäss vorgegebener Fehlermodelle detektieren 9 Tröster Digitaltechnik HS2015 13. Testen ETH Zürich Institut für Elektronik (IfE) 10 Tröster Nichtdetektierbare Fehler Linear Feedback Shift Register wenn Redundanz in eine kombinatorische Schaltung eingebaut wurde, z.B. für die Vermeidung von Hazards, können nicht alle Stuck-at-Fehler erkannt werden einfache Schaltung, um eine ‘Zufallsfolge’ zu generieren Fehlersimulation alle ‚möglichen’ Fehler an jedem Gatter werden auf ihre Wirkung und Detektierbarkeit untersucht damit Berechnung der Fehlerabdeckung: wieviele der möglichen Fehler werden mit einem Testmustersatz erkannt Selbsttest BIST: (built-in selftest) ein eingebauter Generator erzeugt ein binäres Testmuster und vergleicht die Reaktion mit einem abgespeicherten Sollwert Ausfallmechanismen, 'Burn-In' Vorteile: o Paralleler Test möglich: kürzere Testzeit o Test kann im Normalbetrieb ohne einen externen Tester wiederholt werden Kosten: o zusätzlicher Hardware- und Softwareaufwand die meisten Defekte zeigen sich in den ersten Betriebsstunden 'künstliches Altern', Burn-In Bauteile werden über eine begrenzte Zeit (z.B. 100h) bei hoher Temperatur betrieben danach geringere Ausfallwahrscheinlichkeit Generatoren: Signaturregister, Zähler, Programmsegmente etc Digitaltechnik HS2015 13. Testen ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 13. Testen ETH Zürich Institut für Elektronik (IfE) Tröster 12 wie muss eine Maschine gebaut sein, 14. Mikroprozessor ? Lernziele • die logische Verknüpfungen von binären Zahlen durchführt, • was ist ein Mikrocomputer, Mikroprozessor ? • wie ist er aufgebaut ? • die die 'Grundrechenarten' (Addition, Multiplikation, Division) beherrscht, • was versteht man unter einer 'von Neumann' - Architektur ? • was verbirgt sich hinter ALU, CPU ? • CISC, RISC ? • die Abläufe steuert, • was ist ein digitaler Signalprozessor ? • deren Verhalten nicht durch die Hardware, sondern durch den Benutzer bestimmt und d verändert ( programmiert ) werden kann. Textbuch • im Textbuch nicht behandelt (kein Prüfungsstoff) welche Funktionseinheiten sind notwendig ? > in den Vorlesungen Informatik 1/2 wird der Mikroprozessor ausführlich behandelt ! • Speicher, um > das auszuführende Programm und seine einzelnen Anweisungen sowie Motivation > Daten, z.B. Zwischenergebnisse ablegen zu können • alle notwendigen Baublöcke (kombinatorische und sequenzielle Schaltungen, Register, Speicher, Busse,..) sind bekannt, um einen Digitalrechner aufbauen zu können • Rechenwerk, das die arithmetischen und logischen Operationen durchführt • in der (Digital-)Elektronik und Systemtechnik ist der Mikroprozessor ein dominierendes, nicht mehr wegzudenkendes Bauteil Digitaltechnik HS2015 • eine Steuereinheit, die für den Programmablauf und für die Kommunikation zwischen den verschiedenen Funktionsblöcken verantwortlich ist 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) 1 Tröster eine geniale Universalarchitektur: der 'von Neumann' Computer Digitaltechnik HS2015 • die Wahl des nächsten Befehls kann von dem aktuellen Ergebnis aus der ALU abhängen > damit sind Konditionalabfragen möglich: z.B. if <Wert a> grösser 0, then springe <Adresse b> an > Schleifen mit variabler Anzahl von Durchläufen können programmiert werden Aussenwelt Steuerwerk • gleichartige Speicherung von Daten und Befehlen > Befehlsadressen können wie Daten abgespeichert und zu einem späteren Zeitpunkt zurückgeholt werden, um den Programmablauf an einer bestimmten Stelle weiterlaufen zu lassen: Unterprogramme, Subroutines Daten Rechenwerk ALU Programm Central Processing Unit CPU 2 Tröster was unterscheidet diese Architektur von der einer einfachen Rechenmaschine ? • im Jahr 1945 hat John von Neumann eine Architektur vorgeschlagen, deren Grundstruktur die Computertechnik bis heute geprägt hat Daten- und Befehlsbus 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Speicher > Programme können andere Programme erzeugen: Compiler Takt Rückblick • Programmablauf: • 1950: erste Realisierung in Röhrentechnik • 1958: die IBM704 mit (diskreten) Transistoren • 1964: IBM System 360, erster Rechner mit ICs, 0.0018 bis 1.7 MIPS (iPhone 5S: 18200 MIPS) • seit 1965: Minicomputer, z.B. DEC PDP-1, PDP-8 • 1971: intel 4004 erster 4-Bit 'Microprocessor Unit (MPU) mit 2300 Transistoren • 1972: intel 8008 8 Bit-Prozessor • 1975: intel 8080 (daraus 80x86 Familie) • 1974: Motorola 6800 (daraus die 680x0 Familie) • heute: Xeon (intel research), ca 2.3 Milliarden Transistoren • Zukunft: 2022 werden Mikroprozessoren mit bis zu 25 Milliarden Transistoren erwartet > das Steuerwerk holt aus dem Programmspeicher den nächsten Befehl <fetch> > ein Befehlswort besteht aus dem Instruktionsteil ('was soll getan werden') und u.U. aus einer Datenadresse ('welche Daten sollen manipuliert werden') > der Befehl wird dekodiert und der ALU übergeben > die ALU führt den Befehl aus <execute>, z.B. den Datenwert um 1 Bit nach rechts schieben > das Steuerwerk berechnet die nächste Adresse > das Programm wird Befehl für Befehl abgearbeitet Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Tröster 3 Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Tröster 4 Entwicklung Energieeffizienz Entwicklung Rechenleistung [aus http://download.intel.com/pressroom/pdf/computertrendsrelease.pdf] Moore’sche Gesetz (ca 1970): „die Prozessorleistung verdoppelt sich alle zwei Jahre“ Gordon Moore 2007 Entwicklungszyklus (intel) [aus http://download.intel.com/pressroom/pdf/c omputertrendsrelease.pdf] Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) 5 Tröster Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Befehlsausführung Befehlsablauf - BR BRC BRA ST BZ AR SR AK 6 Tröster Decodieren des Befehlscodes (BRc ST) Auslesen des Operanden (SP SR) Ausführen der Operation (AK Op SR SR AK) Setzen des Bedingungsbits (ALU ST) Befehlsregister Codeteil von BR Adressteil von BR Register für Steuerbits Befehlszähler Adressregister Speicherregister Akkumulator aus Hans-Martin Lipp, Jürgen Becker: Grundlagen der Digitaltechnik, Oldenbourg 2008 Befehlsholphase Digitaltechnik HS2015 Adresse für den nächsten Befehl (FBR AR) Auslesen des adressierten Befehls (SP SR) Laden des Befehls (SR BR) Berechnen der nächsten Befehlsadresse (FBR+1 FBR) 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Tröster 7 Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Tröster 8 eine wichtige Funktion: Interrupts Pentium Mikroarchitektur • Erweiterung der 'von Neumann'-Architektur • Frage: > wie kann die Aussenwelt den Programmablauf beeinflussen (z.B. durch Tastendruck) > wie kann ein externes Signal in einen laufenden Programmfluss eingeschleust werden • in einer if-Schleife wird permanent abgefragt, ob ein Signal von extern gesetzt ist • Unterprogramm-Sprung: nach jedem Befehl wird überprüft, ob ein Interrupt-Signal anliegt, das die Verzweigung in Unterprogramm initiiert RISC CISC • CISC (complex instruction set computer): komplexe und leistungsfähige Befehle, die prozessorintern eine aufwendige (Mikro-)Kodierung verlangen und mehrere Taktzyklen für die Ausführungen benötigen AMD K5 > Beispiele: Intel 80x86, Motorola 680x0 • RISC (reduced instruction set computer); der Befehlsatz enthält nur noch Befehle, die in einem Taktzyklus ausgeführt werden; dadurch ist ein erheblich höherer Durchsatz möglich > Beispiele: MIPS, Sun SPARC, DEC Alpha, ARM, XScale http://en.wikipedia.org/wiki/ARM_architecture Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) 9 Tröster Digitaltechnik HS2015 digitaler Signalprozessor DSP 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) 10 Tröster was kann ein leistungsfähiger DSP ? • digitale Signalverarbeitung: • z.B. der TMS320C6713 von TexasInstruments 'A Complete System-On-A-Chip' > analoge Signale (Audio, Video) werden in binäre Zahlen umgewandelt und weiterverarbeitet • optimiert für hohe Rechengeschwindigkeit, Datendurchsatz und Multiprozessing > Algorithmen: filtern, verstärken, kodieren, addieren, modulieren, verschlüsseln, Fehler korrigieren, ... • anspruchsvolle Anwendungen: Sprache, Klang, Graphik, Bildverarbeitung, Kommunikation • die Algorithmen der digitale Signalverarbeitung sind gekennzeichnet durch die MAC-(Multiply/Acculumate)Funktion: R R + a.x z.B. bei der die Vektor/Matrixmultiplikation Blockdiagramm • Signalprozessoren sind durch ihre Hardwarestruktur auf die MAC-Operation hin optimiert: in einem Takt wird die MAC-Operation ausgeführt Beispiel Handy („Natel D“) der Signalprozessor bewältigt die gesamte Basisbandverarbeitung Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Tröster 11 Digitaltechnik HS2015 14. Mikroprozessor ETH Zürich Institut für Elektronik (IfE) Tröster 12
© Copyright 2024 ExpyDoc