Forum: FPGA, VHDL & Co. Fragen zu PLL und DCM


von Stefan M. (hioctane)


Lesenswert?

Hallo,
ich habe ein paar Verständnisfragen zu DCM unter Xilinx.

Ich habe in meinerm Projekt eine DCM Modul generiert mit dem ich aus 
einem Referenztakt verschieden andere Takte ableiten kann. Soweit alles 
klar.

An die IOs des DCM Bausteins kommen allerdings noch Buffer. Welche 
Aufgabe haben die genau?

Des Weiteren ist mir der Unterschied zwischen diesem DCM Modul und einer 
PLL nicht ganz klar. Machen die nicht beide das gleich?

Gruß Stefan

von Klaus F. (kfalser)


Lesenswert?

Stefan M. schrieb:
> An die IOs des DCM Bausteins kommen allerdings noch Buffer. Welche
> Aufgabe haben die genau?

Innerhalb eines FPGAs werden Taktsignale über spezielle, schnelle 
Leitungen (Netze) verteilt. Taktsignale gehen meist an viele FFs, sind 
also stark belastet und werden deshalb hardwaremäßig anders realisiert 
als normale Verbindungsleitungen.
Diese Buffer sind die Schnittstelle zwischen DCM und so einem Taktnetz.
>
> Des Weiteren ist mir der Unterschied zwischen diesem DCM Modul und einer
> PLL nicht ganz klar. Machen die nicht beide das gleich?
Eine PLL funktioniert analog, eine DCM digital.

von Stefan M. (hioctane)


Lesenswert?

Ist das DCM Modul denn speziell nur von Xilinx oder gibts das auch von 
anderen Herstellern?

von Klaus F. (kfalser)


Lesenswert?

Unter dem Namen DCM gibt es dies meines Wissens nach nur bei Xilinx.
Jeder Hersteller fährt wahrscheinlich aus patentrechlichen Gründen mit 
einem eigenem Namen.
Obwohl alle Hersteller so etwas ähliches haben, so ist genau dies einer 
der Punkte, die eine Design nichtportabel machen. Bei jedem Hersteller 
ist die Instanzierung unterschiedlich, man benötigt unterschiedliche 
Bausteine, Parameter, hat unterschiedliche Ausgänge usw.

von Peter (Gast)


Lesenswert?

Bei DCMs muss man aufpassen: Die kann man teilweise auf krumme Mul/Div 
hin parametrieren und der CoreGen gibt einem die gewünschte Frequenz 
auch an, aber das verkrüppelte Xilinx baut nicht das, was es vorgibt.

von J. S. (engineer) Benutzerseite


Lesenswert?

>aber das verkrüppelte Xilinx baut nicht das, was es vorgibt.
Klar, es baut das, was DU vorgibst :-)

>Diese Buffer sind die Schnittstelle zwischen DCM und so einem Taktnetz.
Was benutzt er eigentlich, wenn man keine Buffer instanziiert? Er MUSS 
doch an die FF-Eingänge und die sind hw-mäßig von Clock-Netzen her 
verdrahtet.

Bei Xilinx ist das sowieo lustig: Ich habe es mal erlebt, daß er 
komplett wirre Taktnetze gebaut hat, nur weil man es sich er laubt hat, 
mit einem "Nebentakt" ohne DDR auf einen Pin zu gehen.

von Christian R. (supachris)


Lesenswert?

J. S. schrieb:

>>Diese Buffer sind die Schnittstelle zwischen DCM und so einem Taktnetz.
> Was benutzt er eigentlich, wenn man keine Buffer instanziiert? Er MUSS
> doch an die FF-Eingänge und die sind hw-mäßig von Clock-Netzen her
> verdrahtet.

Nö, die FF-CLK Eingänge können "zur Not" auch vom normalen 
Routing-Netzwerk versorgt werden. Allerdings hat das dann gravierende 
Seiteneffekte, wie du ja selbst schreibst:

> Bei Xilinx ist das sowieo lustig: Ich habe es mal erlebt, daß er
> komplett wirre Taktnetze gebaut hat, nur weil man es sich er laubt hat,
> mit einem "Nebentakt" ohne DDR auf einen Pin zu gehen.

Wenn man sich den Aufbau des IOB anschaut, wird das auch klar. Gibt man 
den CLK direkt aus, dann muss er durch den kombinatorischen Pfad. Daher 
die DDR-FF am CLK-Ausgang.

von Segor (Gast)


Lesenswert?

>dann muss er durch den kombinatorischen Pfad
Geht bei Designs < 30MHz prima.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.