Forum: FPGA, VHDL & Co. FPGA differential clock Verwendung


von Prspct (Gast)


Lesenswert?

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

von Christian R. (supachris)


Lesenswert?

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.

von Prspct (Gast)


Lesenswert?

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? :)

von Christian R. (supachris)


Lesenswert?

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.

von Prspct (Gast)


Lesenswert?

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!

von Prspct (Gast)


Lesenswert?

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....

von Christian R. (supachris)


Lesenswert?

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?

von Prspct (Gast)


Lesenswert?

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.

von Prspct (Gast)


Lesenswert?

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....

von Grendel (Gast)


Lesenswert?

War nicht eine eingeschränkte Version des Microblaze in neueren ISE 
Versionen kostenlos mit dabei?

von Prspct (Gast)


Lesenswert?


von Christian R. (supachris)


Lesenswert?

Naja, auf dem 605 sollte der MiroBlaze schon laufen, da ist eigentlich 
genug Platz, jetzt vom Gefühl her.

von Prspct (Gast)


Lesenswert?

Wieso Platz, ich dachte da geht es nur um die (ISE) Lizenz?

von Christian R. (supachris)


Lesenswert?

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.

von Prspct (Gast)


Lesenswert?

Die Fitter-Ergebnisse die ich vorher geschrieben habe, sind bereits 
inklusive zwei Microblaze-Cores!

von Prspct (Gast)


Lesenswert?

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?

von Christian R. (supachris)


Lesenswert?

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.

von Prspct (Gast)


Lesenswert?

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!

von Duke Scarring (Gast)


Lesenswert?

Prspct schrieb:
> zwei Microblaze-Cores!
Ah, ein akademisches Projekt. Lautet das Thema ungefähr massiv 
multiparallel computing platform ?!
Da gibt es doch von Xilinx das University Program...

Duke

von Christian R. (supachris)


Lesenswert?

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...

von Prspct (Gast)


Lesenswert?

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?

von Duke Scarring (Gast)


Lesenswert?

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

von Prspct (Gast)


Lesenswert?

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

von Duke Scarring (Gast)


Lesenswert?

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

von Prspct (Gast)


Lesenswert?

Die Fitter-Ergebnisse wurden für ein getestetes System angegeben.
Die entsprechende Datei ist in diesem Archiv:
http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V1.8.2/openPOWERLINK-V1.08.2.zip/download

....im Unterordner: 
Examples\xilinx_microblaze\ipcore\powerlink\pcores\plb_powerlink_v1_00_a 
\doc\POWERLINK-IP-Core_Xilinx.pdf

Lg

von Prspct (Gast)


Lesenswert?

Hat vielleicht noch irgendjemand Erfahrungen zu berichten über die 
Verwendung von MicroBlaze nur mit der EVAL EDK-Lizenz? Irgendwelche 
Einschränkungen / Schwierigkeiten?

von Prspct (Gast)


Lesenswert?

Danke, ja ich weiß, aber ich würde wie gesagt gerne etwas über die 
Verwendung des "vollwertigen" MB unter der EDK-Eval erfahren.

von Duke Scarring (Gast)


Lesenswert?

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

von Prspct (Gast)


Lesenswert?

Danke Duke!

Werde mit der Eval starten, und dann sehen wir mal weiter ;)

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.