Forum: FPGA, VHDL & Co. FPGA über STM32 programmieren


von Bruce G. (bruce)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir ein FPGA Bord zugelegt.

Ziel ist es, den FPGA "CYCLONE IV" über ein STM32 uC zu programmieren.

Da ich glaube das der interne RAM des STM32 zu klein ist, habe ich mal 
im Datenblatt des FPGAs nachgeuckt.

Dort ist zu sehen, das die Verbindung über einen externen memory 
Baustein funtioniert. Das ganze nennt sich "Single-Device PS 
Configuration Using an External Host" sihe Bild.

Meine Frage ist.

Könnte ich diesen Baustein benutzten oder muss ich noch auf was achten?

https://de.rs-online.com/web/p/sram/8032181/


Wenn jemand vielleicht einen anderen Baustein empfählt oder eine anderen 
Lösungsweg hat, würde ich mich über die Hilfe sehr freuen.

Gruß

Bruce

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ramazan A. schrieb:
> Ziel ist es, den FPGA "CYCLONE IV" über ein STM32 uC zu programmieren.
Du meinst, du willst ihn nach dem Einschalten konfigurieren.

> Ziel ist es, den FPGA "CYCLONE IV" über ein STM32 uC zu programmieren.
Warum?

> Da ich glaube das der interne RAM des STM32 zu klein ist, habe ich mal
> im Datenblatt des FPGAs nachgeuckt.
Wozu brauchst du da ein RAM? Lade die Konfiguration doch einfach aus 
einem SPI-Flash und schiebe sie ins FPGA. Das kann das FPGA übrigens 
sogar ganz allein, ohne µC.

Ramazan A. schrieb:
> Könnte ich diesen Baustein benutzten oder muss ich noch auf was achten?
Schon der kleinste Cyclone4 braucht über 350kB Speicher für den 
Raw-Bitstream. Komprimiert sicher immer noch 40-50% davon.

Mehr zum Thema Konfiguration deines FPGAs siehe dort:
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyc/cyc_c51013.pdf

: Bearbeitet durch Moderator
von ... (Gast)


Lesenswert?

> anderen Baustein

EPCS4SI8N

von Bruce G. (bruce)


Lesenswert?

Vielen Dank für deine Antwort.

Ich wollte halt bestimmte Aufgaben mit dem uC machen und der FPGA soll 
gleichzeitig andere Aufgaben bearbeiten.

Da ich ab und an man das Programm  ändern möchte, dachte ich mir es 
würde so funktionieren wie ich aus dem Datenblatt gesehen habe.

Gruß

von Bruce G. (bruce)


Lesenswert?

... schrieb:
>> anderen Baustein
>
> EPCS4SI8N

Danke schön.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ramazan A. schrieb:
> Da ich ab und an man das Programm  ändern möchte, dachte ich mir es
> würde so funktionieren wie ich aus dem Datenblatt gesehen habe.
Du willst die KONFIGURATION des FPGAs während der Laufzeit (teilweise) 
ändern? Dein Stichwort ist dann "Reconfigurable FPGA" oder "Partial 
Reconfiguration FPGA".
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-iv/cyiv-52003.pdf

Oder willst du einfach nur beim nächsten Start eine neue Konfiguration 
ins FPGA bekommen?

: Bearbeitet durch Moderator
von Markus F. (mfro)


Lesenswert?


von Bruce G. (bruce)


Lesenswert?

>
> Oder willst du einfach nur beim nächsten Start eine neue Konfiguration
> ins FPGA bekommen?

Ja genau, tut mir leid wenn ich mich falsch ausgedrückt habe.

Gruß von Bruce

von Andi (Gast)


Lesenswert?

Die Frage ist doch: Woher kommen diese neuen Konfigurationsdaten?
Ist am STM32 eine SD Karte angeschlossen, die die Konfigurationen 
enthält, oder kommen sie vielleicht von einem PC via USB?

In beiden Fällen musst du die Daten nicht als ganzes ins RAM des STM32 
speichern, sondern kannst sie direkt beim Empfangen oder Lesen von der 
SD Karte seriell zum FPGA schicken und jedesmal einen Clockimpuls 
generieren, allenfalls braucht es einen kleinen Pufferspeicher.

von Holger (Gast)


Lesenswert?

grab the bitstream from SD-card and program the FPGA.

LINK:
https://stackoverflow.com/questions/43664395/is-it-possible-to-make-zybo-board-work-from-sd-card-configuration-only-with-bit

Elektor hat mal ein Board mit FPGA und CPU gemacht.
Via CPU und SD Card konnte dann das FPGA konfiguriert werden.

Gruss Holger.

von Holger (Gast)


Angehängte Dateien:

Lesenswert?

Hier kann man das alte FPGA an LPT PORT via externer CPU oder sogar WIfi 
Webserver configurieren.

von freelancer (Gast)


Lesenswert?

wurde hier schonmal gemacht:

(runterscrollen bis FPGA_Library)

http://mikrocontroller.bplaced.net/wordpress/?page_id=1176

von Bruce G. (bruce)


Lesenswert?

Vielen Dank, für die ganzen informationen.

Ich lese mir jetzt mal alles in Ruhe druch und mach mich dann an die 
Arbeit.

Gruß

von Holger (Gast)


Lesenswert?

Hier noch der TAB via JTAG.

https://youtu.be/PhaqHKyAvR4?t=233

Leider ist da ein kleiner Fehler drin ... der vor dem Last Clock muss 
der
TMS Port mit hochgezogen werden. So wird die State-Engine richtig im 
Protokoll bedient.

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.