Schaltwerke - Warum E

Werbung
Formale Grundlagen von Schaltwerken L6-L8
1
L6-1: d-Flipflops
d-Fliflops vermeiden den Nachteil der d-Latches sie interessieren sich nur
für Eingangsbelegungen
zu bestimmten Zeitpunkten
Sie "diskretisieren" die Zeit:
Wirkung des Einschreibens in ein d-Fliflop erfolgt:
nur zu den durch Belegungsänderungen (z.B.: L  O) des Taktsignals
festgelegten diskreten Zeitpunkten.
Vernachlässigung der setup-Zeit
Formale Grundlagen von Schaltwerken L6-L8
2
d-Flipflops
q:
d:
t:
T=5:
:
Ausgangssignal
Eingangssignal
Zeit
Beispiel für Taktperiode
Verzögerungszeit im Flipflop
nur die Werte von d zu Zeiten, die
ganzzahlige Vielfache der
Periodendauer T sind, werden
aufgenommen und ausgegeben
Verhalten:
 t  
q(t  )  d    * 5 
 5  
Formale Grundlagen von Schaltwerken L6-L8
Beispiel: Verhalten
d-Flipflop
t
5  * 5
 
3
d
t
0
1
2
3
4
5
6
7
8
9
10 11 12 13
takt5
t
0
1
2
3
4
5
6
7
8
9
10 11 12 13
konstant für
Dauer T
Sei  = 0
qRücksetzen
 t  
q(t)  d    * 5 
 5  
t
0
1
2
3
4
5
6
7
8
9
10 11 12 13
Formale Grundlagen von Schaltwerken L6-L8
4
Zeitsteuerung zur Einhaltung der Vereinbarung zwischen
Schaltnetz und Umgebung
Ich, Schaltnetz,
verspreche:
Fertigstellung zur Zeit
Ich, Umgebung,
verspreche: Bei Anlieferung
 t1 
zur Zeit   * T
T 
Konstanthalten bis fast zur
 t1 
Zeit   * T + T
T 
 t1 
 T  * T + tproc
 
Schaltnetz
Umgebung
Hier sind die
Flipflops drin
Konsequenz: Forderung Taktperiode T
 tproc
Formale Grundlagen von Schaltwerken L6-L8
5
Wir wissen was wir wollen:
Ein Flipflop mit der Funktion:
 t  
q(t  )  d    * T 
 T  
Formale Grundlagen von Schaltwerken L6-L8
Aber wie kriegen wir es hin?
6
Formale Grundlagen von Schaltwerken L6-L8
7
L6-3: Struktur eines d-Flipflops
d
taktT
R
d- q i
latch
T/2
ddlatch
latch
q
d
taktT
taktT,T/2
Phasenschieber:

T
2
dflipflop
q
Formale Grundlagen von Schaltwerken L6-L8
8
L6-2: Idee der Funktion eines d-Flipflops
takt4(t) = L, takt4,2(t) = O:
d
6

t

8
q
d(?)
d(t)
q(t) = d  ? 
takt4
L
q(t)=d(?)
O
0
2
4
6
8
10 t
Es wird zwar wegen takt4(t) = L
dauernd in das erste d-Latch
eingelesen, doch das zweite dLatch behält seinen Wert, da
takt4,2(t) = O
Formale Grundlagen von Schaltwerken L6-L8
9
L6-2: Idee der Funktion eines d-Flipflops
Taktwechselzeit von L nach O:
d
t=8
d(8)
q
d(?)
q(t)=d(?)
takt4
L
Das erste Latch schaltet ab
und bewahrt den Wert d(8) auf
O
0
2
4
6
8
10 t
q(8+  ) = d(8)
Formale Grundlagen von Schaltwerken L6-L8
10
L6-2: Idee der Funktion eines d-Flipflops
8
takt4(t) = O, takt4,2(t) = L:
d
d(8)

 10
t
q
d(8)
takt4
L
q(t) = d(8)
O
0
2
4
6
8
10 t
q(t) = d(8)
Das zweite Latch übernimmt
wegen takt4,2(t) = L den in
diesem Intervall nicht mehr
veränderbaren Wert d(8) vom
ersten Latch
Formale Grundlagen von Schaltwerken L6-L8
11
L6-2: Idee der Funktion eines d-Flipflops
10  t  12
takt4(t) = L, takt4,2(t) = O:
d
d(t)
d(8)
q
q(t) = d(8)
4
6
8
10
12
14 t
q(t) = d  T 
Das erste Latch ist zwar
aufnahmebereit, das
zweite aber behält den
Wert d( T ), da sein
Taktsignal den Wert O
besitzt.
Formale Grundlagen von Schaltwerken L6-L8
12
L6-2: Idee der Funktion eines d-Flipflops
Taktwechselzeit von L nach O: t = 12
d
d(12)
d(12)
q
q(t) = d  T  T 
Ein neuer Wert wird
ausgegeben
4
6
8
10
12
14 t
Formale Grundlagen von Schaltwerken L6-L8
13
L6-2: Zusammenfassung

