Langfristiges Jitter-Problem der LPDDR2-Uhr

Ich habe ein Problem mit der kumulativen Fehlermessung der LPDDR2-Taktperiode tERR (11-50per), aber kürzere Längenmessungen sind mit einem gewissen Spielraum in Ordnung. Ich suche nach einer Ursache oder Tipps, um dieses Problem zu verstehen oder zu beheben.

Hier ist eine Zusammenfassung des Qualifikationstests:

Zusammenfassung des Eignungstests

Ich habe an diesem 333,33-MHz-LPDDR2-Taktsignal über einen langen Zeitraum (10 µs) eine zusätzliche TIE-Messung (Time Interval Error, kumulativer Jitter-Fehler) durchgeführt:

Geben Sie hier die Bildbeschreibung ein

Was ich aus dem TIE-Zeittrend verstehe, ist, dass Jitter in kurzen Intervallen in Ordnung sein kann, aber in längeren Zeiträumen fehlschlagen kann, da wir einige schnelle Schwankungen haben.

Hier ist das Layout dieser Differenzuhr (100µm/200µm/100µm; 33 mm lang):

Layout

Der Taktausgang des FPGA-Speichercontrollers befindet sich auf der linken Seite und LPDDR2 auf der rechten Seite. In der Mitte geht die Uhr unter einen Flash-Speicherchip, der nur beim Start verwendet wird, aber immer noch mit Strom versorgt wird.

Meine Vermutungen sind:

  • Flash-Speicher ändern die Impedanz und verringern die Signalqualität aufgrund von Übersprechen durch Strahlungsleistung.
  • Die beiden Durchkontaktierungen auf der linken Seite, die das Paar nicht differentiell machen, verringern auch die Signalqualität, was zu langfristigem Jitter führt.
  • Jitter aufgrund des Speichercontrollers

Wenn Sie eine Ahnung haben, um dieses Problem zu verstehen, wäre es sehr hilfreich.

Bearbeiten 1:

Nahaufnahme des Taktsignals am LPDDR2-Chip. Dies ist ein PoP-Paket.

Geben Sie hier die Bildbeschreibung ein

Bearbeiten 2: Uhrerfassung

Geben Sie hier die Bildbeschreibung ein

Bearbeiten 3:

Wahrscheinlicher Grund, warum der Jitter im Laufe der Zeit stark abfällt. Kann mit Software zusammenhängen, die RAM-Tests ausführt.

Geben Sie hier die Bildbeschreibung ein

Antworten (2)

Gibt es eine Möglichkeit, Ihr FPGA-Design so zu ändern, dass der Takt für den Speicher auf Pads an der Peripherie des BGA-Pin-Felds ausgegeben wird? Wenn dies der Fall ist, eröffnen Sie die Möglichkeit, ein viel besseres differenzielles Routing des Takts auf der FPGA-Seite zu erhalten.

Sie sollten auch das Via-Paar neu bewerten, das in Ihrem Layout am Speicherende des Diff-Paares angezeigt wird. Die Via-Platzierung bzw. das Routing dort ist nicht ausbalanciert.

Schließlich sollten Sie sich genau ansehen, worüber und neben was die Diff-Traces geroutet werden. Es sieht so aus, als hätten Sie möglicherweise einen Kupferguss in der Nähe, der eine Kantenrandkopplung mit einem der Diff-Paar-Leiter haben könnte. Idealerweise würden dieser Takt und alle anderen Speichersteuersignale als Satz direkt über eine GND-Ebene ohne Ebenenteilungskreuzungen oder parallele Ebenenkanten in der Nähe geleitet.

