www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Speichern der BIT-Datei in BlockRAM in Spartan-3


Autor: Salih Bayar (panicc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

ich habe ein paar Fragen:

1. ist es möglich eine partielle Bit-Datei in BlockRam speichern ?
(dann sie irgendwie auf FPGA herunterladen (Ohne PC))

2. Wo ist die Konfigurationsspeicher in Spartan-3, ist es ein Teil des 
BlockRAMs? (Beispiel: wenn ich mal ohne CPU, eine bit Datei erstelle und 
schaue mal im FPGA-Editor, und sehe dass die BlockRAms leer sind.)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Salih Bayar (panicc)

>1. ist es möglich eine partielle Bit-Datei in BlockRam speichern ?

Was meinst du mit "partieller Bit-Datei"?

>(dann sie irgendwie auf FPGA herunterladen (Ohne PC))

???
Wie soll die Datei denn in den FPGA kommen? Man kann sie natürlich 
einmal in die Konfigurationsdaten integrieren. Siehe Core Generator und 
*.COE Files.

>2. Wo ist die Konfigurationsspeicher in Spartan-3, ist es ein Teil des
>BlockRAMs?

Nein. Der Konfigurationsspeicher ist für den Nutzer unsichtbar. Man kann 
prinzipiell über JTAG darauf zugreifen, praktsich jedoch nicht, da das 
Datenformat vonXilinx nicht veröffentlicht ist.

> (Beispiel: wenn ich mal ohne CPU, eine bit Datei erstelle und
>schaue mal im FPGA-Editor, und sehe dass die BlockRAms leer sind.)

???
Du meinst, du hast einen Softcore-Prozessor (Microblaze?) und ohne 
diesen Prozessor sind die BRAMs leer. Klar, was soll auch drin sein?

MFG
Falk

Autor: Salih Bayar (panicc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Falk,

erstens Danke für schnelle Antwort,

ich habe erstmal eine volle Bit-Datei und durch "bitgen -g 
activereconfig.. flow " eine partielle Bit-datei für Spartan-3
erstellt. Was ich möchte ist einfach die partielle Bit-Datei in BlockRAM 
speichern, und dann sie "at runtime" mit der Hilfe von Microblaze "on 
chip" auf Konfigurationsspeicher laden (Ohne PC) und damit erhalte ich 
ein "stand alone " System bzw. eine Selbstrekonfiguration.


> ???
> Wie soll die Datei denn in den FPGA kommen? Man kann sie natürlich
> einmal in die Konfigurationsdaten integrieren. Siehe Core Generator und
> *.COE Files.

Ich weiss eigentlich wie Core Generator funktioniert, ich habe mir schon 
überlegt.
Aber soweit ich wusste, eine .bit Datei hat nur binary Werte (nur 0, 1), 
aber wenn ich mal den Inhalt der Bitdatei mit Hex editor anschaue, sehe 
ich es ist eigentlich eine hex Datei. Heisst das, dass ich sie als eine 
.coe Datei in BlockRAM speichern?

Beispiel: MEMORY_INITIALIZATION_RADIX = 16;
MEMORY_INITIALIZATION_VECTOR= 09, 0f, f0, 0f, f0, 0f, f0, 0f, f0, 00, 00 
01, 61, 00.....

Oder gibt es einen Converter von .bit Datei zu .coe Datei?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Salih Bayar (panicc)

>speichern, und dann sie "at runtime" mit der Hilfe von Microblaze "on
>chip" auf Konfigurationsspeicher laden (Ohne PC) und damit erhalte ich
>ein "stand alone " System bzw. eine Selbstrekonfiguration.

Das ist AFAIK nicht möglich. Da wirst du besser einen exteren EEPROM zur 
Speicherung von Daten verwenden müssen.

>Ich weiss eigentlich wie Core Generator funktioniert, ich habe mir schon
>überlegt.

Eigentlich? Ich glaube du hast den Prozess der Synthese noch nicht ganz 
verstanden.

>Aber soweit ich wusste, eine .bit Datei hat nur binary Werte (nur 0, 1),
>aber wenn ich mal den Inhalt der Bitdatei mit Hex editor anschaue, sehe
>ich es ist eigentlich eine hex Datei.

Logisch.

> Heisst das, dass ich sie als eine .coe Datei in BlockRAM speichern?

Nein. Wie bereits gesagt, das FPGA kann sich nicht selber 
rekonfigurieren, schon gar nicht partiell,das kann nur der PC über ein 
Programmierkabel oder ein externer Mikrocontroller.

>Beispiel: MEMORY_INITIALIZATION_RADIX = 16;
>MEMORY_INITIALIZATION_VECTOR= 09, 0f, f0, 0f, f0, 0f, f0, 0f, f0, 00, 00
>01, 61, 00.....

>Oder gibt es einen Converter von .bit Datei zu .coe Datei?

Nein, der ist auch sinnlos. Die *.coe Datei wird während der Synthese in 
das Bitfile integriert.

MfG
Falk

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was man wohl machen kann, ist die Konfigurationsdaten auf einem externen 
Flash zu speichern und dann gesteuert durch den internen Microblaze in 
den FPGA zu laden. Das geht auch mit partieller Rekonfiguration, dann 
ist halt der MB-Prozessor der statische Teil und der Userbitstream im 
Flash der dynamische Teil des Designs. Theoretisch alles kein Thema, 
praktisch aber schon. Ich hatte mit dyn. part. Rekonfiguration während 
meines Diploms zu tun... Xilinx verspricht da mehr als es dann auch 
erfüllen kann, der Support dafür hält sich auch in Grenzen :-(

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso: schau dir mal folgende XAPP an:
http://www.xilinx.com/bvdocs/appnotes/xapp441.pdf

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.