Vom Zeitpunkt t    T und für alle nachfolgenden Zeiten t    T  T gilt:
q(t) = d  T 
Beispiel: T = 4
takt4
 1
L
q(t) = d  T 
O
0
2
4
6
8
letzter eingelesener Wert wird
ausgegeben
10 t
Formale Grundlagen von Schaltwerken L6-L8
14
L6-6: Was wir könnten ...
Wir könnten die Verhaltensbeschreibung des d-Fliflops aus der
sequentiellen Komposition zweier
d-Latches formal ableiten, …….
d
taktT
qi
dlatch
taktT,T/2,T/2
T—
/2
ddlatch
latch
q
Formale Grundlagen von Schaltwerken L6-L8
…, wenn wir nur wollten
15
Formale Grundlagen von Schaltwerken L6-L8
16
Ergebnis unserer virtuellen Bemühungen
Verhalten eines d-Flipflops mit T = 5:
Für t  5.0:
 t 

q t    d   * 5 
 5 

Formale Grundlagen von Schaltwerken L6-L8
17
d
t
0
1
2
3
4
5
6
7
8
9
10 11 12 13
takt5
t
0
1
2
3
4
5
6
7
8
9
10 11 12 13
konstant für T
q
t
0
1
Rücksetzen
2
3
4
5
6
7
8
9
 t  
q(t  )  d    * 5 
 5  
10 11 12 13
t  5 , im Bild:  = 0
Formale Grundlagen von Schaltwerken L6-L8
18
Das gewünschte Verhalten des d-Flipflop stellt sich ein.
Formale Grundlagen von Schaltwerken L6-L8
19
L6-7: Definition: d-Flipflop (allgemein)
 Ein d-Flipflop werde durch ein Taktsignal taktT(t) gesteuert.
 Das d-Flipflop habe die Verzögerungszeit .
 Bei Einhaltung von Setupzeiten ( t setup  ) gilt:
  t 

d    * T 
q  t       T 

O

für
tT
für
tT
Initialisierung
Formale Grundlagen von Schaltwerken L6-L8
20
L6-8: Bewertung des d-Flipflops
 

  t 

d    * T 
q  t      T 


  

O

für
tT
für
tT
Die Werte des d-Signals werden
 nur zu den Zeitpunkten t   * T mit  
Latch) übernommen und ausgegeben
 um  verzögert ausgegeben
in das Flipflop (zweite d-
Formale Grundlagen von Schaltwerken L6-L8
21
L6-8: Bewertung des d-Flipflops
 Wertänderungen im zweiten d-Latch können nur beim Taktwechsel
von L nach O erfolgen und nicht während taktT = L ist
 einziger Nachteil: aufwändiger
Formale Grundlagen von Schaltwerken L6-L8
22
L7: Zeitabstraktion
Bisher:
konkrete Zeit
Zu jedem Zeitpunkt t  R ist das Verhalten d-Flipflops festgelegt
Nun: abstrakte Zeit
Diskrete, d.h. abzählbare Zeitpunkte  * T mit  
Nur zu diesen Zeitpunkten passiert etwas Entscheidendes im Schaltwerk
(Hoffentlich!)
Formale Grundlagen von Schaltwerken L6-L8
23
L7-2: Beispiel: Konkrete und abstrakte Zeit in einem Schaltwerk
1
takt3
1
t
R
d 1
dflip flo p
q
q
Rücksetzen q 0
t
ta kt 3
d0
tse tu p = 1
d
t
vor der ersten Taktwechselzeit von L nach O
Formale Grundlagen von Schaltwerken L6-L8
24
L7-4: Beispiel: Konkrete und abstrakte Zeit in einem Schaltwerk
1
=1
takt3
1
t
1
R
d 1
dflip flo p
q
q
Rücksetzen q 0
ta kt 3
d0
tse tu p = 1
q1
q reagiert um 1
(konkret) verzögert
auf die Taktflanke
und d0=1
t
d
t
Taktwechselzeit T: abstrakter Zeitindex von q wird um 1 erhöht
Formale Grundlagen von Schaltwerken L6-L8
25
Beispiel: Konkrete und abstrakte Zeit in einem Schaltwerk
abstrakt=1
1
takt3
1
t
1
q
1
R
d 1
dflip flo p
q
q
0
Rücksetzen:q
konkret: jetzt hat d als
Reaktion auf q1 einen
neuen Wertt
angenommen:
d1 = 0
d0
ta kt 3
tse tu p = 1
d
2
d1
t
abstrakte Zeit 1
Formale Grundlagen von Schaltwerken L6-L8
26
L7-4: Beispiel: Konkrete und abstrakte Zeit in einem Schaltwerk
=1
1
takt3
1
t
q1
1
1 q
R
d 1
=2
dflip flo p
q
q
Rücksetzen:q 0
d0
ta kt 6
tse tu p = 1
der Wert d1 = Ot
wird
übernommen
d
2
d1
d1
t
setup-Zeit tsetup = 1 wird eingehalten
Formale Grundlagen von Schaltwerken L6-L8
27
L7-4: Beispiel: Konkrete und abstrakte Zeit in einem Schaltwerk
=2
=1
1
takt3
1
t
1
R
d 1
dflip flo p
q
q1
q
0
Rücksetzen: q
d
ta kt 6
tse tu p = 1
=3
d
1
q2
q2
t
0
2
2
d
1
d
2
d2
setup-Zeit tsetuo = 1 wird eingehalten
Der Wert
d2= L wird
übert
nommen
Formale Grundlagen von Schaltwerken L6-L8
28
L7-3: Beispiel: Analyse der Zeitbedingungen
Bedingung:
Verzögertes Signal muss vor der nächsten
setup-Zeit am Flipflop-Eingang ankommen
 *T + d + NOT + tsetup
 +1)*T
Periodendauer T muss entsprechend gewählt
werden
1
1
R
d 1
dflip flo p
q
ta kt 6
tse tu p = 1
 Alle Schaltnetzsignale ändern jeweils sich zur gleichen abstrakten Zeit
Formale Grundlagen von Schaltwerken L6-L8
29
L7-5 Abstraktes d-Flipflop
Bisherige Definition mit konkreten Zeiten:
  t 

d    * T 
q  t       T 

O

für
für
tT
tT
Von jetzt ab: zeitabstraktes d-Flipflop
q0  O (Einstellung über den Rücksetzeingang im Intervall 0, T  )
q1  d mit  
0
Formale Grundlagen von Schaltwerken L6-L8
30
Merkregel zur Vergabe abstrakter Zeitindizes
Gegeben: Schaltwerksstruktur
Sequenz von Eingangswerten mit fortlaufenden, bei 0 beginnenden
abstrakten Zeitindizes
Ausführung:
1. Initialisierung
Die durch Rücksetzung erzeugten Ausgangswerte von d-Flipflops erhalten den
Zeitindex 0;
  0;
Formale Grundlagen von Schaltwerken L6-L8
31
Ausführung:
2. Wiederholung
Wiederhole bis zu einem vorgegebenen Maximalwert max von  :
Verfolgung der Eingangssignale und d-Flipflop-Ausgangssignalen mit Index  :
Alle Signale, die in einem Schaltnetz erzeugt werden, erhalten denselben
abstrakten Zeitindex  wie ihre Eingangssignale;
Von Flipflops generierte Signale erhalten den erhöhten abstrakten
Zeitindex: q1  d ;
    1;
Ende der Bearbeitung nach max Durchgängen
Formale Grundlagen von Schaltwerken L6-L8
32
Beispiel: Analyse eines Schaltwerk mit abstrakten Zeiten
Formale Grundlagen von Schaltwerken L6-L8
1
1
Rücksetzen: q0  O
R
d 1
dflip flo p
ta kt 3
tse tu p = 1
q
33
Formale Grundlagen von Schaltwerken L6-L8
34
Beispiel: Analyse eines Schaltwerk mit abstrakten Zeiten
1
1
Rücksetzen: q0  O
  0:
R
d 1
dflip flo p
ta kt 3
tse tu p = 1
q
Ausgang der NOT-Komponente: d0  q0  L
Formale Grundlagen von Schaltwerken L6-L8
35
Beispiel: Analyse eines Schaltwerk mit abstrakten Zeiten
1
Rücksetzen: q0  O
1
  0:
Ausgang der NOT-Komponente: d0  q0  L
R
d 1
dflip flo p
ta kt 3
tse tu p = 1
q
Ausgang des Flipflops: q1  d0  L
   1
Zeitschritt
Formale Grundlagen von Schaltwerken L6-L8
36
Beispiel: Analyse eines Schaltwerk mit abstrakten Zeiten
1
1
Ausgang des Flipflops: q1  d0  L ,
 1
