Digitaltechnik
Transcription
Digitaltechnik
Digitaltechnik Zeitliches Verhalten Digitaltechnik Andreas König Professur Technische Informatik Fakultät Informatik Technische Universität Chemnitz Wintersemester 2001/2002 © Andreas König Folie 6-1 Digitaltechnik Zeitliches Verhalten Rekapitulierung zu Kapitel 5 ¾ ¾ ¾ ¾ ¾ ¾ Realisierungsfragen für digitale Logik Vorstellung von konkreten Realisierungstechnologien und Entwurfsstilen Erweiterung des abstrakten Kostenbegriffs: ¾ Turn-Around-Time ¾ Time-To-Market ¾ Entwurfszeit und Fehleranfälligkeit ¾ Fläche und Verzögerungs- bzw. Schaltzeit Fragen der Technologieanpassung und Schaltwerksumsetzung Konsequenz der Überdeckung mit Bibliothekszellen: Mehrstufige Implementierung Verschiedene alternative Umsetzungsmöglichkeiten durch: ¾ ¾ Komplexe Logikbausteine (Mux, Decoder, ROM) Anwenderprogrammierbare Arrays oder Felder © Andreas König Folie 6-2 1 Digitaltechnik Zeitliches Verhalten Vorlesungsgliederung: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Einführung Kodierung und Arithmetik Grundlagen der Booleschen Algebra Entwurf zweistufiger kombinatorischer Logik Zieltechnologien und Technologieanpassung Zeitliches Verhalten kombinatorischer Schaltnetze Entwurf sequentieller Schaltwerke Funktionsblöcke digitaler Rechner und Systeme Entwurf von Systemen der Digitaltechnik Ausblick © Andreas König Folie 6-3 Digitaltechnik Zeitliches Verhalten Kapitelgliederung: 6. Zeitliches Verhalten kombinatorischer Schaltnetze 6.1 6.2 6.3 6.4 Mehrstufige Logikimplementierung Verzögerungszeiten im Schaltnetz Hazards/Glitches Ansätze zum hazardfreien Entwurf © Andreas König Folie 6-4 2 Digitaltechnik Mehrstufige Logikimplementierung Zeitliches Verhalten ¾ Bei der Überdeckung einer zweistufigen Gatterrealisierung mit Bibliothekszellen sind durch die Umsetzung bereits mehrstufige Gatternetze entstanden ¾ Alternativ zur zweistufigen Logikminimierung kann auch direkt der Entwurf mehrstufiger Logik in Angriff genommen werden ¾ Dies stellt jedoch eine deutlich größere Herausforderung dar ¾ Methodik und Softwarewerkzeuge sind z.B. in [Eschermann 92] und [Katz 94] erläutert ¾ Hier soll nur eine qualitative Betrachtung im Hinblick auf mögliche Vorteile und Probleme beim Entwurf vorgenommen werden ¾ Betrachtet wird eine Beispielfunktion (DMF): f = x1 x4 x6 ∨ x1 x5 x6 ∨ x2 x4 x6 ∨ x2 x5 x6 ∨ x3 x4 x6 ∨ x3 x5 x6 ∨ x7 ¾ Diese kann sukzessiv durch Faktorisierung umgestellt werden: f = ( x1 ∨ x2 ∨ x3 )( x4 ∨ x5 ) x6 ∨ x7 © Andreas König Folie 6-5 Digitaltechnik Mehrstufige Logikimplementierung Zeitliches Verhalten ¾ Der explizite Entwurf eines mehrstufigen Gatternetzes kann erhebliche Einsparungen bringen (s. auch Bsp. ASC2BCD !) ¾ Die Vergrößerung der Stufenzahl verschlechtert das Zeitverhalten x1 x4 x6 x1 x5 x6 x2 x x64 x2 x x65 x3 x x64 x3 x x65 x7 & & & & & & ≥1 f x1 x2 x3 ≥1 x4 x5 ≥1 & ≥1 f x6 x7 • Gattereingänge: 25 vs. 10 • Gatterzahl: 7 vs. 4 • Fan-Out: 1 vs. 1 • Stufentiefe: 2 vs. 3 © Andreas König Folie 6-6 3 Digitaltechnik Mehrstufige Logikimplementierung Zeitliches Verhalten ¾ Weiteres Beispiel mit ci einer Addiererstufe xi yi xi ci-1 yi ci-1 xi yi & ≥1 & ci & xi yi ci = xi yi ∨ xi ci −1 ∨ yi ci −1 & ≥1 ≥1 ci-1 ci & ci = xi yi ∨ ci −1 ( xi ∨ yi ) • Gattereingänge: 9 vs. 8 • Gatterzahl: 4 vs. 4 • Fan-Out: 1 vs. 1 • Stufentiefe: 2 vs. 3 © Andreas König Folie 6-7 Digitaltechnik Verzögerungszeiten im Schaltnetz Zeitliches Verhalten ¾ Die technologische Betrachtung hat gezeigt, das ein reales Gatter ein Verzögerungsverhalten aufweist ¾ Bei der rein kombinatorischen Betrachtung von Schaltwerken wurde bisher angenommen, dass ein Gatter und damit ein Schaltwerk jede Änderung der Eingangsbelegung unmittelbar in eine funktionsgerechte Änderung des Ausgangs umsetzt ¾ Durch das Verhalten realer Gatter ist diese Modellvorstellung nicht haltbar ¾ Die Verzögerungszeit eines Schaltwerks wird von seiner Stufentiefe und der Verzögerungszeit der Stufen selbst bestimmt xi yi xi yi ∆t ≥1 ci-1 ∆t & ∆t & ci-1 ∆t ≥1 yi ci xi ci ∆t Änderung von xi oder yi wird erst nach 3 ∆t am Ausgang wirksam © Andreas König Folie 6-8 4 Digitaltechnik Verzögerungszeiten im Schaltnetz Zeitliches Verhalten ¾ Bei der Betrachtung wurde allen Gattern gleiches Verzögerungsverhalten zugeschrieben ¾ Reale Gattertypen unterscheiden sich in ihrer Verzögerungszeit ¾ Verknüpfungstyp, Eingangszahl oder Herstellungstechnologie bestimmen Verzögerungszeit ¾ Herstellungsbedingte Parameterschwankungen wirken sich auch auf die Verzögerungszeit der Gatterinstanzen aus ¾ Angabe als Max/Typ/Min-Werte: Kritischer Pfad anhand von Max.-Werten (Worst-Case-Analyse) xi yi xi yi ∆tO2 ≥1 ci-1 ∆tA2 & ∆tA2 & ci-1 ∆tO2 ≥1 yi ci xi ci ∑ ∆ti Änderung von xi oder yi wird erst nach ∆tO2 + ∆tO2 + ∆tA2am Ausgang wirksam © Andreas König Folie 6-9 Verzögerungszeiten im Schaltnetz Digitaltechnik Zeitliches Verhalten ¾ Es existiert eine größere Zahl von Verzögerungsmodellen, die sich beispielsweise in der Genauigkeit unterscheiden: ¾ Ideale Verzögerung: (s. Bild vorhergehende Folie) ¾ Träge Verzögerung: Impulse kürzer als die Verzögerungszeit werden absorbiert ¾ (A)symmetrische Verzögerung: 0/1- bzw. 1/0-Übergänge haben (unterschiedliche) gleiche Verzögerungszeiten ¾ ..... ¾ Zusätzlich zu Min/Typ/Max Angabe kann auch statistische Angabe mit Mittelwert und Streuung vorliegen (Bezug: Prozessdaten) ¾ Worst-Case-Betrachtung kann zu zu pessimistischen Aussagen führen, da es statistisch unwahrscheinlich ist, dass auf einem Pfad alle Gatter max. Verzögerungszeit besitzen werden ¾ Fallabhängige Betrachtung; Typisch Nominalwerte ¾ Erkennbar führt die gleichzeitige Änderung mehrerer Eingangsvariablen bzw. Literalen in verschiedenen Pfaden des Schaltwerks zu Läufen (Races) © Andreas König Folie 6-10 5 Digitaltechnik Hazards/Glitches Zeitliches Verhalten ¾ Bedingt durch die Gatterlaufzeiten in den Pfaden des Schaltwerks kann es an den Ausgängen eines Schaltwerks zu belegungsabhängigen, temporären Zustandsänderungen kommen ¾ Diese unerwünschten Änderungen der Ausgangswerte werden als Glitches bezeichnet ¾ Eine Schaltung, die ein solches Verhalten, also Glitches, aufweist, hat einen sogenannten Hazard ! ¾ Durch verzögerte Auswertung eines hazardbehafteten Schaltwerks kann der Effekt neutralisiert werden (Taktreduktion) ¾ Bedient ein hazardbehaftetes Schaltwerk einen asynchronen Eingang einer folgenden Stufe, so können Fehler auftreten ¾ Abhilfe: Vermeidung asynchroner Eingänge ¾ Kann mit keiner der obigen Maßnahmen Abhilfe geschaffen werden, so muß ein hazardfreies Schaltwerk entworfen werden ! © Andreas König Folie 6-11 Digitaltechnik Hazards/Glitches Zeitliches Verhalten ¾ Statische Hazards: 0 1 0 Statischer 0-Hazard 1 0 1 Statischer 1-Hazard ¾ Dynamische Hazards (z.B. mehrstufige Logik): 0 1 0 1 Dynamischer 0-Hazard 1 0 1 0 Dynamischer 1-Hazard ¾ Annahme für hier betrachteten hazardfreien Entwurf: Nur ein Eingang ändert sich, während alle anderen stabil bleiben ! © Andreas König Folie 6-12 6 Digitaltechnik Ansätze zum hazardfreien Entwurf Zeitliches Verhalten ¾ Zunächst soll an einem einfachen Beispiel die Erkennung und Beseitigung von Hazards in zweitstufigen Netzwerken betrachtet werden ¾ Beispielfunktion: f ( x4 , x3 , x2 , x1 ) = x3 x4 x3 x2x1 00 01 x1 11 10 ∑m i i∈{1, 3, 5, 7 ,8, 9 ,12 ,13} 00 01 11 10 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 x4 x2 & x1 x4 & ≥1 f x2 x4 © Andreas König Folie 6-13 Digitaltechnik Ansätze zum hazardfreien Entwurf Zeitliches Verhalten ¾ Betrachtung des Übergangs 1100 - 1101: ¾ Erkennbar kann bei diesem Übergang kein Glitch auftreten x3 x4 x3 x2x1 00 01 x1 11 10 00 01 11 10 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 x2 x4 1 x2 1 & 1 x1 0 x4 0 & 0 x4 1 x2 1 & 1 x1 1 x4 0 & 0 ≥1 1 f ≥1 1 f x4 © Andreas König Folie 6-14 7 Digitaltechnik Ansätze zum hazardfreien Entwurf Zeitliches Verhalten ¾ Betrachtung des Übergangs 1101 - 0101: ¾ Erkennbar kann bei diesem Übergang ein Glitch auftreten ¾ Statischer 1-Hazard ! x 1 x2 1 & 1 x1 1 x4 0 & 0 4 x3 x4 x3 Verzögerung durch Inverter ! 00 01 11 10 00 0 0 1 1 x4 0 x2 1 & 0 01 1 1 1 1 & 0 11 1 1 0 0 x1 1 x4 0 0 0 0 & 0 0 x4 0 x2 1 x1 1 x4 1 & 1 x2x1 x1 10 x2 x4 ≥1 1 f ≥1 0 f ≥1 1 f © Andreas König Folie 6-15 Ansätze zum hazardfreien Entwurf Digitaltechnik Zeitliches Verhalten ¾ Analyse des KV-Diagramms zeigt: Übergang 1101 – 0101 ist Übergang zwischen zwei PI der DMF ¾ Eliminierung des Statischen 1-Hazards durch redundanten PI, der während beider Zustände des kritischen Übergangs aktiv ist: x3 x4 x3 00 01 11 10 00 0 0 1 1 01 1 1 1 1 11 1 1 0 0 0 0 0 0 x2x1 x1 10 f = x4 x2 ∨ x4 x1 f = x4 x2 ∨ x4 x1 ∨ x2 x1 x2 x4 © Andreas König Folie 6-16 8 Digitaltechnik Ansätze zum hazardfreien Entwurf Zeitliches Verhalten ¾ Vergleichbare Vorgehensweise zur Findung und Eliminierung Statischer 0Hazards ¾ Betrachtung der Maxtermdarstellung: x3 x4 x3 00 01 11 10 00 0 0 1 1 01 1 1 1 1 11 1 1 0 0 0 0 0 0 x2x1 x1 10 f = ( x4 ∨ x2 )( x4 ∨ x1 ) f = ( x4 ∨ x2 )( x4 ∨ x1 )( x2 ∨ x1 ) x2 x4 © Andreas König Folie 6-17 Digitaltechnik Ansätze zum hazardfreien Entwurf Zeitliches Verhalten ¾ Betrachtung des Übergangs 0110 - 1110 : ¾ Erkennbar kann bei diesem Übergang ein Glitch auftreten ¾ Statischer 0-Hazard ! x 1 x2 0 ≥1 1 x1 0 x4 0 ≥1 0 4 x3 x4 x3 Verzögerung durch Inverter ! 00 01 11 10 00 0 0 1 1 x4 1 x2 0 ≥1 1 01 1 1 1 1 ≥1 1 11 1 1 0 0 x1 0 x4 1 x4 0 x2 0 ≥1 0 x1 0 x4 1 ≥1 1 x2x1 x1 10 0 0 0 0 x4 x2 & 0 f & 1 f & 0 f © Andreas König Folie 6-18 9 Ansätze zum hazardfreien Entwurf Digitaltechnik Zeitliches Verhalten ¾ Umformung der Maxtermdarstellung: f = ( x4 ∨ x2 )( x4 ∨ x1 )( x2 ∨ x1 ) f = ( x4 x4 ∨ x2 x4 ∨ x4 x1 ∨ x2 x1 )( x2 ∨ x1 ) f = ( x2 x4 x2 ∨ x4 x1 x2 ∨ x2 x1 x2 ∨ x2 x4 x1 ∨ x4 x1 x1 ∨ x2 x1 x1 ) f = ( x2 x4 ∨ x4 x1 x2 ∨ x2 x1 ∨ x2 x4 x1 ∨ x4 x1 ) f = ( x4 x2 ∨ x4 x1 ∨ x2 x1 ) © Andreas König Folie 6-19 Ansätze zum hazardfreien Entwurf ¾ Digitaltechnik Zeitliches Verhalten Stichpunkte zum hazardfreien Entwurf zweistufiger Schaltnetze: 1. Ausgehend von der DMF muss für jeden Übergang zwischen zwei Elementen der Einsstellenmenge sichergestellt sein, dass Sie von einem gemeinsamen UND-Gatter überdeckt werden 2. Für die Übergänge zwischen Einsstellen innerhalb der PI der DMF ist dies erfüllt, für die Übergänge zwischen Einstellen aneinandergrenzender PI müssen redundante PI eingefügt werden ! 3. Ausgehend von der KMF muss für jeden Übergang zwischen zwei Elementen der Nullstellenmenge sichergestellt sein, dass Sie von einem gemeinsamen ODER-Gatter überdeckt werden (Punkt 2 gilt sinngemäß) 4. Ein Statischer 0-Hazard kann in einer zweistufigen UND/ODERSchaltung nur auftreten, wenn in einem UND-Gatter (Produktterm) eine Variable negiert und nicht negiert anliegt © Andreas König Folie 6-20 10 Ansätze zum hazardfreien Entwurf Digitaltechnik Zeitliches Verhalten ¾ Hazardbehaftetes Gatternetzwerk in PSPICE: © Andreas König Folie 6-21 Ansätze zum hazardfreien Entwurf Digitaltechnik Zeitliches Verhalten ¾ Simulation des hazardbehafteten Gatternetzwerks in PSPICE: Statischer 1-Hazard im Zeitdiagramm © Andreas König Folie 6-22 11 Ansätze zum hazardfreien Entwurf Digitaltechnik Zeitliches Verhalten ¾ Hazardfreies, erweitertes Gatternetzwerks in PSPICE: Redundanter PI f = x4 x2 ∨ x4 x1 ∨ x2 x1 © Andreas König Folie 6-23 Ansätze zum hazardfreien Entwurf Digitaltechnik Zeitliches Verhalten ¾ Simulation des nun hazardfreien Gatternetzwerks in PSPICE Statischer 1-Hazard eliminiert © Andreas König Folie 6-24 12 Ansätze zum hazardfreien Entwurf Digitaltechnik Zeitliches Verhalten ¾ Die Beachtung und Durchführung der Schritte zum hazardfreien Entwurf eliminiert für zweistufige Logik statische und dynamische Hazards ¾ Der Ansatz kann auf mehrstufige Logik erweitert werden [Katz 94] ¾ Die Beseitigung statischer Hazards schliesst dynamische Hazards für mehrstufige Logik nicht aus (1/0- bzw. 0/1-Übergänge) ¾ Unterschiedliche Verzögerungszeiten verschiedener Pfade können in mehrstufiger Logik zu dynamischen Hazards führen ¾ Prinzipiell Erweiterung der Herangehensweise zur Beseitigung möglich ¾ Empfehlung: Falls unbedingt hazardfreies Schaltwerk erforderlich, zweistufiger Entwurf ¾ Weiterhin: Gleichzeitige Änderung mehrerer Eingangsvariabler kann ebenfalls zu Glitches führen (s. bisherige PSPICE-Simulationen) ¾ Sicherstellung entsprechender Zeitbedingungen oder Einvariablenübergänge © Andreas König Folie 6-25 13