Woher weiß ich, ob die Verwendung eines dedizierten FPGA-Takteingangs für einen PLL-Pin für mein Design schlecht ist?

PLLs sind harte Blöcke in Silizium. Sie sind mit bestimmten Pins für ihren Takteingang verbunden und treiben bestimmte Pins für den Taktausgang an. Es ist möglich, dass wir einen "nicht dedizierten" Pin für den Takteingang/-ausgang der PLL wählen. Wenn wir "nicht dedizierte" Pins wählen, soll der Monteur Routing-Ressourcen verwenden, um den Pin zur PLL zu leiten.

Ich kann sehen, dass Quartus eine Warnung generiert, wenn wir keinen dedizierten Clock-Pin für die Ein- oder Ausgabe verwenden. Die Meldung besagt normalerweise, dass die Jitter-Leistung schlechter sein wird. Es ist nicht klar, ob dies ein tatsächliches Problem ist.

In diesem Fall wird ein DDR3-Speichercontroller vom Taktsignal gespeist. Woher weiß ich, ob ich mit der Verwendung eines nicht dedizierten Taktstifts für den Takt durchkommen kann, der von der internen PLL des Speichercontrollers verwendet wird?

Sie beginnen damit, die Jitter-Quellen in Ihrem System und Ihre Timing-Anforderungen zu definieren – Setup, Haltezeit usw. Gegen die Empfehlung des Tool-Anbieters für eine Taktquelle für DDR3 zu verstoßen, klingt nach einer Übung in Frustration und Schmerz.
Ich würde sagen, verwenden Sie einfach immer die dedizierten Pins. Was kostet Sie das? Wenn Sie diese Pins nicht für Ihren Takteingang verwenden, können Sie sie (in den Teilen, mit denen ich vertraut bin) nicht für allgemeine E / A verwenden.

Antworten (1)

Angenommen, der Router führt diesen Referenztakteingang neben einigen 2,5-Volt-FPGA-Signalen aus, die in 50 Picosekunden übergehen, und der Parallelabstand beträgt 1 mm und die Trennung 1 Mikrometer. Angenommen, die Dielektrizitätskonstante Er ist 5.

Der Referenztakt sei 10 MHz mit Flanken von 1 Nanosekunde und auch 2,5 Volt Schwingung.

Wie viel Jitter wird erzeugt? Oder eine andere Denkweise, wie viel Timing-Störung beim Nulldurchgang des 10-MHz-Eingangs auftreten wird. Angenommen, die Eingangstaktleitung hat eine Gesamtkapazität von 10 pF.

Wir berechnen einfach die Kopplungskapazität zwischen den 2,5-V-50-Pikosekunden-Logiksignalen und dem 10-MHz-Takt mit seinen 10 pF, indem wir die beiden Reihenkondensatoren als Spannungsteiler modellieren.

Erstens: Wie groß ist die Kapazität? Verwenden Sie das Modell mit parallelen Platten, nehmen Sie an, dass die Platten 1 mm x 1 Mikrometer groß sind und der Plattenabstand ebenfalls 1 Mikrometer beträgt. C = Eo * Er * Fläche/Entfernung. Wir haben uns entschieden, jegliche Fransen zu ignorieren.

C = 9 e-12pF/Meter * 5Er * (1 Millimeter * 1u)/1u

C = 45 * 1e-12 * 1e-3 = 45 femtoFarad = 0,045 pF

Das Spannungsteilungsverhältnis beträgt 0,045 pf / 10 pF oder 1/222.

Die Störspannung am Nulldurchgang beträgt 2,5 V/222 ~~ 10 Millivolt.

Mit Tjitter = Vnoise / SlewRate haben wir

Tj = 0,01 Volt / 2,5 V pro 1 nS = 1 nS * 0,01 V/2,5 = 1 nS * 1/250

Tj = 4 Pikosekunden

Ist 4 Picosekunden deterministischer Jitter ein Problem?

