Forum: FPGA, VHDL & Co. Spartan3E zwei unabhängige Frequenzen aus einer SysClk erzeugen


von Matthias (Gast)


Lesenswert?

Hallo zusammen,

ich versuche gerade aus einem CLK Signal (48MHz) zwei unabhängige CLK 
Signale zu erzeugen.

Das erste (16MHz) habe ich mit dem Xilinx Clocking Wizard erzeugen 
lassen. Funktioniert auch super.

Bei dem Versuch das zweite (10MHz) ebenfalls so zu erzeugen meckert ISE:

ERROR:NgdBuild:462 - input pad net 'iSYSCLOCK' drives multiple buffers:

So weit so klar... oder auch nicht. Klar treibt mein CLK input dann zwei 
Buffer.

An irgendeiner Stelle hab ich dann mal gelesen dass man das CLK Input 
Signal erst buffern muß und dann in die beiden DCM füttern muß. Aber 
leider ging auch der Versuch schief...

Hat jemand eine Idee wie ich dieses Problem lösen kann?

Vielen Dank!

Matthias

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Klar treibt mein CLK input dann zwei Buffer.
Das kanner nich...
Allerdings könnte das der Takt nach dem IBUFG oder BUFG.

> An irgendeiner Stelle hab ich dann mal gelesen dass man das CLK Input
> Signal erst buffern muß und dann in die beiden DCM füttern muß. Aber
> leider ging auch der Versuch schief...
Warum?

von Matthias (Gast)


Lesenswert?

Und wie komm ich dann zu dem Takt nach dem Buffer??

Ich hatte schon versucht den zweiten Output der ersten DCM der den 
selben Takt wie der Input hat als Eingang für den zweiten DCM zu nutzen.
Dann meckert ISE aber dass man DCM nicht in Reihe schalten kann...

Danke!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Und wie komm ich dann zu dem Takt nach dem Buffer??
Instatiiere den IBUFG/BUFG von Hand und klemme an das Ausgangssignal 
deine beiden DCM.
http://www.xilinx.com/itp/xilinx6/books/data/docs/lib/lib0230_198.html
1
 
2
  :
3
   MAIN_CLOCK : IBUFG
4
   port map ( O  => mainclk,
5
              I  => clkin
6
   );
7
  :

von Matthias (Gast)


Lesenswert?

Das war auch mein erster Gedanke....
Geht nur leider auch ned!

ERROR:NgdBuild:455 - logical net 'INT_SYSCLK_48' has multiple driver(s):
ERROR:NgdBuild:462 - input pad net 'INT_SYSCLK_48' drives multiple 
buffers:

?????

von Christian R. (supachris)


Lesenswert?

Also prinzipiell geht das. Ein CLK Eingang und 2 DCMs, die müssen dann 
aber auf "internal" stehen beim Input. Und die beiden dann an das 
interne Signal des CLK anschließen. Ist allerdings etwas unsauber und 
wird dann auch als Warnung angemeckert, weil die DCMs dafür vorgesehen 
sind, einzig und allein an dem GCLK Eingang zu hängen, der sich direkt 
vor ihnen befindet. Den IBUFG instaziiert der von alleine, wenn er 
merkt, dass das ein CLK netz ist.

von Gast (Gast)


Lesenswert?

eine DCM

48MHz -> 16 MHz mit dem CLKDV-Ausgang und dem Setting
   CLKDV_DIVIDE = 3.0

48MHz -> 10 MHz mit dem FX Ausgang und den Settings
   CLKFX_MULTIPLY = 5
   CLKFX_DIVIDE = 24

DCM-Feedback mit dem Ausgang CLK0

 => 1 Clock-Input, 3 BUFGs

von Matthias (Gast)


Lesenswert?

SUPER!!!
"internal" war der gesuchte Haken...

VIELEN DANK!

Matthias

von Matthias (Gast)


Lesenswert?

jetzt gehts auch mit einem DCM!

MERCI!

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.