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

Documents pareils