Forum: FPGA, VHDL & Co. Mehrere PLLs an einem Input Pin betreiben?


von T.R. (Gast)


Lesenswert?

Ist es möglich, mehrere PLLs an einen FPGA-Input Pin zu hängen?

Ich brauche eine zweite PLL mit einer Zwischenfrequenz, die nicht mit 
der einer bereits verwendeten harmoniert.

von Ma (Gast)


Lesenswert?

Das kann Dir das Datenblatt/Handbuch Deines nicht näher spezifizierten 
FPGAs sagen...

von T.R. (Gast)


Lesenswert?

Die Frage wäre für mich eher (wenn es geht) dann mit welchem?

von Trundle T. (shaheed)


Lesenswert?

if(FPGA == Xilinx-Model)

begin

beim spartan6 hab ich es nicht hinbekommen von einen Eingangspin 2 
PLL/DCMs zu speisen, da hat Planahead gemerkter. Keine Ahnung ob's 
Synthese oder Implementierung war aber es hat nicht funktioniert, soweit 
ich mich errinere.
Es gibt aber ne einfache Lösung:
Du gibts deine Eingangsfrequenz am ersten Clockgenerator als Ausgang 
wieder raus und verbindest diese dann mit einen 2ten Glockgenerator um 
deine restlichen Frequenzen zu erzeugen.
Dabei ist zu beachten das du keine 2 Glockbufferinstanzen in Reihe 
schaltest. Also keine BUFG oder IBUFG oder irgendwas BUFG direkt 2 mal 
hintereinander.
Das kannst du folgendermaßen umgehen:
Entweder du stellst beim 1sten Clockgenerator ein, dass dein 
Ausgangsport (mit der Orginialfrequenz) nicht gebufft wird oder -
du stellst beim 2ten Clockgenerator ein, dass der standardmässig 
verwendete Eingangsbuffer nicht verwendet wird!

Eine der beiden Varianten funktionierte bei mir nicht, weil rauskam 
Design nicht routable... aber ich weiß leider nicht mehr welche!
Also musst du leider beide versuchen.

end

else

SRY keine Ahnung!!

von T.R. (Gast)


Lesenswert?

Verkettete DCMs sind mir bekannt, habe ich schon bei dem S3E benutzt. 
Der Coregen hat das extra erzeugen können. "chained DCM" oder so.

Klar, das wäre u.U. die Lösung, wenn da nicht das des erhöhten Jitters 
wäre...

von Duke Scarring (Gast)


Lesenswert?

T.R. schrieb:
> Klar, das wäre u.U. die Lösung, wenn da nicht das des erhöhten Jitters
> wäre...
Was hast Du denn für Anforderungen an den Jitter?

Duke

von Florian V. (Gast)


Lesenswert?

Trundle Trollkönig schrieb:
> beim spartan6 hab ich es nicht hinbekommen von einen Eingangspin 2
> PLL/DCMs zu speisen, da hat Planahead gemerkter. Keine Ahnung ob's
> Synthese oder Implementierung war aber es hat nicht funktioniert, soweit
> ich mich errinere.

Genau das habe ich bereits erfolgreich gemacht. War zwar noch mit ISE, 
aber der Punkt war, die Clockbuffer per Hand zu instantiieren. Wenn man 
einfach so eine PLL zusammenstellt, setzt ISE automatisch einen 
Clockbuffer davor. Hängt man mehrere PLLs an einen Pin, hat man dann auf 
einmal mehrere Clockbuffer an diesem Pin - und dann meckerte ISE. Den 
Clockbuffer-Automatismus kann man ausschalten und genau einen Buffer per 
Hand verbinden. Dann ging es. Die Fehlermeldungen von ISE während meiner 
Try-and-Error Versuche waren übrigens überhaupt nicht hilfreich...

von Edi M. (Gast)


Lesenswert?

Nach Deiner Aussage also TAKT-PIN -> IBUFG und ab dann parallel PLL und 
BUFG?

Kein regional buffer?

Hat es auch funktioniert? Gab es timing issues?

von Florian V. (Gast)


Lesenswert?

Die Konstruktion war:

Takt-Pin -> IBUFG -+-> PLL1
                   +-> PLL2

Wobei wie gesagt darauf geachtet werden muss, dass der Core Generator 
nicht eigenständig einen Buffer vor die Pll setzt.

Das Ganze hat funktioniert, keine Timing-Probleme.

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.