Ausgang der NOT-Komponente: d1  q1  O
R
d 1
dflip flo p
ta kt 3
q
usw.
Ergebnis: q = q q q q q ....  OLOLO....
0 1 2 3
4
tse tu p = 1
Stimmt aber nur, wenn die Bedingungen von den konkreten Zeiten eingehalten werden
Formale Grundlagen von Schaltwerken L6-L8
37
Zusammenfassung:
für alle 
0:
d  q ; q1  d
Formale Grundlagen von Schaltwerken L6-L8
L7-8: Was bringt die Abstraktion?
 Nachteil: Informationsverlust
 Vorteil: einfacher zu verstehen
 bessere Dokumentation
 einfachere Schaltungsanalyse
 einfachere Schaltungssynthese
38
Formale Grundlagen von Schaltwerken L6-L8
39
L8-2: Schaltwerksanalyse mit abstrakten Zeiten und Eingaben
x(t): Eingangssignal
R
1
x
1
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
setup= 1
xd(t): synchronisiertes
Eingangssignal
xd
q
y
Formale Grundlagen von Schaltwerken L6-L8
40
L8-3 Diskretisierung von Eingangssignalen
R
x
tak
tT
d1 flipflo
p
1
x
d
x0d  O
(Rücksetzen)
x d1  x  mit  
0
Beispiel:
x O L L O O
xd 
O
durch
Rücksetzsignal
eingestellt
O L L O O
Formale Grundlagen von Schaltwerken L6-L8
41
L8-5/6:Beispiel: Schaltwerksanalyse mit abstrakten Zeiten
R
1
x
1
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
tsetup = 1
Schaltnetz:
xd
x0d  O
(Rücksetzen)
x d1  x  mit  
q
0
y
q0  O
(Rücksetzen)
q1  d mit  
d  x d  q
0
y   q
Formale Grundlagen von Schaltwerken L6-L8
42
L8-5/6: Anfangssituation: Rücksetzen
=0
R
1
x
x O
0
d
1
1
q O
0
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x 
q1  d
y   q
d  x d  q

Formale Grundlagen von Schaltwerken L6-L8
43
L8-5/6: Anfangssituation: Eingabe
=0
x
x O
0
d
1
x0
1
q O
0
R
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x  , q1  d , y   q d  x d  q

Formale Grundlagen von Schaltwerken L6-L8
44
L8-5/6: Anfangssituation: das Schaltnetz berechnet den neuen q-Wert
=0
x
x O
0
d
1
x0
1
q O
0
1
AND d
1
taktT
d0  x 0d  q0
 OL
O
R
1
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x 
q1  d
y   q
d  x d  q

Formale Grundlagen von Schaltwerken L6-L8
=0
=1
x O
x x
0
d
1
d
45
x
0
1
x0
1
q0  O
R
1
q1 = d0 = O
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

d0  x 0d  q0
 OL
O
x d1  x  q1  d , y   q
d  x d  q 
Die Taktwechselzeit
bestimmt den neuen Zeitindex:
Übernahme in die Flipflops
Formale Grundlagen von Schaltwerken L6-L8
46
Es kommt eine neue
EingabeR
=1
x x
1
d
x
0
1
x1
1
q1 = d0 = O
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x  , q1  d , y   q
d  x d  q 
Formale Grundlagen von Schaltwerken L6-L8
Das Schaltnetz
kann den neuen
Zustand berechnen
47
R
1
=1
x
x1d  x 0
x1
q1 = d0 = O
1
1
1
AND d
1
taktT
d1  x1d  q1
 x0  L
 x0
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x 
q1  d
d  x d  q 
y   q
Formale Grundlagen von Schaltwerken L6-L8
48
L8-5/6: Beispiel: Schaltwerksanalyse mit abstrakten Zeiten
Die Taktwechselzeit
bestimmt die
neue
abstrakte
Zeit
=1
=2
x
x x
2
d
R
1
1
1
x1
1
q2
=
d1
=
x0
1
AND d
1
taktT
d1  x1d  q1
 x0  L
 x0
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x 
q1  d
y   q
d  x d  q 
Formale Grundlagen von Schaltwerken L6-L8
49
=2
Die neue Eingabe
x
x x
2
d
1
x2
1
1
q2
=
d1
R
1
=
x0
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x 
q1  d
d  x d  q 
y   q
Formale Grundlagen von Schaltwerken L6-L8
Die Berechnung des
neuen Zustandes
50
=2
x
x x
2
d
1
1
x2
1
q2 = d1 = x0
R
1
1
AND d
1
taktT
d2  x 2d  q2
 x1   x 0
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1