Das ist eine interessante Reihe von Annahmen, die Sie getroffen haben, um eine Zahl auswählen zu können. Basiert dies auf veröffentlichten Informationen oder ist es eher eine Vermutung zum internen Betrieb?
Ich habe Tj = Vnoise / SlewRate über eine breite Palette von Schaltungen und Frequenzen verwendet, was natürlich Spreizschaltungen, Systeme und HF-Probleme erfordert, um Phasenrauschen für eine Reihe von Situationen auf etwa 3 dB vorherzusagen. Sobald die winzige Tabelle, die ich zusammengeschustert habe, anzeigte, dass wir Glück hatten, die Phasenrauschspezifikation erfüllt zu haben (aber wir haben zur Überraschung aller, außer mir, Monate damit verbracht, über Energieprobleme hinter Phasenrauschen nachzudenken.) Die nächste Schicht der Zwiebel war der ECL-CMOS-Konverter zwischen LO und dem fracN. Und ja, es gibt keine veröffentlichten Informationen, die ich hier verwendet habe; nur jahrzehntelange Silizium-Fähigkeiten.
@ W5VO Bist du mit der Methode und der Denkweise einverstanden? Denken Sie daran, dass dies deterministisch und nicht zufällig ist; die Bandbreite der PLL-Schleife kann den multiplizierten Jitter stark verändern. Denken Sie daran, dass ich 10 pF auf der Eingangstaktleitung angenommen habe. Wenn diese Leitung in der Nähe des Eingangspads (möglicherweise mit einem Low-Noise-Schmidt) mit hohem Ausgangswiderstand gepuffert wird, ist das On-Chip-Signal sehr anfällig für Flanken-Timing-Störungen von fast 50-pS-Flanken. In meinen Annahmen sind die 10 pF das, was den Tag rettet, ebenso wie die Taktflanke von 2,5 Volt / 1 nS. Der typische 10-MHz-XTAL-Oszillator mit 2 Vpp-Sinus und nur 63 V/uS Flanke ist sehr anfällig.
Ich denke, Sie nehmen viel über die interne Struktur des FPGA an, und ich würde wetten, dass viele dieser Annahmen falsch sind. Während die vom Angreifer verursachte Jitter-Berechnung korrekt aussieht, ist es auch nicht klar, ob dies die dominierende Jitterquelle ist oder wie dies im Vergleich zur Verwendung des richtigen Clock-Pins ist. Ausgehend von diesen Unsicherheiten ist die Autorität Ihres "Ist 4ps Jitter ein Problem?" scheint fehl am Platz.
Dennoch sind alle Annahmen dargelegt, die Mathematik ausgearbeitet und der Leser weiß jetzt, wie man fischt
Aber ohne eine Möglichkeit, alle Parameter richtig zu schätzen, sind Sie wieder bei Null. Ich könnte Werte finden, die um +/- eine Größenordnung variieren.
Ich stimme zu. Sollten wir für die Spur-zu-Spur-Kopplung ein Draht-Draht-Modell anstelle des Parallelplattenmodells verwenden? Es stellt sich heraus, dass die unzähligen Metalle in einem dichten Durcheinander von Metallisierungen ein Universum ungültig machen, das außer den beiden Drähten im Draht-Draht-Modell leer ist, sodass das kapazitive Modell mit parallelen Platten eine feine Schätzung liefert. Die SlewRate könnte auch genauer sein, aber da die SlewRate stark variieren wird, einschließlich mit Temperatur und VDD (stark) und Doping und Cload, warum nicht 50 Picosekunden verwenden. Ich biete noch einmal an: Der Leser kann jetzt fischen. Alle Schritte, alle Annäherungen liegen auf dem Tisch.
Ich stimme @analogsustemsrf zu. Hinzu kommt, dass einige FPGAs über Fastpath-Pins verfügen, an denen Nicht-Takt-Pins mit geringer Verzögerung und geringem Jitter zu Taktnetzen geroutet werden können. Welches Gerät / Paket verwenden Sie?
Siehe Kommentar zu Fastpath. Dedizierte Taktstifte sind am besten, aber manchmal können auch andere verwendet werden. Ich habe an einem DDR-Controller gearbeitet, bei dem der Chipdesigner strenge Regeln für den Kerntakt festgelegt hatte (wegen DDR3 und 10G-Ethernet), nur um ihn dann auf einem unsymmetrischen Taktsignalweg in Richtung der Mitte des riesigen BGA-Gehäuses zu verbinden. Es war unmöglich, auf diesem Weg einen jitterarmen 166-MHz-Takt zu bekommen (sie teilten ihren Fehler mit, als ich ihnen die dBc-Plots zeigte). Glücklicherweise funktionierte der DDR3 jedoch aufgrund seiner Selbstkalibrierung immer noch einwandfrei. Die Augendiagramme übertrafen trotz des schlechten Takts die Spezifikation.