k520-Timing_wichtiger_Komponenten

k520-Timing_wichtiger_Komponenten

Page 1

page-01.png

Kapitel 5 – Timing

  1. Physikalische Eigenschaften
  2. Timing wichtiger Komponenten
  3. Exaktes Timing von ReTI
    Albert-Ludwigs-Universität Freiburg
    Prof. Dr. Armin Biere
    Institut für Informatik

Page 2

page-02.png

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

page-03.png

RS-Flipflop

Zustand Zustand :

(Schaltplan: /R, G2, G1, /S, Q, /Q)

Page 4

page-04.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Page 5

page-05.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Page 6

page-06.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Page 7

page-07.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Nach Zeit ist .

Page 8

page-08.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Nach Zeit ist .

Page 9

page-09.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Nach Zeit ist . Nach Zeit ist .

Page 10

page-10.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Nach Zeit ist . Nach Zeit ist .

→ 1

Page 11

page-11.png

RS-Flipflop

Zustand Zustand :

Senke /S zur Zeit ab und hebe zu wieder an (einen solchen Signalverlauf nennt man Puls).

Nach Zeit ist . Nach Zeit ist .

→ 1

Wähle so, dass kein Spike entsteht.

Page 12

page-12.png

Übergang – Graphisch

Wie groß muss gewählt werden, damit das RS-FlipFlop spikefrei schaltet?

Zur Erinnerung: Der Abstand zum spikefreien Umschalten von NAND-Gattern beträgt .

NAND
0.01 0.15
0.01 0.12

Page 13

page-13.png

Spikefreier Übergang

Nach den Regeln des spikefreien Umschaltens von Gattern entsteht kein Spike, falls:

Wechsel von Zustand zu Zustand aus Symmetriegründen analog.

Page 14

page-14.png

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

page-15.png

D-Latch

ist active high.

  • /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

page-16.png

Timing-Diagramm

Page 17

page-17.png

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

page-18.png

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

page-19.png

Mögliche Realisierung: D-Flipflop

Page 20

page-20.png

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

page-21.png

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

page-22.png

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

page-23.png

Grundsätzliche Überlegungen zur Timing-Analyse

Ausgangssituation: D-FFs mit Setup-Zeit und Hold-Zeit .

Die Eingangsdaten eines Registers werden aus Daten durch einen kombinatorischen Schaltkreis SK berechnet:

  • Erhöhe Setup-Zeit um maximale Verzögerung von SK:
  • Verringere Hold-Zeit um minimale Verzögerung von SK:

Page 24

page-24.png

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

page-25.png

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

page-26.png

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

page-27.png

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 vor den Operanden gültig. Dann ist garantiert, dass der kritische Pfad nicht durch die select-Eingänge bestimmt wird.

Symbol Bezeichnung
Verzögerungszeit von a, b bzw. cin bis Ausgang 3.25

Page 28

page-28.png

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

page-29.png

Interface zu CY7C1079DV33

(SRAM-Interface: A, D, /SMDdoe, SMw)

Page 30

page-30.png

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