x d1  x 
q1  d
y   q
d  x d  q 
Formale Grundlagen von Schaltwerken L6-L8
51
L8-9: Beispiel: Schaltwerksanalyse mit abstrakten Zeiten
Wert des q-Signals zu einer Zeit  hängt von vorhergehenden Werten des
Eingangssignal x ab
Rekursive Darstellung: q1  x 1  q
In q sind alle Informationen über die früheren Werte des Eingangssignals
gespeichert, die man benötigt, um q+1 zu ermitteln.
Formale Grundlagen von Schaltwerken L6-L8
Überleitung zum nächsten Kapitel
52
Formale Grundlagen von Schaltwerken L6-L8
53
L8-11: Definition: Zustand
Ein Schaltwerk sei aus m + h d-Flipflops aufgebaut
Ausgangssignale der Flipflops:
o xd,1, xd,2, ..., x d,m für die diskretisierten Eingangssignale
o q1, q2,..., qh
für die übrigen Flipflop-Ausgänge (innerer Zustand)
Jede Belegung der m + h Ausgangsvariablen der Flipflops definiert einen
(Gesamt-) Zustand des Schaltwerks.
Ein solches Schaltwerk kann 2m+h unterschiedliche (Gesamt-) Zustände
einnehmen.
Formale Grundlagen von Schaltwerken L6-L8
54
L8-11: Beispiel: Anzahl der Zustände
R
1
x
1
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
tsetup = 1
xd m = 1:
diskretisiertes Eingangssignal
q
y
h = 1: inneres Zustandssignal
22 = 4
Gesamt-Zustände sind
möglich
L 89
Formale Grundlagen von Schaltwerken L6-L8
L8-12: Schaltwerksfunktion: Erzeugung von
Ausgangssequenzen aus Eingangssequenzen
Ein Schaltwerk erhält Sequenzen von Eingangswörter
und erzeugt
 interne Zustände und
 Sequenzen von Ausgangswörtern
55
Formale Grundlagen von Schaltwerken L6-L8
56
L8-12: Beispiel: Schaltwerksfunktion
x O L L O O
R
1
x
1
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
tsetup = 1
yq O O O L O
Formale Grundlagen von Schaltwerken L6-L8
57
L8-12: Definition: Menge der endlichen Sequenzen
Bn
:
B  :
n
*
Menge der n-stelligen Booleschen Wörter
Menge der endlichen Sequenzen von n-stelligen Booleschen
Wörtern.
Die Sequenzen dürfen beliebig lang sein.
Formale Grundlagen von Schaltwerken L6-L8
58
Korrekte Schaltwerksfunktion
Ein Schaltwerk arbeitet korrekt, wenn
1. die möglichen Eingabesequenzen die jeweils geforderten Ausgabesequenzen erzeugen
2. die maximale Zeitverzögerung der Zustandssignale kleiner als die
Taktperiode ist
Entsprechend sind zwei Entwurfsphasen notwendig
Formale Grundlagen von Schaltwerken L6-L8
59
L8-14: Zweite Phase: konkrete Zeitanalyse eines Schaltwerks
Formale Grundlagen von Schaltwerken L6-L8
60
R
1
Periodendauer T= 5
x
xd d = 1
q d = 1
abstrakte
Zeit 
tsetup
=1
abstrakte
Zeit +1
d: Verzögerungszeit im Flipflop
1
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
Formale Grundlagen von Schaltwerken L6-L8
61
L8-14: Zweite Phase: Zeitanalyse eines Schaltwerks
R
1
Periodendauer T= 5
x
x
xd d = 1 and= 1
and= 1
q d = 1
d
not= 1
abstrakte
Zeit 
setup
=1
abstrakte
Zeit +1
1
1
1
AND d
1
taktT
R
1
dflipflop
1
dflipflop
2
xd
q
y
setup= 1
L 813
Formale Grundlagen von Schaltwerken L6-L8
Struktur- und Verhalten von Schaltwerken
Notwendigkeit von Schaltwerken:
Wenn das zukünftige Verhalten einer Schaltung
 von der Vergangenheit und
 nicht nur von der aktuellen Eingabe
abhängt, muss man die Vergangenheit in kompakter Form speichern.
62
Formale Grundlagen von Schaltwerken L6-L8
63
Beispiel: Wenn der Hahn kräht, wirst du mich dreimal verraten haben
Aussage
Takt
Falls Rücksetzen: Lügzahl = 0
Falls
Aussage = Lüge
setze
Lügzahl = Lügzahl + 1;
Hahn beauftragen
zu krähen
Falls
Lügzahl == 3
beauftrage Hahn;
Rücksetzen
Auswertung bei jeder
Taktflanke
Herunterladen