7 Entwurf komplexer synchroner Digitalschaltungen

Transcription

7 Entwurf komplexer synchroner Digitalschaltungen
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
7
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Entwurf komplexer synchroner Digitalschaltungen
• Synchrone Digitalschaltungen
werden auf "Register Transfer Level" (RTL) beschrieben.
Dies bedeutet, dass logische
Signale in Registern gespeichert werden. Zwischen den
Registern existieren Blöcke
mit kombinatorischer Logik.
• In einem synchronen System werden alle Flipflops mit dem gleichen Takt angesteuert.
• Asynchrone Preset- und Reset-Signale werden nur zur Initialisierung / Power-On verwendet.
• Das sonstige Löschen von Registern erfolgt nahezu synchron (FSM-Ausgänge) über den
asynchronen Eingang der D-FFs.
DIGITALE SYSTEME
7-1
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Derartig aufgebaute Digitalsysteme arbeiten stabil und sind insbesondere bzgl. Hazards unproblematisch da:
1. Die verwendeten Flipflops frei von Hazards sind (durch den Hersteller garantiert).
2. Davon auszugehen ist, dass die durch kombinatorische Schaltungen entstandenen Hazards bis zur nächsten Taktflanke abgeklungen sind.
Der Designer hat neben dem korrekten funktionalen Entwurf des Zustandsautomaten die
folgenden Entwurfsaufgaben:
1. Bestimme und minimiere die gesamte Taktverzögerung (Clock Skew) innerhalb des
Systems.
2. Stelle sicher, dass die Setup- und Hold-Zeiten der Flipflops auch unter Berücksichtigung der Taktverzögerung noch eingehalten werden.
3. Identifiziere asynchrone Eingangssignale, synchronisiere diese und stelle sicher, dass
die Synchronationsflipflops nicht in den metastabilen Zustand gehen.
DIGITALE SYSTEME
7-2
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
7.1 Struktur und Timing komplexer synchroner Systeme
Übliche Strukturierung eines digitalen Systems in
Funktionsblöcke, die von
einem gemeinsamen Takt
gesteuert werden:
• Die Steuereinheit erhält
externe "Kommandos"
sowie Statussignale von
den Datenpfadkomponenten. Sie selbst erzeugt für diese Komponenten die Steuersignale
• Der Datenpfad verarbeitet Daten. Er erhält
Signale von der Steuereinheit und erzeugt Statussignale für die Steuereinheit.
Dateneingang
Takt
Kommando
Steuereinheit
(Zustandsautomat)
Steuersignale
Datenpfad
Input
Steuersignale
Datenprozessor
Steuersignale
Datenpfad
Output
Statussignale
DIGITALE SYSTEME
Datenausgang
7-3
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Als Datenpfadkomponenten werden verwendet:
• Kombinatorische Logik wie z.B. Code-Umsetzer, Multiplexer, Addierer, ALUs
• Getaktete Logik wie z.B. ladbare (Schiebe-) Register
• Externe RAM- und ROM-Speicher
Typisches Zeitverhalten eines digitalen Systems
1. Kurz nach der steigenden Flanke geht die FSM in den neuen Zustand. Die Datenpfadregister übernehmen die neuen Statussignale nach der Flipflop-Verzögerungszeit (360 ns).
2. Etwas später werden durch das Ausgangsschaltnetz die Moore-Ausgänge des Steuerautomaten aktualisiert. Diese steuern die Datenpfadaktionen des nachfolgenden Takts (380
ns).
3. Deutlich später werden die Ausgänge der Datenpfadkomponenten aktualisiert (400 ns).
4. Etwas später wird durch das Übergangsschaltnetz der Folgezustand berechnet (430 ns).
Alle Aktionen müssen vor der Setup-Zeit der Flipflops beendet sein!
DIGITALE SYSTEME
7-4
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
Typisches Zeitverhalten eines digitalen Systems
Taktreserve
Wegen der Flipflop-Verzögerungszeit sind alle Signale noch etwas über die zweite Taktflanke hinaus gültig. Sie sind somit Vorbereitungssignale für die Aktionen des zweiten Taktes.
DIGITALE SYSTEME
7-5
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
7.2 Clock-Konzepte
7.2.1 Clock-Skew (Taktverzögerung)
In synchronen VLSI Entwürfen sind Clock-Signale mit tausenden von D-FFs und synchronen RAMs verbunden und die Verdrahtungslänge der Clock-Leitungen kann mehrere Meter betragen. Zur Steigerung der Systemgeschwindigkeit ist die max. Taktfrequenz durch
Optimierung der kombinatorischen Laufzeitpfade in der Regel auf ein Maximum gesteigert.
Diese Kombination aus großem Fan-out der Clock-Treiber und hoher Taktfrequenz verursacht Taktverzögerungen zwischen den einzelnen D-FFs relativ zueinander: Clock Skew.
CLK
Clock skew has to be less than the sum of all other data signal delays!
DIGITALE SYSTEME
CLK_D
7-6
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
Fehlverhalten durch zu großen Clock-Skew
• Das zweite Flipflop erzeugt
ein fehlerhaftes Ausgangssignal q2='1', da der ClockSkew (20ns) länger ist, als die
Verzögerung auf dem Datenpfad (10ns).
• Da in der Praxis die Signalverzögerung auf dem Datenpfad nicht vorherzusagen
ist, wird in FPGAs und ASICs ein besonderes Taktverteilungsnetzwerk für die
Taktverdrahtung verwendet.
• Im "Balanced Clock Tree"
erhalten alle Flipflops das
Taktsignal zum gleichen
Zeitpunkt.
DIGITALE SYSTEME
Fehler!
TSkew
Korrekt
7-7
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
Balanced Clock-Tree
• Der Clock-Routing Baum ist so ausgelegt, dass die Verzeigungen gleich belastet sind: die
Clock-Verdrahtung muss symmetrisch und niederohmig sein, spezielle Global ClockBuffer (BUFG) sind starke Stromtreiber, die für steile Clock-Flanken sorgen.
• FPGA-Designs werden durch eine automatische Clock-Tree Synthese unterstützt.
• An den Verzweigungen werden spezielle Takttreiber verwendet da ein einziger Treiber
überlastet wäre. Auch hier ist darauf zu achten, dass
kein Clock-Skew auftritt:
7.2.2
Falsch
Richtig
Auf einem Chip
DIGITALE SYSTEME
7-8
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Gated Clocks
Insbesondere in Low-Power Schaltungen müssen Teilfunktionen zeitweise abgeschaltet werden. Dies geschieht über Gated Clocks. Wenn die taktflankengesteuerte Bausteine keinen
Freigabe-Eingang besitzen, ist eine Gated-Clock
erforderlich. Diese neue Clock-Domäne kann auf
verschiedene Weise gewonnen werden:
• CLK_EN2: NAND_Gatter, welches mit der invertierten Clock angesteuert wird → Problem:
Hazards im Enable-Signal werden bei CLK='0'
an den Taktausgang invertiert weitergereicht.
• CLK_EN1: Ein
D-Latch zeigt
dieses Verhalten nicht, es
muss jedoch initialisiert werden.
DIGITALE SYSTEME
7-9
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
7.2.3 Mehrere Clock Domänen
In komplexen Schaltungen existieren für unterschiedliche Funktionen verschiedene Takte (ClockDomänen). Diese müssen aus einer Master-Clock
abgeleitet werden, um asynchrone Schnittstellensignale und damit metastabile Zustände
(s.u.) zu vermeiden. Wegen der Signalverzögerung der Taktteiler sind
die Taktsignale gegeneinander phasenverschoben!
• Im einfachsten Fall werden reduzierte Taktfrequenzen durch Taktteiler erzeugt. Clock-Domänen mit
Vielfachen der Master-Clock lassen
sich mit einer PLL und Frequenzteilern erzeugen fi = fin • n • mi
(n, mi > 1) [H.V.]
[H.V.] H. Veendrick: Deep-Submicron CMOS ICs. From
Basics to ASICs. Kluwer academic publishers, 2nd edition 2000
DIGITALE SYSTEME
7-10
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
7.2.4
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Taktphasen-Synchronisation
Wegen der unterschiedlichen Laufzeiten in einem Taktbaum kann es erforderlich sein, die
Phasenverschiebung, die durch verschiedene Takttreiberstufen entsteht, zu kompensieren.
Damit wird die phasensynchrone Kommunikation zwischen verschiedenen Schaltungsgruppen (Cores) ermöglicht.
• Am einfachsten erfolgt dies über eine nachträglich eingefügte Inverterkette im Datenpfad.
Der Clock-Skew wird in jedem Core auf den Wert des worst-case Delays angehoben (adaptive skew control).
• PLL Blöcke zur Phasenkompensation von unterschiedlichen Signalen regeln den Clock-Skew aus.
Die Clock-Phase zwischen
Knoten B und der Eingangfrequenz wird ausgeregelt. [H.V.].
DIGITALE SYSTEME
7-11
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
7.3 Asynchrone Eingangssignale
• Asynchron sind alle Eingangssignale einer synchronen Schaltung, die nicht mit dem Sys-
temtakt synchronisiert sind, deren Pegeländerung also irgendwann während des Taktzyklus erfolgen kann, also auch während des Entscheidungsintervalls tE = tS + th der abtastenden Clock.
Dazu gehören z.B.:
• Anforderungen externer Geräte (z.B.
Tastatureingaben, Interrupts, serielle
schnittstellen, ...)
• Der Datenaustausch zwischen zwei
synchronen Systemen, die jedoch mit
unterschiedlicher Frequenz betrieben
werden (Rechnerkopplungen, USBInterfaces zum FPGA-Processor.
DIGITALE SYSTEME
7-12
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
• Alle asynchronen Eingangssignale, die auf Flipflop-, Zähler- oder Schieberegister-
Eingänge geführt werden, müssen über eine spezielle Synchronisationsschaltung geführt
werden.
• Diese stellt sicher, dass sich das Eingangssignal nicht während des Entscheidungsintervalls
verändert. Andernfalls würden die Register- bzw. Zählerausgänge in den metastabilen
Zustand gehen, in dem die Flipflop-Ausgänge eine gewisse Zeit tr (resolution time) verbleiben und sogar oszillieren können.
• Der metastabile Zustand liegt im Bereich zwischen dem Set- und Reset-Zustand bei
„midsupply“. Es ist nicht vorhersehbar, welcher Logikpegel sich im Anschluss an tr am DFF Ausgang einstellt.
DIGITALE SYSTEME
7-13
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
7.3.1
Synchronisationsschaltung für lange
Impulse
• An einem vorgeschaltetes Synchronistions- Flipflop selbst können die Setupund Hold-Zeiten verletzt werden.
• Die im Folgenden dargestellte Situation
zeigt, dass sofern das 1. SynchronisationsD-FF in den metastabilen Zustand übergegangen ist, dieser Zustand sich jedoch im Laufe
der Taktperiode aufgelöst hat (tr < TCLK) und damit das 2. D-FF einen korrekten Logikpegel übernehmen kann. Damit wäre die Wahrscheinlichkeit, dass die angeschlossene FSM
mit undefinierten Pegeln angesteuert wird erheblich reduziert.
• Es ist allerdings zu beachten, dass das Signal q_int ebenso den Wert ¬e = 0 hätte
annehmen können. Entscheidend dabei ist die Tatsache, dass nur eins der EingangsFlipflops metastabil wird und nicht der Zustandsspeicher und/oder andere
Datenpfadregister.
DIGITALE SYSTEME
7-14
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
• Das Signal E wird durch
das Synchronisationsflipflop um bis zu zwei Takte
verzögert!
• Die Wahrscheinlichkeit
für das Auftreten eines
Fehlers wird durch eine
mittlere Zeit zwischen auftretenden Fehlern MTBF
(mean time between failure) beschrieben.
Set-Up Time verletzt
DIGITALE SYSTEME
7-15
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
7.3.2
Synchronisationsschaltung für kurze Impulse
• Das asynchrone Eingangssignal liegt am
Takteingang des Synchronisationsflipflops.
Dessen Dateneingang liegt immer auf '1'.
• Das Synchronistions-Flipflop wird durch
das zweite Flipflop asynchron zurückgesetzt.
• Unabhängig von der Impulsdauer des Eingangssignals erzeugt die
Schaltung immer einen Impuls für die Länge eines Taktes!
• Der Ausgang Q1 ist nicht frei
von metastabilen Zuständen,
ggf. muss die Schaltung um
ein weiteres Flipflop ergänzt
werden.
DIGITALE SYSTEME
7-16
university of applied sciences hamburg
Prof. Dr. J. Reichardt
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Prof. Dr. B. Schwarz
7.3.3
Berechnung der Fehlerhäufigkeit MTBF von Flipflops
Synchronisationsfehler treten auf, wenn der metastabile Zustand länger andauert, als die
vom Hersteller angegeben Zeit tr. Die mittlere Zeit MTBF zwischen zwei Synchronisationsfehlern ist abhängig von:
• f: Taktfrequenz mit der die Flipflops betrieben werden.
• a: Frequenz mit der sich das asynchrone Signal ändert.
• T0: D-FF Konstante gibt das Zeitfenster an, in dem Pegelwechsel einen Fehler erzeugen.
• τ: D-FF Konstante des Übergangsverhaltens von metastabilen Zuständen.
MTBF( tr ) =
Familie
74LS74
74HCxx
XC95108-20
τ(ns)
1.5
1.82
0.17
exp( tr / τ )
T0 ⋅ f ⋅ a
T0 (s)
4.0•10-1
1.5•10-6
9.6•10-18
tr (ns)
77.71
71.55
2.3
DIGITALE SYSTEME
tSU (ns)
20
25
10
7-17
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Beispiel:
• Das Interruptsignal eines Mikroprozessor, der mit f = 10 MHz Taktfrequenz arbeitet
•
•
•
•
wird mit einem 74LS74 Flipflop synchronisiert.
Der asynchrone Interrupt tritt mit einer Interruptrate von 105 1/s auf.
Die verfügbare Zeit zum Abklingen des metastabilen Zustands ist tr = 1/f - tSU = 80ns.
Fehler treten auf mit MTBF(80 ns) = 3.6•1011 s, sodass fehlerhafte Übergänge etwa alle
100 Jahrhunderte auftreten!
Falls der Prozessor jedoch mit 16MHz getaktet werden soll, ergibt sich:
tr = 42.5 ns → MTBF(42.5 ns) =3.1 s.
Dieser Wert ist unakzeptabel!
Berechnen Sie die MTBF für den Baustein XC95108-20 jeweils bei f=16MHz und f=50MHz!
DIGITALE SYSTEME
7-18
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
7.3.4
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
Entprellen von Schaltern
• Mechanische Schalter
neigen zum Prellen
(d.h. der Kontakt wird
nach dem Umschalten
mehrmals kurzzeitig
unterbrochen).
• Als Taktsignal für Flipflops und Zähler sind
nur prellfreie Schalter
geeignet!
• Durch ein RS-Latch in
Zusammenhang mit
Pull-up-Widerständen
läßt sich ein mechanischer Schalter entprellen.
Prellender Schalter
DIGITALE SYSTEME
7-19
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
7.4 Die 10 Gebote einer vorbildlichen Schaltungsentwicklung
(nach J.F. Wakerly, Digital Design Principles; Prentice Hall 1990)
1.
2.
3.
4.
5.
6.
All state-machine outputs shall always be registered.
Alle Ausgangssignale eines Automaten sollten stets über Register geführt werden!
Use clock edge triggered registers never latches.
Verwende (flankengesteuerte) Register anstatt von Latches!
Inputs to FSMs including resets shall be synchronous
Halte Deine Schaltwerkseingänge, einschließlich der Rücksetzeingänge synchron!
Beware of fast paths, because of delayed clock signal waveform.
Hüte Dich vor schnellen Pfaden, sie könnten Dich in die Hacken beißen!
Minimise skew of clock signals.
Minimiere die internen Verzögerungen Deiner Taktsignale!
Cross clock domains with the greatest caution, Synchronize the signals
Vermische Entwurfsgebiete mit unterschiedlichem Taktraster nur mit größter Vorsicht und
synchronisiere Deine Signale an den Schnittstellen!
DIGITALE SYSTEME
7-20
university of applied sciences hamburg
Prof. Dr. J. Reichardt
Prof. Dr. B. Schwarz
DEPARTEMENT OF ELECTRICAL ENGINEERING
AND COMPUTER SCIENCE
7.
Have no dead states in state-machines.
Du sollst keine undefinierten Zustände in Deinem Schaltwerk haben!
8. Have no logic with unbroken-asynchronous feedback, in order to avoid the malfunction reports
from myriad of test engineers.
Du sollst keine Logik mit nicht durch den Takt unterbrochener, asynchroner Rückführung
verwenden, wenn Dich die Fehlermeldungen unzähliger Testingenieure nicht heimsuchen sollen!
9. All decode logic must be crafted carefully - avoid asynchronicity
Du sollst jede Dekodierlogik sorgfältig entwickeln - vermeide asynchrones Verhalten!
10. Trust not the simulator - it may be cheating with correct looking results.
Traue Deinem Simulator nicht - er könnte Dir etwas vorgaukeln, auch wenn Dein Entwurf nichts
taugt!
DIGITALE SYSTEME
7-21