Edge-ausgerichtete Source-synchrone Ausgänge

Geben Sie hier die Bildbeschreibung ein

Dies ist ein grundlegendes Blockdiagramm der quellsynchronen Schnittstelle, die ich im Altera-Dokument gefunden habe.

Hier

So sieht die flankenausgerichtete quellensynchrone Ausgabe aus.

Geben Sie hier die Bildbeschreibung ein

Sie sagen, dass der Empfänger die Uhr verschiebt, um die Setup-and-Hold-Anforderung zu erfüllen. Ich denke also, dass die Taktflanke, die mit den Daten ausgerichtet gesendet wird, die Verriegelungsflanke oder die nächste Taktflanke ist. NICHT der Edge, mit dem dieselben Daten gestartet wurden. Ha, aber das Diagramm von altera (zunächst) sieht so aus, als würde es die gleiche Startkante senden, die mit den Daten ausgerichtet ist.

Dann habe ich noch eine Aussage gefunden.

Geben Sie hier die Bildbeschreibung ein

"Quellsynchrone Schnittstellen weisen oft ein unterschiedliches Verhalten auf. Daten können von derselben Kante zwischengespeichert werden, die sie startet."

Wie ist das möglich. Ist das nicht eine Hold-Verletzung? Ich bin verwirrt, an welcher Taktflanke Flankenausrichtung mit Daten gesendet wird. Ist es die gleiche Startkante oder die nächste Verriegelungskante?

Abb. 1 und Abb. 2 im Altera-Dokument sind im Grunde nicht kompatibel, und ich denke, das führt zu Verwirrung. Bild 1 muss für jedes Datenbit einen Takt erzeugen und das lässt Bild 2 dann blöd aussehen.
Einige Geräte haben keine (oder sogar negative) Haltezeitanforderungen.
Ja, wenn der Skew im Vergleich zum Startflop negativ ist, ist die Haltezeit für den Capturing-Flop negativ. Aber es liegt immer noch keine Halteverletzung vor, da sichergestellt ist, dass die Daten in der nächsten Taktflanke erfasst werden. Hier sagen sie, dass die Fangkante dieselbe sein kann wie die Startkante.

Antworten (2)

Bei systemsynchronen Schnittstellen ist dies tatsächlich eine Halteverletzung, cz normalerweise möchten wir, dass alles NUR bei der nächsten Taktflanke erfasst wird.

Bei flankenausgerichteten, quellensynchronen Schnittstellen wird der Takt regeneriert und dem Empfänger zusammen mit den Daten mit minimalem Versatz von Zeile zu Zeile zugeführt.

Ein Beispiel aus demselben Dokument:

Geben Sie hier die Bildbeschreibung ein

Die Startuhr und die Einfanguhren sind daher zwei Taktdomänen. Ob Setup/Hold verletzt wurde oder nicht, hängt davon ab, was unser wünschenswerter Betrieb in dieser Schaltung ist.

Hier besteht unsere gewünschte Operation darin, die Daten in derselben Taktflanke zu erfassen, die zusammen mit den Daten übertragen wird. Daher wird unsere Setup-Prüfung zwischen den GLEICHEN Flanken sein und die Halteprüfung wird zwischen der Startflanke und der Clock-Flanke VOR ihr sein. Aber standardmäßig überprüft der Timing-Analysator das Setup und hält jeweils zwischen der nächsten und derselben Flanke. Also teilen wir unsere Anforderung dem Timing-Analysator mit Multipath Constraint mit:

Geben Sie hier die Bildbeschreibung ein

Zeitbeschränkungen können für synchrone Quellen komplex sein. Die Dokumente scheinen jeden Aspekt gut abzudecken.

Einige Einheiten wie DDR-Speicher verwenden beide Flanken des Takts, um schneller auf Daten zuzugreifen, indem sie Takte invertieren und aus zwei Registern multiplexen, um den Durchsatz zu maximieren.

Unabhängig davon, ob es sich um Double Data Rate oder Single-Edge-Taktspeicher handelt, wie z. B. ein einfaches synchrones Bus-Latch, die Sync-Eigenschaften sind immer in der Spezifikation angegeben . und definiert durch aktive Flanke, Latenz, Setup- und Haltezeit.