k520-Timing_wichtiger_Komponenten
k520-Timing_wichtiger_Komponenten
Page 1
Kapitel 5 – Timing
- Physikalische Eigenschaften
- Timing wichtiger Komponenten
- Exaktes Timing von ReTI
Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Institut für Informatik
Page 2
Timing – Übersicht
Timing für ein paar (bereits bekannte) Schaltpläne:
- RS-Flipflop
- D-Latch
- D-Flipflop
Timing weiterer Komponenten, die bei der Realisierung der ReTI genutzt werden:
- Kontrolllogik
- Register mit Clock-Enable
- ALU
- Speicher
Page 3
RS-Flipflop
Zustand
(Schaltplan: /R, G2, G1, /S, Q, /Q)
Page 4
RS-Flipflop
Zustand
Senke /S zur Zeit
Page 5
RS-Flipflop
Zustand
Senke /S zur Zeit
Page 6
RS-Flipflop
Zustand
Senke /S zur Zeit
Page 7
RS-Flipflop
Zustand
Senke /S zur Zeit
Nach Zeit
Page 8
RS-Flipflop
Zustand
Senke /S zur Zeit
Nach Zeit
Page 9
RS-Flipflop
Zustand
Senke /S zur Zeit
Nach Zeit
Page 10
RS-Flipflop
Zustand
Senke /S zur Zeit
Nach Zeit
→ 1
Page 11
RS-Flipflop
Zustand
Senke /S zur Zeit
Nach Zeit
→ 1
Wähle
Page 12
Übergang – Graphisch
Wie groß muss
Zur Erinnerung: Der Abstand zum spikefreien Umschalten von NAND-Gattern beträgt
| NAND | ||
|---|---|---|
| 0.01 | 0.15 | |
| 0.01 | 0.12 |
Page 13
Spikefreier Übergang
Nach den Regeln des spikefreien Umschaltens von Gattern entsteht kein Spike, falls:
Wechsel von Zustand
Page 14
Symbole und Bezeichnungen
| Symbol | Bezeichnung | ||
|---|---|---|---|
| Pulsweite | — | 0.68 | |
| Verzögerungszeit von /S bis Q | 0.01 | 0.15 | |
| Verzögerungszeit von /S bis /Q | 0.02 | 0.27 | |
| Verzögerungszeit von /R bis Q | 0.02 | 0.27 | |
| Verzögerungszeit von /R bis /Q | 0.01 | 0.15 |
Page 15
D-Latch
/S, /R inaktiv
Wie beim RS-Flipflop (minimale Pulsweite!) muss man auch beim D-Latch bestimmte Forderungen an den zeitlichen Verlauf der Signale stellen, um Spikefreiheit zu garantieren.
Page 16
Timing-Diagramm
Page 17
Timing-Bedingungen für das D-Latch
muss beim Schreiben lange genug 1 sein, um minimale Pulsweite des RS-FFs zu garantieren.- Vor
werden Daten für Zeit stabil gehalten, um- beim Schreiben von 0 Spike auf /S zu verhindern,
- beim Schreiben von 1 Spike auf /R zu verhindern (kritischer!).
- Nach
werden Daten für Zeit stabil gehalten, um- beim Schreiben von 1 Spike auf /R zu verhindern,
- beim Schreiben von 0 Spike auf /S zu verhindern (kritischer!).
Page 18
Man rechnet nach:
Der Schreibvorgang beim D-Latch funktioniert mit den Parameterwerten aus der Tabelle (Übung).
| Symbol | Bezeichnung | ||
|---|---|---|---|
| Pulsweite des Schreibimpulses | — | 0.79 | |
| Setupzeit von D bis W | — | 0.49 | |
| Holdzeit von W nach D | — | 0.41 | |
| Verzögerungszeit von W bis Q | 0.02 | 0.39 |
Page 19
Mögliche Realisierung: D-Flipflop
Page 20
Timing: D-Flipflop
Vorgehen analog zu RS-Flipflop und D-Latch, aber wesentlich komplizierter. Wir verzichten daher auf die Analyse.
Die NanGate-Bibliothek enthält bereits ein D-FF mit folgenden charakteristischen Zeiten (in ns):
| Symbol | Bezeichnung | ||
|---|---|---|---|
| Setupzeit von D bis ck | — | 0.08 | |
| Holdzeit von D nach ck | — | 0.14 | |
| Verzögerungszeit von ck bis Q | 0.12 | 0.26 |
Page 21
Aufbau der Kontrolllogik, zur Erinnerung
(Schaltkreis der Kontrolllogik mit Kombinatorischem Block, D-FFs getaktet mit ck und /ck)
- Ein Teil der D-FFs wird mit ck geclockt, ein anderer Teil mit /ck.
- Generierung der Kontrollsignale (OE von Treibern, ALU-Ansteuerung, ...).
- Ist ein Kontrollsignal active low, dann bezeichnen wir es z. B. mit /x. Das Ausgangssignal /x ergibt sich dann durch Negation des Ausgangssignals
eines entsprechenden FFs mit Eingangssignal . - Ist ein Kontrollsignal active high, dann bezeichnen wir es z. B. mit
. Das Ausgangssignal entspricht dem Ausgangssignal eines FFs mit Eingangssignal .
Page 22
Kontrolllogik
Die Dauer eines Taktes bezeichnen wir als Zykluszeit
- Active-High-Ausgangssignale der Kontrolllogik, bei denen das FF mit ck gesteuert ist, sind gegenüber der steigenden Flanke von ck um Zeit
verzögert (resultiert aus D-FF-Verzögerung). - Active-Low-Ausgangssignale der Kontrolllogik, bei denen das FF mit ck gesteuert ist, sind gegenüber der steigenden Flanke von ck um Zeit
verzögert (resultiert aus D-FF-Verzögerung + Inverterverzögerung). - Active-High-Ausgangssignale der Kontrolllogik, bei denen das FF mit /ck gesteuert ist, sind gegenüber der letzten steigenden Flanke von ck um Zeit
verzögert. - Active-Low-Ausgangssignale der Kontrolllogik, bei denen das FF mit /ck gesteuert ist, sind gegenüber der letzten steigenden Flanke von ck um Zeit
verzögert.
| INV | ||
|---|---|---|
| 0.01 | 0.15 | |
| 0.00 | 0.08 |
Page 23
Grundsätzliche Überlegungen zur Timing-Analyse
Ausgangssituation: D-FFs mit Setup-Zeit
Die Eingangsdaten
- Erhöhe Setup-Zeit um maximale Verzögerung von SK:
- Verringere Hold-Zeit um minimale Verzögerung von SK:
Page 24
Timing: Kontrolllogik
Mit geeigneter Implementierung des kombinatorischen Teiles erhält man folgende charakteristische Zeiten.
| Symbol | Bezeichnung | ||
|---|---|---|---|
| Verzögerungszeit ck bis Q, active high | 0.12 | 0.26 | |
| Verzögerungszeit ck bis Q, active low | 0.12 | 0.41 | |
| Verzögerungszeit ck bis Q (von /ck angesteuert, active high) | |||
| Verzögerungszeit ck bis Q (von /ck angesteuert, active low) | |||
| Setupzeit von D bis ck | — | 0.88 | |
| Setupzeit von D bis /ck | — | 0.88 | |
| Holdzeit von D nach ck | — | 0.06 | |
| Holdzeit von D nach /ck | — | 0.06 |
Page 25
Register mit Clock-Enable
Bei der Implementierung benötigen wir noch 4 Treiber (Tiefe 1), um Regcken auf 32 1-Bit-Multiplexer zu verteilen.
| Symbol | Bezeichnung | ||
|---|---|---|---|
| Setup-Zeit von D vor ck | — | 0.23 | |
| Hold-Zeit von D nach ck | — | 0.11 | |
| Setup-Zeit von Regcken vor ck | — | 0.35 | |
| Hold-Zeit von Regcken nach ck | — | 0.10 |
ergibt sich aus Setupzeit D-FF + maximale Verzögerungszeit Multiplexer (Daten bis Ausgang) ( ). ergibt sich aus Holdzeit D-FF minimale Verzögerungszeit Multiplexer (Daten bis Ausgang) ( ). ergibt sich aus Setupzeit D-FF + maximale Verzögerungszeit Multiplexer (Select bis Ausgang) + maximale Verzögerungszeit Treiber ( ). ergibt sich aus Holdzeit D-FF minimale Verzögerungszeit Multiplexer (Select bis Ausgang) minimale Verzögerungszeit Treiber ( ).
Page 26
Schaltkreisrealisierung der ALU
(ALU-Schaltplan mit Addierer, AND, EXOR, Funktionsselect s0, s1, s2)
| Operation | |||
|---|---|---|---|
| 0 | 0 | 0 | |
| 0 | 0 | 1 | |
| 0 | 1 | 0 | |
| 0 | 1 | 1 | |
| 1 | 0 | 0 | |
| 1 | 0 | 1 | |
| 1 | 1 | 0 | |
| 1 | 1 | 1 |
Page 27
Timing: ALU
Annahme: ALU mit 32-Bit-Addierer (Conditional Sum).
Man zeigt: Längster Pfad über ALU läuft durch den Addierer.
Annahme: Die Funktion-Select-Bits sind mindestens
| Symbol | Bezeichnung | ||
|---|---|---|---|
| Verzögerungszeit von a, b bzw. cin bis Ausgang | — | 3.25 |
Page 28
Timing: SRAM
Für die folgenden Timinganalysen orientieren wir uns an dem kommerziell angebotenen SRAM CY7C1079DV33 der Firma Cypress Semiconductor (siehe folgende Folien).
Page 29
Interface zu CY7C1079DV33
(SRAM-Interface: A, D, /SMDdoe, SMw)
Page 30
Timing: CY7C1079DV33
Aus dem Datenblatt entnimmt man:
| Symbol | Bezeichnung | ||
|---|---|---|---|
| Lesezugriffszeit | — | 12.0 | |
| Zeit von /SMDdoe = 0 bis D | — | 7.0 | |
| Zeit von /SMDdoe = 1 bis high-Z | — | 7.0 | |
| Schreibzykluszeit | — | 12.0 | |
| Setupzeit von A bis W | 0.0 | — | |
| Setupzeit von A bis Ende W | 9.0 | — | |
| Holdzeit von A nach W | 0.0 | — | |
| Schreibpulsweite | 9.0 | — | |
| Setupzeit von D bis Ende W | 7.0 | — | |
| Holdzeit von D nach W | 0.0 | — |





