Der Speichercontroller ist ein Festspeichercontroller mit festen Pins, sodass es nicht möglich ist, die Taktausgangspins zu ändern. Ich suche nach der Möglichkeit, zwei Vias auf der linken Seite zu entfernen, um die differenzielle Signalisierung zu verbessern. Ich könnte die Länge des rechten Seitenpaars etwas erhöhen, um eine engere Längenübereinstimmung zu erzielen, aber ich bin innerhalb der Spezifikationen. Kupferguss in der Nähe ist GND, aber ja, es kann eine Ursache sein, da nur eine Isolierung von 150 µm vorhanden ist. Ich habe ein neues Layout, also werde ich GND auf Diff-Paar-Isolation erhöhen. Schließlich ist dies die TOP-Schicht und die Schicht 2 ist GND, sodass keine Layout-Regeln für die Hochgeschwindigkeitssignalisierung eingehalten werden.
@zeqL - Du kämpfst gegen ein Problem und solltest dich bemühen, alles so perfekt wie möglich zu machen. Zu sagen, dass „ich mich innerhalb der Spezifikationen befinde“, ist möglicherweise nicht gut genug. Die Vias auf der rechten Seite sollten so nah wie möglich beieinander liegen.
Was ich mit "innerhalb der Spezifikationen" meinte, war die Länge der Taktspur. Die CKp / CKn-Differenz beträgt 500 µm, was etwa 3-4 ps Versatz bedeutet. Meine gesamte automatische LPDDR2-Qualifizierung ist in Ordnung, aber dieses tERR (11-50ps), also frage ich mich, was einen langfristigen Jitter verursachen kann. Die GND-Form in der Nähe des Diff scheint ein guter Kandidat zu sein. Auch dies ist ein sehr haariges Projekt, da wir nicht viel Platz zum Verlegen haben. Ich habe meine Frage mit einem zusätzlichen Screenshot des Layouts bearbeitet. Sie werden sehen, dass ich nur eine geringfügige Verbesserung vornehmen kann, und dies wird getan, wenn ich kann (Isolationsregeln).
@zeqL - In meinem Buch ist der Abgleich über Symmetrie auf Diff-Spuren sehr wichtig. Durchkontaktierungen stellen einen Wendepunkt der Impedanz dar, und ein Ungleichgewicht zeigt in den beiden Spuren ein unterschiedliches Verhalten.
Ich weiß, und auch in meinem Buch ist es wichtig (Eric Bogatins Buch ist mein Nachttischbuch), aber die Theorie und das, was Sie in der Praxis tun können, sind nicht dasselbe. Ich werde sehen, ob ich die linke Seite symmetrisch machen kann, aber ich muss die DFM-Regeln befolgen. Ich habe eine Taktsignalerfassung hinzugefügt, die an LPDDR2-Durchkontaktierungen (nicht symmetrische) aufgenommen wurde.
Ich habe versucht, etwas Symmetrisches zu machen, leider führt dies dazu, dass ich das 1V2-Via unter dem CK-Signal lösche und eine 80-µm-Spur vom oberen Via verwende, um 1V2 der Paketkugel zuzuführen. Und ich habe nicht die Zeit, die Uhr umzuleiten und die LPDDR2-Gruppe anzusprechen. Trotzdem werde ich dafür sorgen, dass das rechte Via dann symmetrischer wird (gleiche Länge auf der Unterseite).

Besorgen Sie sich eine FET-Sonde, sogar eine differenzielle FET-Sonde, und untersuchen Sie das SPEKTRUM des LVDS-Takts auf einem Spektrumanalysator. Ich sehe einige Beatnotes auf der Clock-Wellenform, bei denen unerwünschte Energie den Mittelpunkt der ansteigenden Flanken früher oder später verschoben hat.

Langfristiger Jitter entsteht durch gelegentliches Eintreffen von Angreiferenergie. Suchen Sie nach Beatnotes. Etwas verursacht Phasenmodulation. Aber das weißt du ja schon.

An einen Spektrumanalysator habe ich noch nicht gedacht. Ich habe einige Aufnahmen gemacht, aber nichts Offensichtliches (ich habe eine Diff-Sonde mit der Spektrumanalysator-Software des Oszilloskops verwendet). Aber ich habe eine lange Zeit des Taktsignals erfasst und ich denke, das Problem kann auch softwarebezogen sein, ich muss einige Tests durchführen, um es zu bestätigen. Ich habe eine Aufnahme im Hauptposten (Bearbeitung 3) hinzugefügt, und Sie können sehen, dass die Hochpegelspannung für einige Zeit etwa 150 mV beträgt. Dies kann also einen großen Rückgang des Jitter-Zeittrends erklären.