Forum: FPGA, VHDL & Co. XILINX PROMs EOL


von Sören B. (al_bundy)


Lesenswert?

Hallo Zusammen,

ich bin ein bisschen verwirrt. Scheinbar sind sämtliche XILINX PROMs als 
End-of-Life gekennzeichnet. Selbst die für neuere FPGAs wie den 
Spartan7. Bisher war ich der Überzeugung dass damit die alten Spartan6 
aus dem Produktportfolio von XILINX verschwinden sollen. Aber die 
7er-Reihe verwendet ja die gleichen PROMs. Ich benutze derzeit für ein 
Spartan6-Projekt ein SPI-Flash. Die Programmierzeit ist hier jedoch 
wesentlich länger als beim PROM.

Daher würde ich am liebsten für den Spartan7 ein PROM verwenden, das 
nicht abgekündigt ist. Ist dass nicht mehr zeitgemäß oder gibt es 
bessere Alternativen zum speichern der Konfigurationsdatei? Ich dachte 
die Verwendung eines PROMs ist der "Musterweg".

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Sören B. schrieb:
> oder gibt es
> bessere Alternativen zum speichern der Konfigurationsdatei?

evtl. koennte es da langsam interessant werden, statt dem Flash/PROM zum 
Konfigurieren einen ganzen µController mit ausreichend Flash (und HW-SPI 
Interface, damit's FPGA hurtig konfiguriert werden kann) herzunehmen.
Muesst' man halt mal gucken, ob was preislich und grad verfuegbar und 
vom Programmieraufwand her geht...

Gruss
WK

von Christian R. (supachris)


Lesenswert?

Man kann die SPI Flashes ja auch direkt programmieren mit dem FT2232 zum 
Beispiel. Über indirekt ist das lahm, richtig. Wir sind glücklich dass 
es überall mit SPI Flash geht, denn wir haben eh ein PC Interface und 
die lassen sich dann über das Design einfach direkt und sau schnell 
updaten. Ich denke da wirst du auf SPI umsteigen müssen.

von Duke Scarring (Gast)


Lesenswert?

Vor bzw. mit der EOL-Meldung gibt es üblicherweise einen 
last-order-Termin.
Bis dahin sollte man sich die benötigten Mengen für die nächsten xx 
Jahre  bestellt haben.

Ich habe noch nie verstanden, warum Xilinx teure und schwer beschaffbare 
Sonderlocken-PROMs anbietet.

Welche Programmierzeit ist Dir denn wichtig? Die Zeit bis das Design 
(einmalig) in den Speicher geschrieben wird oder die Zeit, die das FPGA 
nach dem Einschalten braucht, um die Konfiguration aus dem Speicher 
rauszuholen?

von Sören B. (al_bundy)


Lesenswert?

Vielen Dank schon mal für die nützlichen Tipps!

Was mich am SPI-Flash stört ist ausschließlich die Zeit die ich während 
der Codeentwicklung zum beschreiben des PROMs benötige. Die normale 
Bootup-Zeit des Systems ist mir egal.

Da sich der FPGA beim Startup mit einem PIC synchronisiert, muss das 
System nach dem beschreiben des PROMs neu gestartet werden. Ich kann 
also zum testen nicht einfach nur den FPGA schnell flüchtig beschreiben. 
Das PROM lässt sich flink in ca 10 sec beschreiben. Das SPI-Flash 
benötigt 3 min. Das nervt beim Entwickeln.

Die Idee über einen FTDI-Chip zu programmieren finde ich interessant. 
Allerdings muss man dann wahrscheinlich jedes mal das bit-file 
konvertieren und aus der XILINX-Umgebung raus. Das kostet dann 
wahrscheinlich alles auch wieder Zeit. Welche Schritte werden dabei denn 
zusätzlich benötigt? Gibt es einen fertigen bitfile-Konverter dafür?

von Duke Scarring (Gast)


Lesenswert?

Sören B. schrieb:
> Was mich am SPI-Flash stört ist ausschließlich die Zeit die ich während
> der Codeentwicklung zum beschreiben des PROMs benötige. Die normale
> Bootup-Zeit des Systems ist mir egal.
Ok.

Der übliche Weg einen SPI-Flash, der am FPGA hängt zu beschreiben geht 
über ein spezielles FPGA-Design, welches einen JTAG-zu-SPI-Konverter 
darstellt.
Dort läßt sich ggf. Zeit herausholen, wenn man die JTAG-Taktrate 
hochschraubt und den SPI-Flash im x2 oder x4-Modus beschreibt.

Andererseits habe ich auch schon mit größeren FPGA-Systemen gearbeitet, 
wo trotz Xilinx-PROMs nur das Programmieren der PROMs ca. eine Stunde 
gedauert hat.
Da muß man dann seinen Workflow anpassen (mehr simulieren statt 
synthetisieren).

Duke

von Duke Scarring (Gast)


Lesenswert?

Sören B. schrieb:
> Die Idee über einen FTDI-Chip zu programmieren finde ich interessant.
> Welche Schritte werden dabei denn
> zusätzlich benötigt? Gibt es einen fertigen bitfile-Konverter dafür?
WIMRE nimmt xc3sprog direkt das Bitfile und macht die Konvertierung 
automatisch.

Duke

von Sören B. (al_bundy)


Lesenswert?

Duke Scarring schrieb:
> Der übliche Weg einen SPI-Flash, der am FPGA hängt zu beschreiben geht
> über ein spezielles FPGA-Design, welches einen JTAG-zu-SPI-Konverter
> darstellt.
> Dort läßt sich ggf. Zeit herausholen, wenn man die JTAG-Taktrate
> hochschraubt und den SPI-Flash im x2 oder x4-Modus beschreibt.

Soweit ich weiß macht ja impact dieses Design, wenn man ein SPI-FLASH 
flasht. So hab ich es bisher gemacht. Entsprechend hat es ja 3 min. 
gedauert. Der Spartan 6 kann soweit ich weiß nur ein SPI-FLASH im 
Quad-Mode lesen und nur im einfachen Mode schreiben.

Ein Kollege benutzt ein ZYNC-Evalboard. Das Arbeitet mit einem 
USB-JTAG-Konverter, der über den FPGA das SPI-FLASH beschreibt. Hier 
geht es komischer Weise deutlich schneller. Wir wissen aber nicht genau 
warum. In verdacht steht:
1. Flashen wurde in VIVADO besser/schneller umgesetzt als in ISE.
2. SPI-FLASH kann nicht nur im QUAD-Mode gelesen sondern auch 
beschrieben werden
3. Die Hardware vom ZYNC läßt eine schnellere Programmierung zu als der 
Spartan 6

Weiß jemand ob was davon zutrifft?

von Sören B. (al_bundy)


Lesenswert?

Duke Scarring schrieb:
> Andererseits habe ich auch schon mit größeren FPGA-Systemen gearbeitet,
> wo trotz Xilinx-PROMs nur das Programmieren der PROMs ca. eine Stunde
> gedauert hat.
> Da muß man dann seinen Workflow anpassen (mehr simulieren statt
> synthetisieren).

Eine Stunde ist echt lang! Da sind 3 min. tatsächlich eine Genugtuung. 
Mehr simulieren statt synthetisieren habe ich mir auch mal vorgenommen. 
Aber Testbench erstellen ist immer so mühselig.

von Sören B. (al_bundy)


Lesenswert?

Duke Scarring schrieb:
> Sören B. schrieb:
>> Die Idee über einen FTDI-Chip zu programmieren finde ich interessant.
>> Welche Schritte werden dabei denn
>> zusätzlich benötigt? Gibt es einen fertigen bitfile-Konverter dafür?
> WIMRE nimmt xc3sprog direkt das Bitfile und macht die Konvertierung
> automatisch.
>
> Duke

Okay, nachdem ich nach dem Tool WIMRE gesucht habe und herausgefunden 
habe, dass ich alt geworden bin, habe ich mir den xc3sprog angeschaut:)

