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.
Die Frage wäre für mich eher (wenn es geht) dann mit welchem?
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!!
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...
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
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...
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.