Forum: FPGA, VHDL & Co. FPGA-Konfiguration über CPLD


von Peter (Gast)


Lesenswert?

Hallo zusammen,

ich sitze hier vor einem FPGA-Board, dass einen Spartan-3, einen CPLD
und ein Config Flash besitzt. Die Konfiguration des FPGA erfolgt über
den CPLD, d.h. alle für die Konfiguration notwendigen Signale werden
vom FPGA zum Config Flash über das CPLD geroutet (ausser CCLK).

wie ist das CPLD jetzt sinnvoll in zu programmieren (VHDL), damit der
FPGA vom Config Flash konfiguriert werden kann. Kann mir einer mit
Codebeispielen weiterhelfen ? Ist eine State-Machine sinnvoll und wie
sieht es mit einzuhaltenden Timings aus ?

Danke für Eure Hilfe.

von Antti (Gast)


Lesenswert?

1 welche platine?
2 welches flash speciher?
3 was fur PLD?

wenn CCLK NCIHT yum PLD geht scheint es schwierig zu sein den PLD
vernunftig zu programmieren für config

xilinx hat appnote XAPP800, die loesung wird von Memec yum beispiel
verwendet. aber s gibt mehrere qulellen für ahnliche loesungen

antti

von Peter (Gast)


Lesenswert?

Also das Board ist eine Eigencreation (nicht von mir). Es enthält als
Config Memory einen XCF04S (Xilinx) und als CPLD einen Coolrunner
XCR3128XL (Xilinx). Der Config-Clock CCLK ist vom FPGA sowohl zum
Config Flash als auch zum CPLD.

@ Antti...

Hast du einen Lösungsvorschlag ? Bzw. kannst du mir einige Quellen
nennen, die eíne VHDL-Lösung enthalten.

von Antti (Gast)


Lesenswert?

XCF04s is special config speicher und kann die FPGA ohne den PLD
configurieren.

ein PLD is notwending im fall wenn man ein standard serial flash
benutzt den man sonnst nicht direct als fpga config speciher nutzen
kann. für diese ywecke gibt es appnotes und quellen haufen mengen aber
di nutzen dir ja nicht.

xilinx hat auch ein appnote mit PLD und XCFxxP wo der PLD as config
revisioning controller bentzt wird aber das nutzt dir ja auch nicht
weil es nur für Parallel XCFxxP brauchbar ist.

so die frage ist was willst du mit dem PLD machen? zum FPGA initial
laden ist the XCF04s selber ausreichen, falls PLD für irgendwelchen
anderen lade methode benutzt wird dann weiss nur der entwickler oder du
selber was für eine funktion das ist, und ohne das zu wissen kann
niemand dir helfen

antti

von Peter (Gast)


Lesenswert?

Hallo,

OK, aber wie sieht die Konfiguration-Sequenz aus, wenn der Config Flash
das FPGA von alleine lädt ?

Ich glaube ich brauche das CPLD, da die Signale M0..M2 nur an das CPLD
gehen. Ich muss also über das CPLD den Config Mode einstellen und dann
die Konfiguration starten.

Kann mir einer helfen so eine Konfigurations-Sequence über einen CPLD
in einen VHDL-Code zu packen. Ich stelle mir das folgendermaßen vor:

1) das CPLD setzt mit M0..M2 den Konfig Mode
2) das Config Flash wird enabled
3) anschließend wird die Konfiguration gestartet
4) wenn die Konfigurationfertig ist, wird das Konfig Flash disabled

der ganze Code soll immer ablaufen, wenn eine Versorgungsspannung an
das Board angelegt wird bzw. wenn ein bestimmter Button gedrückt wird.

allerdings weiss ich nicht wie das mit den Timings ist, die ich
einhalten muss ?

Könnt ihr mir helfen ?

Gruß Peter

von Antti (Gast)


Lesenswert?

es klappt alles irgenwie nicht zusammen:

eine eigencreation - der author sollte dieses code ja haben!
du hast die platine, warum fragst du den author des boardes?

die info is immer noch zu gering.

1) wenn platfrom schon drauf ist dann ist es eigentlich nicht noetig
die M0..M2 zu andern, es gibt keinen grund den modi zu andern

2) es gibt keinen grund den platfrom zu enable oder disable, das ist
oder sollte schon auf der platine fest sein ??

3) es gibt keinen grund den konfiguration zu starten, es started ja
selber??


das einzige fall wo ein PLD mit platfrom sinn macht ist wenn der PLD
als revison select oder multi-boot controller eingesetzt wird. falls
das der fall ist dann muss jemand ja gedanken gemacht haben was fir
eine funktionalitat er implementieren will !?

das muss derjenige der die platine entwurfen hat ja wissen? warum
fragst du das nicht bei ihm?


für die einfache konfig, eg keine speual stuff like multi boot, eg

nimm eifach die xlinx appnote und guck da welche verbindungen zwischen
fpga und platorm flash noetig sind und implemntiere dies in PLD das
wars dann.

einen sequencer brauhcst du dabei NICHT.

antti

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.