Stabilität von DCM/PLL-Takten in FPGAs

Gast #2789462
Ich muss ein DDR3-Interfac bauen und bin mir unschlüssig, wie es mit der 
Taktversorgung aussieht. Laut einigen verbalen Quellen soll es mitunter 
ungünstig sein, von einem niedrigen OSC-Takt hochzutakten, um auf die 
benötigte Frequenz zu kommen.

Kann da jemand der Experten etwas dazu sagen?

Wer hat ein DDR-Interfac betriebsfähig vorzuweisen und einen gering 
taktenden OSZ (<33 MHz) angeschlossen?

Ich muss "hoch" auf 667.
Gast #2789554
Gehts hier um Xilinx?

Weiß zumindest nicht wie es bei anderen aussieht, aber Xilinx empfiehlt 
grundsätzlich gar keine DCM bei DDR2. DDR3 sollte wohl nicht einfacher 
sein.

Musste das leidlich erfahren: mit 50mhz -> dcm -> 200mhz für ddr2 hat 
nicht funktioniert, Synchronisierung war nicht in den Griff zu kriegen. 
Mit dem Tausch auf einen dedizierten 200mhz clock aus einer externen pll 
lief es dann auf Anhieb.
Gast #2789664
Hi,

ich habe diesen Monat jeweils eine MIG-Componente (unter 14.1)
für Virtex4 und Virtex5 implementiert:

Virtex4 von 50MHz nach 100MHz (per progbaren Board-Oszilator)
und 100MHz nach 166MHz (per DCM), 100 nach 200MHz (per DCM) für
den Delay-Controller:  klappt problemlos.
(Sogar das Übertakten des 166-DDR auf 200MHz läuft längere
Zeit stabil).

Virtex5 von 100MHz nach 200MHz (per DCM): klappt ebenfalls
problemlos.

Zu Beginn hatte ich jeweils Probleme mit den ansteuernden
Komponenten aussenrum (FSMs waren zu langsam, wurden dann
aber optimiert, dann liefs ohne Probleme)


Verwendet wurde jeweils ein Digilent/Virtex4 und ein
NuHorizon/Virtex5-Demoboard.


Auf meinem alten Spartan3E-Board hatte ich mal per DCM
50MHz=>133MHz (oder 166MHz??, weiss nicht mehr was auf
dem Board verbaut ist). lief ebenfalls problemlos.


Kleiner 50MHz (z.B. 33MHz): habe leider kein Board
mit kleiner 50MHz, meisst nur 100MHz oder grösser.


Vieleicht hilft ja das Anlegen eines eigenen Bausteins
unter MIG, dann kann man alle Parameter ein wenig
relaxter gestalten. Manchmal hilft z.B. auf statt
SSTL2_II SSTL2_I (wird bei meinen V4-Board empfohlen).

Gruss

Sigi
Gast #2789924
Sigi schrieb:
> Ich habe
Danke schon mal für Deine Ausführungen.

> Kleiner 50MHz (z.B. 33MHz): habe leider kein Board
> mit kleiner 50MHz, meisst nur 100MHz oder grösser.
ok, so wurde es auch von einem FAE empfohlen.

> Vieleicht hilft ja das Anlegen eines eigenen Bausteins
> unter MIG,
Was meinst Du damit?
Gast #2790113
>> Vieleicht hilft ja das Anlegen eines eigenen Bausteins
>> unter MIG,
>Was meinst Du damit?

Zuerst muss in MIG der SDRAM-Typ angegeben werden. Auf
der nächsten Seite wird dann eine Liste von Bausteinen
angezeigt. Ist der Gewünschte nicht darunter, kann ein
eigener Baustein angelegt werden (dazu: Alle Timing
Parameter raussuchen und in die Tabelle eintragen).
Gast #2790149
Meine Erfahrungen gehen bis 200MHz x2, daher kann ich das nicht 
verbindlich sagen.

Meines Erachtens ist es unproblematisch von z.B. 50 MHz per Faktor 4 auf 
200 hochzugehen, aber ein DDR3-Controller braucht die Signale so genau, 
dass er bis zu 1366 MHz Datentakt erzeugen kann. Soweit ich weiss, zieht 
sich der MIG das intern per eigener PLL auf die benötigte Frequenz hoch. 
Angenommen man fährt das DDR mit 233MHz, braucht er einen Takt von 933. 
Ich kann mir kaum vorstellen, dass man da mit 66 MHz und einem krummen 
Faktor hinkommt. Letztlich bedeutet das mehr Jitter in der Clock und 
somit weniger Timing Reserve.
Gast #2809463
Von den PLLs darf man nicht zuviel erwarten. Sieh Dir mal die 
Spezifikation des Jitters in dem VDL-wrapper der DCMs / PLLs an, die der 
Coregen erzeugt. Ausgehend von einem Eingangstakt von 50MHz ergibt sich 
bei einem Spartan schon ein ppJitter von +/- 300ns.

Bei den 200 MHz x 4 stehen nur 1.25ns/2 = 620 ps zur Verfügung. Der 
Jitter liegt da schon im Bereich des theoretischen Auges.
Gast #2817593
Ich empfehle in jedem Fall eine dual ended source. Single ended 
produziert statistisch im Schnitt 40% mehr jitter, wegen der Wurzel 2 - 
Beziehung - je nach Qualität des Layouts und was da so reinspukt oder 
bounced.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.