PCIE-Referenzuhr

Ich habe kürzlich ein PCI-E-Gen-1.0-Linecard-Design fertiggestellt. Die Linecard bestand aus 4 Spartan 6 FPGAs, die sich einen PCIE-Referenztakt teilten. Schon früh im Design wurde entschieden, ausschließlich die PCIE-Referenzuhr zu verwenden, um die gesamte interne Logik von dieser PCIE-Referenzuhr zu takten, und daher wurde kein On-Board-Quarz verwendet. Die FPGAs haben eine Schnittstelle zu einer Reihe von Servos auf der anderen Seite über eine 10/100-MBS-Schnittstelle und die FPGAs verwendeten das DCM, um den PCIE-Referenztakt auf 25 MHz zu teilen, und wurden für die MII- und die PHY-Schnittstelle verwendet. Es gab viele gültige Empfangsdatenfehler auf der PHY-Schnittstelle, die dem PCIE-Referenztakt und seinem inhärenten Jitter von 30 kHz bis 33 kHz (Spreizspektrummodulation) zugeschrieben wurden. Wir haben uns entschieden, die SSC-Funktion in der Host-Software zu deaktivieren, und wir sehen den Empfangsfehler nicht mehr und die Dinge sind wieder normal. Ich wollte fragen und sehen, ob andere andere Erfahrungen mit der Verwendung des PCIE-Ref-Takts zum Takten der gesamten FPGA-Logik einschließlich der 25-MHz-PHY-Schnittstelle gemacht haben. Ich hatte den Eindruck, dass das DCM des FPGA den PCI-Referenztakt bereinigen würde, nachdem er in das PCIE-MGT-Hard-Makro gelangt ist, bevor er heruntergeteilt wurde. Dies ist mein erstes FPGA-Design und würde mich daher über einige Einblicke freuen.

Was war die Datenblattspezifikation für den erforderlichen Eingangstakt? Welche Phy verwendest du? In meinem letzten Design habe ich mich dafür entschieden, einen Oszillator speziell für die Ethernet-Physik auf die Platine zu setzen, weil das FPGA DCM/PLL die Taktjitter-Spezifikation nicht erfüllen würde.
@stacey, Der PHY ist DP83849 und die Jitter-Spezifikation für den TX-Referenztakt beträgt 1,4 nS. Das FPGA Max Eingangstaktperioden-Jitter 1 ns max. Ich denke, das DCM im FPGA kann hochfrequenten deterministischen Jitter von bis zu 1 nS berücksichtigen. Aber ich sehe keine dokumentierten Beweise dafür, dass es eine Uhr verfolgt, die absichtlich in Schritten von 30 bis 33 kHz wandert. Wie ich bereits erwähnt habe, sind die Dinge jetzt besser, da wir die Spread-Spectrum-Funktionalität ausgeschaltet haben und der Takt auf 100 MHz +/- 300 PPM festgelegt ist.

Antworten (1)

Alles, was ein DCM tun kann, ist Jitter hinzuzufügen - es ist eine angezapfte Verzögerungsleitung, sodass der Ausgangstakt zittern kann, wenn sich die Abgriffe ändern. Und aus dem gleichen Grund kann es keinen Jitter entfernen, der bereits vorhanden ist.

Wenn Sie das Taktsignal "aufräumen" möchten, müssen Sie eine PLL verwenden - prüfen Sie im Datenblatt, ob die FPGA-PLLs mit dem Spread-Spectrum-PCIe-Takt zurechtkommen. Oder verwenden Sie ein dediziertes Taktreinigungs-PLL-Gerät.