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
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.
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
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
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
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
@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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.