mikrocontroller.net

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


Autor: Pat Rik (patrik)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Pat Rik (patrik)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pat Rik (patrik)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pat Rik (patrik)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Weschenfelder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Sabine (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sabine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pat Rik (patrik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schön. Ich denke, jetzt ist es mir das klar.

Patrik

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.