[Xilinx] Programmcode im Bitfile ändern mit Data2Mem

Gast #1068111
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
Gast #1068148
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.
Gast #1068708
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
Gast #1068915
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
Gast #1069207
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
Gast #1069588
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren