Forum: FPGA, VHDL & Co. [Xilinx] Programmcode im Bitfile ändern mit Data2Mem


von Matthias (Gast)


Lesenswert?

Hallo Leute!

Ich habe ein Problem: Ich simuliere einen AVR-Core auf einem Spartan 
FPGA und möchte bei kleinen Änderungen im C-Quellcode nicht immer neu 
synthetisieren müssen.

Von Data2Mem habe ich schon gehört, weiß aber nicht, wie man diese 
bmm-Datei generiert oder schreibt, die dort benötigt wird.

Kann mir da jemand weiterhelfen?

Vielen Dank im Voraus,
Matthias

von FPGA-Frickler (Gast)


Lesenswert?

So sieht das bmm bei einem V5 mit KleinstPlauze aus:


ADDRESS_MAP microblaze_0 MICROBLAZE 100
  ADDRESS_SPACE lmb_bram_combined COMBINED [0x00000000:0x00007fff]
    ADDRESS_RANGE RAMB32
    BUS_BLOCK
      microblaze_0/lmb_bram/lmb_bram/ramb36_0 [31:28] ;
      microblaze_0/lmb_bram/lmb_bram/ramb36_1 [27:24] ;
      microblaze_0/lmb_bram/lmb_bram/ramb36_2 [23:20] ;
      microblaze_0/lmb_bram/lmb_bram/ramb36_3 [19:16] ;
      microblaze_0/lmb_bram/lmb_bram/ramb36_4 [15:12] ;
      microblaze_0/lmb_bram/lmb_bram/ramb36_5 [11:8] ;
      microblaze_0/lmb_bram/lmb_bram/ramb36_6 [7:4] ;
      microblaze_0/lmb_bram/lmb_bram/ramb36_7 [3:0] ;
    END_BUS_BLOCK;
    END_ADDRESS_RANGE;
  END_ADDRESS_SPACE;
END_ADDRESS_MAP;



Ich vermute, hier musst du die "Pfade" zu den BRAM-blöcken die der AVR 
verwendet angeben. Also per fpga editor raussuchen, welche die am AVR 
datenbus liegen und hier eintragen.

von Matthias (Gast)


Lesenswert?

Vielen Dank schon mal.

Könntest du bitte noch angeben, wo man solche Informationen finden kann? 
Gibt es da Dokumente oder Links dazu? Im pdf zu data2mem von Xilinx 
steht ja nicht viel drin, außer dass man eine bmm-Datei braucht...

In welcher Datei steht denn die Liste, wie die Blockrams gemapped 
werden?

Gruß,
Matthias

von FPGA-Frickler (Gast)


Lesenswert?

Xilinx beschreibt üblicherweise Tools nicht in einzelnen Dokumenten 
sondern den gesamten Entwicklungsprozess und die nötige Tool-Chain in 
einem grossen Dokument. Infos zu bmm habe ich gefunden in:
 -Embedded System Tools Reference Manual (liegt als est_rm.pdf nach der 
EDK installation unter: doc\usenglish\
 -XPS project files (Ausgedruckt nach Suche auf www.xilinx.com)

Eine konkrete Beschreibung des bmm syntax kenne ich nicht, obwohl es die 
sehr wohl geben kann. Da das bmm file aber recht gut lesbar ist, kann 
man hier viel mit Probieren erreichen. Als Vorlage kann man man sich mit 
dem EDK ein bmm file für eine ähnliche Microblaze-Architecture erzeugen 
lassen.

Xilinx hat auf seiner Website auch einige User-Foren. 
http://forums.xilinx.com/xlnx/board?board.id=ForumU

Frage dort mal nach Beschreibung eines bmm files. Hinweis: AVR-Clones 
sind (waren?) meiner Erfahrung nach illegal, Atmel hat da schon mal 
rechtliche Schritte eröffnet. Also erst mal nicht erwähnen.

Da fällt mir grad ein, ich hatte mal einen anderen uC für Xilinx und ein 
Tool das ROM-Images für diesen ub in die FPGA Toolchain einschob. 
Vielleicht war es das hier:
- http://www.embeddedtronics.com/pic_core.html   oder auch
- http://tams-www.informatik.uni-hamburg.de/vhdl/vhdl.html (nach "PIC 
16C5x" suchen.


MfG

von Duke Scarring (Gast)


Lesenswert?

Zum PicoBlaze gibt es eine AppNote, die beschreibt, wie man die BRAMS 
per JTAG updaten kann. Das lässt sich auch auf andere IP-Prozessoren 
übertragen.

Welchen AVR-Core hast Du verwendet?

Duek

von Matthias (Gast)


Lesenswert?

Es ist der AVR_Core von opencores.org:
http://www.opencores.com/projects.cgi/web/avr_core/overview

Das Speicherlayout ist dort allerdings etwas kompliziert und wurde daher 
ersetzt...


Eure Quellen werde ich mal durcharbeiten!

Gruß,
Matthias

von Duke Scarring (Gast)


Lesenswert?

@Matthias:

Was habt Ihr ändern/anpassen müssen, damit der Core läuft? Bei mir 
wollte er damals nicht laufen. Eure Architektur ist ein Spartan3, 
richtig?

Vielleicht kannst Du den Core auf dieser Seite eintragen (mit 
Leistungsdaten/Platzverbrauch):
FPGA Soft Core

Duke

von Matthias (Gast)


Lesenswert?

Man muss Rom und Ram anpassen. Im Prinzip reicht eine einfache 
Implementierung, wie es im XST User Guide steht (Seiten 191f).

Wir basteln an dem Core im Zuge eines Uni-Projektes herum. Daher ist die 
Version noch nicht fertig und ich möchte das vorher keinem zumuten ;)


Das Problem mit den bmm-Dateien besteht allerdings immernoch...

Gruß,
Matthias

von Uwe Bonnes (Gast)


Lesenswert?

Webpack (und damit wohl ach ISE) kommt mit einem d2m.pdf Dokument.

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.