Forum: FPGA, VHDL & Co. Spartan 3E XC3S500E Konfigurationsdatei


von Pat R. (patrik)


Lesenswert?

Hallo Leute,
ich versuche herauszufinden, wie gross die PROM - 
Konfigurationsdatei(.mcs) für den oben genannten Spartan sein kann. Ich 
habe aus verschiedenen bit Dateien diese generiert und sie war immer 
780KB gross. Ich habe 1MB Platz in meinem PROM. Muss ich mir da sorgen 
machen, dass die .mcs Datei irgendwannmal mehr als 1MB hat oder kann ich 
ruhig weiterentwickeln?

Danke
Patrik

von Christian R. (supachris)


Lesenswert?

Im Datenblatt des jeweiligen Spartan steht, welcher Prom verwendet 
werden muss, damit genau das nicht passiert. An den 500E gehört der 
XCF04, wenn ich mich recht erinnere.

von Pat R. (patrik)


Lesenswert?

Im Datenblatt steht:
A specific Spartan-3E part type always requires a constant
number of configuration bits, regardless of design complexity.

Daraus würde ich schliessen, dass die Datei immer gleich gross ist. Für 
XC3S500E müssen laut Datenblatt 2,270,208 Bits  reserviert werden.

Nun habe ich folgendes Problem. Was soll ich eigentlich im PROM 
abspeichern?
Die .bit Datei hat bei mir 283856 Bytes, das sind 2,270,848 Bits und das 
sind mehr als laut Datenblatt. Wenn ich auf meinem Starter Kit Board den 
M25P16 konfigurieren will, kann mit Hilfe des ISE eine .mcs Datei 
generiert werden. Diese ist aber 780KB gross. Welche Datei soll ich nun 
im PROM abspeichern, damit der FPGA konfiguriert werden kann?
danke
Patrik

von Christian R. (supachris)


Lesenswert?

In den Platform Flash gehört die .mcs Datei. Zumindest in die XCF, die 
wir immer verwenden. Beim Erstellen dieser fragt er ja auch nach dem 
verwendeten Flash. Die mcs Datei wird aus dem Bitfile erstellt. Das 
Bitfile könntest du auch direkt in den Spartan laden, ist aber beim 
Strom weg dann eben auch weg. Das Impact fragt schon nach der passenden 
Datei, ich glaub eine .bit Datei frisst er gar nicht für den Flash.

von Falk B. (falk)


Lesenswert?

@ Patrik Krizan (patrik)

>Daraus würde ich schliessen, dass die Datei immer gleich gross ist. Für
>XC3S500E müssen laut Datenblatt 2,270,208 Bits  reserviert werden.

Ja. Allerdings gibt es auch einen Kompressionsalgorithmus, welcher die 
Files etwas kleiner macht. Sonderlich gut ist der aber nicht, ZIP und Co 
komprimieren da wesentlich besser.

>Die .bit Datei hat bei mir 283856 Bytes, das sind 2,270,848 Bits und das
>sind mehr als laut Datenblatt.

Ja, weil das der reine binäre Datenstrom ist, an den noch ein paar 
Informationen vorangestellt werden. Die Werden von IMPACT aber vor der 
FPGA-Konfguration entfernt.

>generiert werden. Diese ist aber 780KB gross. Welche Datei soll ich nun
>im PROM abspeichern, damit der FPGA konfiguriert werden kann?

Die MCS

MFg
Falk

von Pat R. (patrik)


Lesenswert?

Hallo Falk,
aber die msc Datei ist bei mir genau 798218 Bytes gross, das sind 
6385744 bits. Laut Datenblatt braucht man einen Speicher von mindestens 
2,270,208 Bits. Das haut nicht hin. Muss ich aus der msc Datei etwas 
rausfiltern?

Patrik

von Christian R. (supachris)


Angehängte Dateien:

Lesenswert?

Ich verstehe dein Problem nicht. Im Datenblatt steht doch eindeutig, 
welche Größe der Flash haben muss, damit der Bitstream reingeht. Wenn 
der Flash mit der entsprechenden Größe dran ist, gibts garantiert keine 
Probleme. Du musst auch gar nix filtern, das macht alles Impact für 
dich.

von T.Stütz (Gast)


Lesenswert?

Ich arbeite hier immer mit den .bit-Files, da wir das FPGA per Prozessor 
laden. Dazu muß ich am Beginn der Datei den "Vorkopf" abschneiden 
welcher z.B: das Erzeugungsdatum,Pfad/Dateiname,FPGA-Typ etc enthält.

Danach kommt dann der reine Bitstrom und der Beginnt IMMER mit
FFh FFh FFh FFh AAh 99h 55h 66h ...

oder als Bitstrom:
11111111111111111111111111111111 01010101 10011001 10101010 1001100110

zu beachten ist dabei das die Bits richtig herum gedreht werden müßen

ohne den "Vorkopf" (also ab FFh FFh FFh FFh AAh 99h 55h 66h ..." ist die 
größe IMMER fix (je nach FPGA-Typ) und entspricht GENAU den im 
Datenblatt angebenen Bitanzahl (plus 64Bit Synch-muster)

hoffe das klärt ein bischen auf

Fazit: wenn die im Datenblatt angegeben Anzahl Bits kleiner oder gleich 
Eprom-Bitanzahl entspricht ist das OK.

mfg

von Pat R. (patrik)


Lesenswert?

ahaaaaaa. Ich möchte es nämlich auch so ähnlich realisieren wie du. Aber 
ich möchte den FPGA nicht mit einem uC programmieren sondern mit einem 
uC den Speicher programmieren und dann soll sich beim Start der FPGA die 
Daten aus dem Speicher holen.

Wenn ich das also richtig verstanden habe, muss ich an den uC die Daten 
aus der Bit Datei ab der FFh FFh FFh FFh Sequenz bis zu den letzen 64 
Sync Bits schicken und die Bits so im Speicher ablegen. Richtig?

patrik

von Andreas Weschenfelder (Gast)


Lesenswert?

Kannst doch mit Impact auch direkt ein bin-File erzeugen. Da muss nichts 
mehr gefiltert werden.
Außerdem steht am Anfang des FPGA-Files ein Pattern, das als 
Start-Signal dient. Daten vorher werden vom FPGA während der 
Konfiguration ignoriert! Der Header sollte also nicht störend wirken!

von Sabine (Gast)


Lesenswert?

inf.ntb.ch/infoportal/help/topic/ch.ntb.infoportal/resources/embeddedSys 
tems/FPGA/pdfs/WebPackISE_Tutorial.pdf

Lese das mal, da ist auch der Jumper erwähnt der das Prom in der
Jtag Kette anmeldet.

von Sabine (Gast)


Lesenswert?


von Falk B. (falk)


Lesenswert?

@  Patrik Krizan (patrik)

>aber die msc Datei ist bei mir genau 798218 Bytes gross, das sind
>6385744 bits. Laut Datenblatt braucht man einen Speicher von mindestens
>2,270,208 Bits. Das haut nicht hin.

Doch. Wenn man mal die MCS Datei in einem normalen Texteditor anschaut 
wird man feststellen, dass die im Intel-Hex Format gespeichert ist. D.h. 
ein Byte ist mit mind. 2 ASCII-Zeichen == Bytes kodiert, wodurch sich 
die GRösse verdoppelt. Plus die Addressen und Zusatzinformationen.

> Muss ich aus der msc Datei etwas
>rausfiltern?

Nein, die ist pur.

MFG
Falk

von Pat R. (patrik)


Lesenswert?

Danke schön. Ich denke, jetzt ist es mir das klar.

Patrik

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.