Hallo,
ich habe gerade recherchiert, dass ich mit einer IBUFDS-Primitive den
differentiellen Takt eines FPGA-Boards als single-ended Takt benutzen
kann.
Geht das wirklich so ohne Weiteres, oder gibt es irgendwelche
Einschränkungen?
Konkret geht es um das Spartan-6 Board SP601, das mit einem 200 MHz
Differenzial-Oszillator bestückt ist, aber dagegen "nur" einen 27 MHz
Single-ended-Oszillator bietet.... und ich hätte gerne einen System-Takt
von 100 MHz.
Im SP601 User Guide kann ich bis auf die Angabe eines Frequenz-Jitters
von +- 50 ppm (genau die Obergrenze für meine Anwendung) keinen Nachteil
der Lösung mit dem differentiellen Oszillator. Wäre genau dieser Jitter,
falls zu groß, der ausschlaggebende Grund dafür stattdessen den
single-ended Sockel mit einem 100 MHz Oszillator zu bestücken?
MfG
Du musst sogar den IBUFGDS (IBUFDS ist füre Daten, IFUFGDS für Takt)
verwenden, denn im FPGA gibts keine differenziellen Signale. Du kannst
natürlich genauso gut auch einen 100MHz Oszillator auf den Sockel
stecken. Aber 100MHz auf dem IC-Sockel. Naja, nimm lieber den fest
verlöteten 200MHz Oszillator und teile den Takt mit einem DCM auf 100MHz
runter.
Danke für deine Antwort!
Das heißt wenn ich einen 50 MHz und einen 100 MHz Takt haben will, die
miteinander synchronisiert sind, brauch ich nur den differenziellen 200
MHz - Takt in einen IFUFGDS geben, den so generierten single-ended Takt
in einen DCM mit CLKDV_DIVIDE = 4 und CLKFX_MULTIPLY = 2 geben und dann:
CLKDV des DCM ---> clk_50
CLKFX des DCM ---> clk_100
Kann das jemand bestätigen? :)
Nicht ganz. Die Frequenz des CLKFX ergibt sich aus Eingang *
CLKFX_MULTIPLY / CLKFX_DIVIDE. Also z.B. CLKFX_MULTIPLY = 1 und
CLKFX_DIVIDE = 2 ergeben 100MHz am CLKFX Ausgang bei 200MHz Eingang. Der
CLKDV Ausgang ist unabhängig davon und wird mit dem CLKDV_DIVIDE Generic
aus der Eingangsfrequenz herunter geteilt.
Aja, danke! Also CLKDV_DIVIDE = 4, CLKFX_DIVIDE = 2 und CLKFX_MULTIPLY =
1
Und um meiner Anforderung an die Phasengleichheit gerecht zu werden,
habe ich noch die Vorgabe der Feedback-Schleife auf den CLK0-Ausgang
entdeckt.
Vielen Dank!
Gibt es ansonsten noch irgendwelche Nachteile dieser Lösung zu einem
single-ended 100MHz-Oszillator? Denn der "langsame" single-ended
Oszillator wäre der einzige Punkt, bei dem Bedenken gegen das
SP601-Board aufgekommen sind....
Wieso Nachteile? Und wieso Bedenken? Der 27MHz oszillator ist
austauschbar, auch da gehen notfalls 100MHz einzuspeisen. Auf EMI kommts
ja bei einem derartigen Demoboard eh nicht an. Der kleine 16er Spartan
ist aber sehr knapp, weiß ja nicht, was du vorhast, aber da geht nicht
allzu viel mit. Hast du nicht das Geld für das SP605 Board?
In der Dokumentation einer ähnlichen Anwendung wurden die Fitter Results
mit max. 6000 FFs bzw. 7000 LUTs angegeben, also sollte da noch genug
Spielraum sein! Und ich benötige ausser GPIOs nur ein Ethernet-PHY.
Nachtrag: ich brauche aber eine Microblaze CPU, also kommt die ISE
Embedded Edition als Anforderung ans Board dazu. Kann also sowohl SP601
als auch SP605 verwerfen....
Was hat die Lizenz mit dem kleinen Board zu tun? Oder willst du diese
verdongelte Lizenz nehmen, die da immer dabei ist und auf das
entsprechende Board gelockt? Beim SP605 und 601 kannst du auch WebPack
nehmen, aber da ist wie schon geschrieben nur ein abgespeckter MB drin.
Ansonsten brauchst du die System oder Embedded Edition.
Bezüglich der Lizenz, ich habe das in der Xilinx Licensing FAQ so
verstanden, dass die an einen Rechner gebunden ist, nicht an einen
bestimmten FPGA oder ein Board?
Kommt ganz drauf an. Es gibt normale Node-locked Lizenzen, aber es gibt
speziell zu den großen Boards fast immer eine an das spezielle Board
gebundene Lizenz dazu, wenn das FPGA vom WebPack nicht unterstützt wird.
Ich hab heute erst das aktuelle AC701 geliefert bekommen, da ist auch
sowas dabei.
Ok danke für deine Infos!
Das würde dann sowohl das SP601 als auch das SP605 Board nicht
betreffen, weil das WebPack alle Spartan6 von den 4ern bis zu den 75ern
unterstützt.
Unter Berücksichtigung der bisherigen Erkenntnisse in diesem Thread
scheine ich für meine Anwendung mit dem SP601 + einer EDK-Lizenz wohl
noch am günstigsten wegzukommen.
Freue mich natürlich trotzdem über jede weitere Anregung!
Prspct schrieb:> zwei Microblaze-Cores!
Ah, ein akademisches Projekt. Lautet das Thema ungefähr massivmultiparallel computing platform ?!
Da gibt es doch von Xilinx das University Program...
Duke
Ist das ein Hobby-Projekt oder wie? Normal zahlt doch der Arbeitgeber
Software Lizenzen, wenn es schon um die paar hundert Euro geht hier, da
kanns ja nur privat sein. Da hilft eventuell die 30 Tage Eval-Version
des EDK, muss man dann halt immer mal neu installieren...
Beides nein! Aber begrenzte Ressourcen vom Arbeitgeber für dieses
Projekt.
Allerdings ist das Projekt auch zeitlich auf ein paar Monate
begrenzt....
Das heißt mit der Eval-Version durchschnorren wäre durchaus eine Option!
Sind da die gleichen IP-Cores dabei als bei der kostenpflichtigen? Und
lässt sich der License Manager einfach mit einem neuen Benutzerkonto
abspeisen für eine neue Installation auf dem gleichen Rechner?
Prspct schrieb:> Sind da die gleichen IP-Cores dabei als bei der kostenpflichtigen?
Ja, wobei einige IP-Cores noch extra Lizenzen brauchen.
> Und> lässt sich der License Manager einfach mit einem neuen Benutzerkonto> abspeisen für eine neue Installation auf dem gleichen Rechner?
Geht auch mehrfach mit dem selben Benutzerkonto...
Prspct schrieb:> inklusive zwei Microblaze-Cores
Das klingt mir immer noch hochgradig nach Gebastel ohne ordentliches
Systemkonzept. Was können zwei Microblaze, was einer nicht kann? Und
wenn es am Geld hapert, wieso, nimmt man nicht einen externen
Mikrocontroller?
Siehe die Diskussion nebenan:
Beitrag "Re: teure FPGAs - welche Verwendung?"
Duke
Hallo Duke!
Ich benutze einen Microblaze, für den openPowerlink Protokoll-Stack.
Ich habe nur gesagt, dass es Fitter-Ergebnisse gibt, wo mit zwei
Microblazes immer noch genug Ressourcen am FPGA frei sind, wegen den
Bedenken von Christian bezüglich Platz am 16er Spartan.
Lg
Prspct schrieb:> Ich benutze einen Microblaze, für den openPowerlink Protokoll-Stack.> Ich habe nur gesagt, dass es Fitter-Ergebnisse gibt, wo mit zwei> Microblazes immer noch genug Ressourcen am FPGA frei sind, wegen den> Bedenken von Christian bezüglich Platz am 16er Spartan.
Ah. Ok. Und Du hast auch sichergestellt, daß die wichtigen Ausgänge auch
verwendet werden?!
Nicht das Dir die Synthese alles wegoptimiert und Du das größte Design
in den kleinsten FPGA bekommst, nur weil es keine Ausgangssignale hat...
Duke
Hat vielleicht noch irgendjemand Erfahrungen zu berichten über die
Verwendung von MicroBlaze nur mit der EVAL EDK-Lizenz? Irgendwelche
Einschränkungen / Schwierigkeiten?
Prspct schrieb:> Hat vielleicht noch irgendjemand Erfahrungen zu berichten über die> Verwendung von MicroBlaze nur mit der EVAL EDK-Lizenz? Irgendwelche> Einschränkungen / Schwierigkeiten?
M.E. besteht die einzige Einschränkung der Eval-Version in der
Laufzwitbegrenzung auf 30 Tage.
Schwierigkeiten? Ich hatte Schwierigkeiten meine eigene Logik elegant an
den Microblaze zu koppeln...
Duke