Wenn ich das richtig verstanden habe, simuliert der eine 
JTAG-Schnittstelle. Somit ersetzt der doch lediglich das XILINX 
Platformcable. Programmiert wird der SPI-Flash doch weiterhin über den 
FPGA. Dauert das dann nicht wieder 3 min.? Ich dachte du beschreibst 
direkt über den FTDI-Chip den SPI-Flash z.B. über Dasy-Chain.

von Christian R. (supachris)


Lesenswert?

Du kannst bei VIVADO einfach beim "Generate Bit file" den Haken "Bin 
File" setzen dann purzelt das bin für den Flash gleich mit raus.
Ja, indirekt ist langsam, das stimmt, im Quad Modus aber relativ flott.
SPI Flash direkt mit FT2232 geht z.B. so: 
https://flashrom.org/FT2232SPI_Programmer
Das kann man dann z.B. mit so einer Chip Klemme drauf.

von Duke Scarring (Gast)


Lesenswert?

Sören B. schrieb:
> Wenn ich das richtig verstanden habe, simuliert der eine
> JTAG-Schnittstelle. Somit ersetzt der doch lediglich das XILINX
> Platformcable. Programmiert wird der SPI-Flash doch weiterhin über den
> FPGA.
Ja.

> Dauert das dann nicht wieder 3 min.?
Ausprobieren. Das letzte Mal, als ich das probiert habe ging es sehr 
flott.
Man konnte xc3sprog auch noch einen Parameter für die JTAG-Taktfrequenz 
mitgeben.

Die generelle Programmierzeit hängt von mehreren Faktoren ab:
- Größe der bit bzw. bin-Datei
- SPI-Geschwindigkeit und SPI-Mode
- JTAG-Geschwindigkeit
- Programmiersoftware (impact/vivado/xc3sprog)

Ich habe bei mir eine Ethernetanbindung am FPGA und programmiere den 
SPI-Flash über TFTP. Das geht dann auch sehr flott.

Duke

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.