Im Bereich der Netzwerkkommunikation, in ATM Switches, Kernrouter, Gigabit Ethernet und verschiedene Gateway Geräte, Die Systemdatenrate und Taktrate steigen weiter, und die Betriebsfrequenz des entsprechenden Prozessors wird auch immer höher; Daten, Stimme, Die Geschwindigkeit ist weit höher als 500Mbps, und Backplanes von Hunderten von Megabytes und sogar Gigabyte werden immer häufiger. Die Erhöhung der Geschwindigkeit digitaler Systeme bedeutet, dass die Anstiegs- und Fallzeit des Signals so kurz wie möglich ist, and a series of high-Geschwindigkeit Design Probleme, die durch die Erhöhung der Frequenz und Kantenrate des digitalen Signals verursacht werden, sind immer prominenter geworden. Wenn die Signalverbindungsverzögerung größer als 20% der Kantensignal-Flip-Zeit ist, Die Signaldrähte auf der Platine zeigen den Übertragungsleitungseffekt an, und das Design wird zu einem Hochgeschwindigkeits- Design. Das Auftreten von Hochgeschwindigkeitsproblemen hat die Hardware vor größere Herausforderungen gestellt Design. Es gibt viele Designs, die aus logischer Sicht korrekt sind. Wenn sie im eigentlichen PCB Design, die gesamte Design wird fehlschlagen. Diese Situation verfolgt zunehmend Hochgeschwindigkeitsnetze. Der Bereich Kommunikation ist noch offensichtlicher. Experts predict that in terms of hardware SchaltungsDesign Kosten in der Zukunft, die Kosten der Logikfunktion Design wird stark reduziert, und die Kosten im Zusammenhang mit Hochgeschwindigkeits- Design wird 80% oder mehr der Gesamtkosten ausmachen. Das Hochgeschwindigkeitsproblem ist zu einem der wichtigsten Erfolgsfaktoren des Systems geworden Design.
Signalüberschießen, Unterschießen, Reflexion, Klingeln, Übersprechen usw. verursacht durch Hochgeschwindigkeitsprobleme beeinträchtigen den normalen Ablauf des Systems ernsthaft. Die Verringerung der Systemsequenzmarge zwingt die Menschen, auf verschiedene Phänomene zu achten, die die Sequenz und Qualität digitaler Wellenformen beeinflussen. Wenn das Timing durch die Erhöhung der Geschwindigkeit hart wird, egal wie gründlich das Systemprinzip im Voraus verstanden wird, kann jede Unwissenheit und Vereinfachung schwerwiegende Folgen für das System haben. Im HochgeschwindigkeitsDesign sind die Auswirkungen von Timing-Problemen kritischer. Dieser Artikel behandelt insbesondere Timing-Analyse und Simulationsstrategien im HochgeschwindigkeitsDesign.
1 Timing Analyse und Simulation der gemeinsamen Taktsynchronisation
In digitalen Hochgeschwindigkeitsschaltungen wird die Übertragung von Daten im Allgemeinen durch die Uhr gesteuert, um Datensignale in geordneter Weise zu senden und zu empfangen. Der Chip kann Daten nur nach dem vorgegebenen Zeitpunkt senden und empfangen. Übermäßige Signalverzögerung oder unsachgemäße Signalverzögerung können Signalzeitverletzungen und Funktionsverwirrungen verursachen. In einem Low-Speed-System sind Phänomene wie Verbindungsverzögerung und Klingeln vernachlässigbar, da in diesem Low-Speed-System das Signal genügend Zeit hat, um einen stabilen Zustand zu erreichen. In einem Hochgeschwindigkeitssystem steigt jedoch die Kantenrate, die Systemtaktrate steigt, die Signalübertragungszeit zwischen Geräten und die Synchronisationsvorbereitungszeit werden verkürzt, und die äquivalente Kapazität und Induktivität auf der Übertragungsleitung verursacht auch Verzögerung und Verzerrung bei der digitalen Umwandlung des Signals. In Verbindung mit der Fehlübereinstimmung der Signalverzögerung und anderen Faktoren beeinflusst es die Einrichtungs- und Haltezeit des Chips, was zur Unfähigkeit des Chips führt, Daten korrekt zu senden und zu empfangen und das System nicht normal zu arbeiten.
Die sogenannte gemeinsame Taktsynchronisation bedeutet, dass sich während der Datenübertragung das treibende Ende und das empfangende Ende auf dem Bus die gleiche Taktquelle teilen und der gleiche Taktpuffer (CLOCK BUFFER) eine In-Phase-Uhr sendet, um die Datenübertragung und den Empfang abzuschließen. Abbildung 1 zeigt ein schematisches Diagramm einer typischen taktsynchronen Datenübertragungs- und Empfangsarbeit. In Abbildung 1 erzeugt der Kristalloszillator CRYSTAL ein Ausgangssignal CLK_IN, das den Taktverteiler CLOCK BUFFER erreicht. Nachdem der CLOCK BUFFER verteilt und puffert, sendet er zwei In-Phase-Uhren, eine ist CLKB, die für die Datenausgabe von DRIVER verwendet wird; Das andere ist CLKA, das für die Probenahme von Schnappdaten verwendet wird, die vom DRIVER an den RECEIVER gesendet werden. Die Uhr CLKB kommt nach einer Flugzeit von Tflt_CLKB (FLIGHT TIME) beim DRIVER an. Die internen Daten des DRIVErs werden von CLKB verriegelt und erscheinen nach TCO_DATA Zeit auf dem Ausgabeport des DRIVErs. Die Ausgangsdaten erreichen dann den Eingangsport des RECEIVER nach einer Flugzeit Tflt_DATA; Verwenden Sie am Eingangsport des RECEIVER eine andere Clock CLKA, die von CLOCK BUFFER generiert wird (die Verzögerung ist die CLKA Clock Flugzeit, d.h. Tflt_CLKA), um diesen Batch von Daten vom DRIVER zu erfassen und zu verriegeln, wodurch die Datenübertragung eines Taktzyklus des COMMON CLOCK Prozesses abgeschlossen wird.
Der obige Prozess zeigt, dass die bei RECEIVER ankommenden Daten von der aufsteigenden Kante des nächsten Zyklus der Uhr abgetastet werden. Hiernach können zwei notwendige Bedingungen für die Datenübertragung erhalten werden: 1. Die Daten am Eingang des RECEIVER haben in der Regel die erforderliche Rüstzeit Tsetup. Das bedeutet, dass die Daten vor dem Mindestzeitwert der Uhr gültig sein müssen. Das Datensignal sollte am Eingangsende vor dem Taktsignal ankommen, so dass die Ungleichheit, die durch die Einrichtungszeit befriedigt wird, erhalten werden kann; 2.Um die Daten erfolgreich in das Gerät einzubinden, muss das Datensignal am Eingang des Empfangschips lange genug gültig bleiben, um sicherzustellen, dass das Signal von der Taktprobe korrekt verriegelt wird. Dieser Zeitraum wird als Haltezeit bezeichnet. Die Verzögerung von CLKA muss kürzer sein als die ungültige Zeit der Daten (INVALID). Die Ungleichheit, die durch die Haltezeit befriedigt wird, kann ermittelt werden.
1.1 Zeitanalyse der Zeit der Datenerstellung
Entsprechend der ersten Bedingung muss das Datensignal vor der Clock CLKA am Empfangsende ankommen, um die Daten korrekt zu verriegeln. Im gemeinsamen Taktbus besteht die Funktion des ersten Taktzyklus darin, die Daten an den Ausgang des DRIVERS zu sperren, und der zweite Taktzyklus, um die Daten an das Innere des RECEIVERS zu sperren, was bedeutet, dass die Zeit für das Datensignal, um den Eingang des RECEIVERS zu erreichen, ausreichend früher sein sollte als das Taktsignal CLKA. Um diese Bedingung zu erfüllen, ist es notwendig, die Verzögerung für die Takt- und Datensignale zu bestimmen, um den Empfänger zu erreichen und sicherzustellen, dass die Anforderungen an die Einrichtungszeit des Empfängers erfüllt sind. Jede Zeitspanne, die länger als die erforderliche Einrichtungszeit ist, ist die Einrichtungszeit Timing Margin Tmargin. Im Zeitplan der Abbildung 1 zeigen alle Pfeillinien die Verzögerungen an, die durch Datensignale und Taktsignale innerhalb des Chips oder auf der Übertragungsleitung erzeugt werden. Die Pfeillinien unten zeigen die Gesamtverzögerung von der ersten gültigen Taktkante bis zu den Daten an, die den RECEIVER-Eingang erreichen. Die Pfeillinie oben stellt die Gesamtverzögerung der empfangenen Uhr CLKA dar. Die Gesamtverzögerung von der Gültigkeit der ersten Taktkante bis zum Eintreffen der Daten am RECEIVER-Eingang beträgt:
TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA
Die Gesamtverzögerung des nächsten Zyklus der Empfangsuhr CLKA beträgt:
TCLKA_DELAY=TCYCLE+TCO_CLKA+Tflt_CLKA
Um den Zeitpunkt der Datenerstellung einzuhalten, muss Folgendes vorhanden sein:
TCLKA_DELAY_MIN-TDATA_DELAY_MAX-Tsetup-Tmargin>0
Nach Entfaltung und Berücksichtigung von Faktoren wie Taktjitter, Tjitter erhalten wir:
TCYCLE+(TCO_CLKA_MIN-TCO_CLKB_MAX)+ (Tflt_CLKA_MIN-Tflt_CLKB_MAX)-TCO_DATA_MAX-Tflt_DATA_SETTLE_DELAY_MAX-Tjitter-Tsetup-Tmargin>0 (1)
In Formel (1) ist TCYCLE ein Taktzyklus der Uhr; In der ersten Klammer ist die maximale Phasendifferenz zwischen dem Taktchip CLOCK BUFFER Ausgangsuhr CLKA und CLKB, die im Handbuch als Ausgangs-Ausgangsschiefe bezeichnet wird; Es ist die maximale Verzögerungsdifferenz zwischen den beiden Uhren CLKA und CLKB, die vom CLOCK BUFFER Chip ausgegeben werden, um den RECEIVER bzw. den DRIVER zu erreichen.
In Formel (1) bezieht sich TCO_DATA auf das Zeitintervall von der Clock-Triggerung bis zum Erscheinen der Daten am Ausgangsport und Erreichen des Schwellenwerts der Prüfspannung Vmeas (oder VREF) unter bestimmten Prüflast- und Prüfbedingungen. Die Größe von TCO_DATA hängt von der internen Logik des Chips ab. Zeit, Puffer OUTPUT BUFFER Eigenschaften, Ausgangslastbedingungen stehen in direktem Zusammenhang, TCO finden Sie im Chipdatenblatt.
Nach Formel (1) gibt es eigentlich nur zwei einstellbare Teile: Tflt_CLKB_MIN-Tflt_CLKB_MAX und Tflt_DATA_SETTLE_DELAY_MAX. Um die Einrichtungszeit allein zu erfüllen, sollte Tflt_CLKA_MIN so groß wie möglich sein, während Tflt_CLKB_MAX und Tflt_DATA_SETTLE_DELAY_MAX so klein wie möglich sein sollten. Im Wesentlichen ist es erforderlich, dass die Empfangsuhr später kommt und die Daten früher kommen.
1.2 Timing Analyse der Aufbewahrungszeit von Daten
Um die Daten im Gerät erfolgreich zu verriegeln, muss das Datensignal am Eingang des Empfangschips lange genug gültig bleiben, um sicherzustellen, dass das Signal korrekt von der Taktprobe verriegelt wird. Dieser Zeitraum wird als Haltezeit bezeichnet. Im gemeinsamen Taktbus verwendet der empfangende Endpuffer die zweite Taktkante, um die Daten zu sperren, und gleichzeitig sperrt das Fahrerende die nächsten Daten an das sendende Ende. Um die Haltezeit des Empfangsenden einzuhalten, ist es daher notwendig sicherzustellen, dass gültige Daten im Empfangsende Flip-Flop eingerastet werden, bevor das nächste Datensignal eintrifft. Dies setzt voraus, dass die Verzögerung der Empfangsuhr CLKA geringer ist als die Verzögerung des Empfangsdatensignals.
Und die Datenverzögerung:
TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA_SWITCH_DELAY
Wenn Sie die Aufbewahrungsfrist einhalten möchten, benötigen Sie:
TDATA_DELAY_MIN-TCLKA_DELAY_MAX-Thold-Tmargin>0
Erweitern, organisieren und berücksichtigen Sie Faktoren wie Taktjitter Tjitter, die folgende Beziehung kann erhalten werden:
(TCO_CLKB_MIN-TCO_CLKA_MAX)+(Tflt_CLKB_MIN-Tflt_CLKA_MAX)+TCO_DATA_MIN+Tflt_DATA_SWITCH_DELAY_MIN-Thold-Tmargin-Tjitter>0 2
In Formel (2) ist die erste Klammer immer noch die maximale Phasendifferenz zwischen dem Clock Chip CLOCK BUFFER Ausgangstakt; Die zweite Klammer wird weiterhin als die beiden Uhren CLKA und CLKB verstanden, die vom Taktchip ausgegeben werden, erreichen RECEIVER bzw. DRIVER. Um die Datenaufbewahrungszeit zu erfüllen, gibt es nur zwei tatsächlich einstellbare Teile, nämlich Tflt_CLKB_MIN-Tflt_CLKA_MAX und Tflt_DATA_SWITCH_DELAY_MIN. Aus Sicht der Befriedigung der Haltezeit allein sollten Tflt_CLKB_MIN und Tflt_DATA_SWITCH_DELAY_MIN so groß wie möglich und Tflt_CLKA_MAX so klein wie möglich sein. Mit anderen Worten, wenn Sie die Haltezeit einhalten möchten, müssen Sie die empfangende Uhr früh kommen lassen, und die Daten müssen später ungültig sein.
Um Daten korrekt zu erhalten, müssen die Erstellungs- und Haltezeit der Daten umfassend berücksichtigt werden, d.h. sowohl (1) als auch (2) sind gleichzeitig erfüllt. Wenn man diese beiden Ungleichheiten analysiert, kann man sehen, dass es nur drei Möglichkeiten gibt, sich anzupassen: Sendezeitverzögerung, Empfangsverzögerung und Datenverzögerung. Das Einstellungsschema kann wie folgt durchgeführt werden: Zunächst nehmen wir an, dass die Übertragungs-Taktverzögerung genau gleich der Empfangstaktverzögerung ist, d.h. Tflt_CLKA_MIN-Tflt_CLKB_MAX =0 und Tflt_CLKB_MIN-Tflt_CLKA_MAX =0 (die Zeitabweichung, die durch die Annahmen dieser beiden Gleichungen verursacht wird, wird später berücksichtigt) Und dann kann der Datenverzögerungsbereich durch Simulation ermittelt werden. Wenn die Datenverzögerung keine Lösung hat, kehren Sie zu den oben genannten beiden Gleichungen zurück, um die Sende-Clock-Verzögerung oder Empfangs-Clock-Verzögerung anzupassen. Das folgende ist ein Beispiel für die GLINK-Bus-gemeinsame Taktsynchronisationsdatenübertragung und -empfang in einem Breitbandnetzwerkschalter: Zunächst nehmen Sie an, dass die Verzögerung der sendenden Uhr streng gleich der Verzögerung der empfangenden Uhr ist, und bestimmen Sie dann den Verzögerungsbereich der Daten und ersetzen Sie die Parameter, (1) und (2) bzw. wird:
1.5-Tflt_DATA_SETTLE_DELAY_MAX-Tmargin>0
0.5+Tflt_DATA_SWITCH_DELAY_MIN-Tmargin>0
Unter der Ungleichheitsprompt, kombiniert mit der tatsächlichen Leiterplattenlayout, determine Tflt_DATA_SETTLE_DELAY_MAX<1.1;tflt_data_switch_delay_min>-0.1, und die verbleibenden 0.4ns Marge wird der Zeitdifferenz und Tmarge der beiden Uhren zugeordnet. Extrahieren Sie die Topologie in SPECCTRAQUEST und führen Sie Signalintegritätssimulationen durch, um die Linienlänge und Topologie jedes Segments zu bestimmen. Perform full scan simulation on this structure (a total of 12 combinations), und Tflt_DATA_SETTLE_DELAY_MAX=1 erhalten.0825 Tflt_DATA_SWITCH_DELAY_MIN =0.0835004, die die festgelegte 1.1 und
-0.1 Bereichsindex. Daraus lassen sich die Constraint-Regeln der GLINK-Bus-Datenleitung ziehen: 1. Die Verzögerung vom Matching-Widerstand zum Sendende sollte nicht größer als 0.1ns sein;
2. Die Datenzeile muss in 0.1ns abgeglichen werden, d.h. jede Datenzeile muss zwischen 0.65ns und 0.75ns liegen. Mit den obigen Beschränkungsregeln kann die Verdrahtung geführt werden.
Als nächstes betrachten Sie die Auswirkungen der harten Vorschriften "Tflt_CLKA_MIN-Tflt_CLKB_MAX=0 und Tflt_CLKB_MIN-Tflt_CLKA_MAX=0. Beschränken Sie die Sende- und Empfangsuhr auf die gleiche Länge im Voraus (passend zu 0,02ns im tatsächlichen Betrieb). In der CADENCE-Umgebung wird die Taktsimulation durchgeführt, und das Ergebnis ist: |Tflt_CLKA_MIN-Tflt_CLKB_MA Interconnection X Ţ< 0.2 und |tflt_clkb_min-tflt_clka_max% <0.2. p="">
Die endgültigen Simulationsergebnisse sind: 1. Die Verzögerung zwischen dem übereinstimmenden Widerstand und dem sendenden Ende sollte nicht größer als 0.1ns sein; 2. Die Datenleitung wird bei 0.1ns abgeglichen, das heißt, jede Datenleitung muss zwischen 0.65ns und 0.75ns liegen; 3. Sendenuhr und Empfang Die Uhr wird mit gleicher Länge von 0.02ns abgestimmt; 4. Tmargin=0,2ns. Mit den obigen Topologievorlagen und Constraint-Regeln können SPECCTRAQUEST oder ALLEGRO in CONSTRAINS MANAGER importiert werden. Nachdem diese Regeln für Designbeschränkungen eingerichtet wurden, können Sie den Auto-Router für regelgesteuerte automatische Verdrahtung oder manuelle Leitungsanpassung verwenden.
2 Source Synchronisation Timing Relationship und Simulationsbeispiele
Die sogenannte Quellsynchronisation bedeutet, dass das Clock Gating Signal CLK vom Antriebschip zusammen mit den Sendedaten gesendet wird und keine unabhängige Taktquelle wie die gemeinsame Taktsynchronisation verwendet. Bei der quellensynchronen Datenübertragung und -empfang werden die Daten zuerst an das empfangende Ende gesendet und dann nach kurzer Zeit an das empfangende Ende gesendet, um die Uhr zum Abtasten und Verriegeln dieser Datenmenge zu gaten. Das schematische Diagramm ist in Abbildung 2 dargestellt. Die Zeitanalyse der Quellsynchronisation ist einfacher als die der öffentlichen Taktsynchronisation, und die Analysemethode ist sehr ähnlich. Die Analyseformel ist direkt unten angegeben:
Einrichtungszeit: Tvb_min+(Tflt_clk_min-Tflt_data_settle_delay_max)-Tsetup-Tmargin>0
Haltezeit: Tva_min+(Tflt_data_switch_delay min-Tflt_clk _max)-Thold-Tmargin>0
Unter ihnen ist Tvb die Einrichtungszeit des Treibers, die angibt, wie lange die Treiberdaten gültig sind, bevor die Uhr gültig ist; Tva ist die Haltezeit des Absenders, die angibt, wann die Fahrerdaten gültig bleiben, nachdem die Uhr gültig ist; Andere Parameter haben die gleiche Bedeutung wie zuvor. Nehmen Sie nun die sehr verbreitete TBI-Schnittstelle in der Kommunikationsschaltung als Beispiel, um die Quellsynchronisationszeitanalyse und den Simulationsprozess einzuführen. TBI-Schnittstelle umfasst hauptsächlich Senden von Takt- und 10Bit-Sendedaten, zwei Empfangsuhren und 10Bit-Empfangsdaten. RBC0 und RBC1 sind zwei Empfangsuhren. In Gigabit Ethernet haben diese beiden Uhren eine Frequenz von 62,5MHz und eine Differenz von 180°. Die aufsteigenden Kanten der beiden Uhren werden wiederum verwendet, um Daten zu verriegeln. Entsprechend den Zeitparametern des Datenblatts kann die obige Formel ersetzt werden:
2.5+ Tflt_clk _min-Tflt_data__settle_delay_max -1-Tmargin>0
1.5+ Tflt_data__switch_delay min-Tflt_clk _max -0.5-Tmargin>0
Nachahmen der oben genannten Analysemethode: Angenommen, dass die Flugzeit der Uhr und der Datensignalleitungen streng gleich sind, das heißt, die Uhr und die Daten sind vollständig aufeinander abgestimmt, und analysieren Sie dann die Auswirkungen ihrer Fehlübereinstimmung. Die obige Formel wird
1,5-Tmarge>0
1-Tmarge>0
Es ist zu sehen, dass es sowohl für die Einrichtungszeit als auch für die Haltezeit einen großen Spielraum gibt. Nach der Simulation wird festgestellt, dass die Daten und die Uhr genau die gleiche Länge haben (nehmen Sie 0,02ns Matching als Beispiel), und es gibt immer noch eine 0,3ns Differenz, das heißt,
Tflt_clk_min-Tflt_data_settle_delay_max <0.3< p="">
Tflt_data_switch_delay min-Tflt_clk_max <0.3< p="">
Nehmen Sie Tmargin=0.5ns, um die Übereinstimmung zwischen der Uhr und den Daten als 0.2ns zu erhalten, das heißt, die Längenanpassung zwischen den Daten und der Uhr sollte 0.2ns nicht überschreiten.
In der tatsächlichen Simulation wird die Signalintegrität der Uhr und der Daten zuerst analysiert und simuliert, und eine besser empfangene Wellenform kann durch ordnungsgemäßes Beendigungsabgleich erhalten werden. Abbildung 3 ist ein Satz verschiedener Simulationswellenformvergleiche von passiven Endabstimmungen und aktiven Endabstimmungstaktlinien, aus denen ersichtlich ist, dass die Signalintegritätssimulation zuerst notwendig ist.
In der gemeinsamen Taktsynchronisation, Datenübertragung und Empfang müssen innerhalb eines Taktzyklus abgeschlossen werden. Zur gleichen Zeit, die Verzögerung der Vorrichtung und die Verzögerung der PCB Spuren begrenzen auch die maximale theoretische Betriebsfrequenz des gemeinsamen Taktbusses. Daher, Gemeinsame Taktsynchronisierung wird im Allgemeinen für Übertragungsraten unter 200MHz bis 300MHz verwendet. Für Getriebe höher als diese Rate, Quellensynchronisationstechnologie sollte generell eingeführt werden. Source Synchronisation Technologie funktioniert in einem relativen Taktsystem, Daten- und Taktparallele Übertragung, Die Übertragungsrate wird hauptsächlich durch die Zeitdifferenz zwischen den Daten und dem Taktsignal bestimmt, damit das System eine höhere Übertragungsrate erreichen kann. Durch die Analyse der Signalintegrität, Timing-Analyse und Simulation des Breitband-Ethernet-Switch-Hosts und der Tochterkarte, der Autor verkürzt die Design Zyklus des Produkts, und löst effektiv die Signalintegrität, Timing und andere Aspekte der Hochgeschwindigkeit Design durch Analyse und Simulation. Das Problem, die die Design Qualität und Design speed, erreicht wirklich einen einzigen Durchgang der Leiterplatte. Die Hauptplatine und die Tochterkartenplatte wurden debugged und erfolgreich in die Produktion übertragen.