Hallo zusammen, ich würde gerne meinen Programmcode (Ax8) mittels Data2Mem direkt im Bitfile ändern. Leider bin ich mir über meine BMM Files nicht ganz sicher. Könnt ihr mal drüber schauen: mein BMM-File: ----------------------------------------------------------------- ADDRESS_BLOCK pm RAMB16 [0x000:0xFFF] BUS_BLOCK //MainTop/MyA90S2313/ROM/Mrom_D1 [15:0] PLACED=X0Y0 OUTPUT = pm1.mem; MyA90S2313/ROM/Mrom_D1 [15:0] PLACED=X0Y0 OUTPUT = pm1.mem; END_BUS_BLOCK; BUS_BLOCK //MainTop/MyA90S2313/ROM/Mrom_D2[15:0] PLACED=X0Y2 OUTPUT = pm2.mem; MyA90S2313/ROM/Mrom_D2 [15:0] PLACED=X0Y2 OUTPUT = pm2.mem; END_BUS_BLOCK; END_ADDRESS_BLOCK; ----------------------------------------------------------------- das hat nach der Synthese ISE erstellt: ----------------------------------------------------------------- // BMM LOC annotation file. // // Release 10.1i - Data2MEM K.31, build 1.5.7 Nov 8, 2007 // Copyright (c) 1995-2009 Xilinx, Inc. All rights reserved. // // Created on 04/16/09 01:55 pm // //////////////////////////////////////////////////////////////////////// /////// // // Unnamed 405 PPC processor, ID 0, memory map. // //////////////////////////////////////////////////////////////////////// /////// //////////////////////////////////////////////////////////////////////// /////// // // Address space 'pm' 0x00000000:0x00000FFF (4 KB). // //////////////////////////////////////////////////////////////////////// /////// ADDRESS_SPACE pm RAMB16 [0x00000000:0x00000FFF] BUS_BLOCK MyA90S2313/ROM/Mrom_D1 [15:0] OUTPUT = pm1.mem PLACED = X0Y0; END_BUS_BLOCK; BUS_BLOCK MyA90S2313/ROM/Mrom_D2 [15:0] OUTPUT = pm2.mem PLACED = X0Y2; END_BUS_BLOCK; END_ADDRESS_SPACE; ----------------------------------------------------------------- Anschließend rufe ich data2mem wiefolgt auf: ..\hex2bin.exe main.hex ..\srecord-1.42-win32\srec_cat.exe main.bin -bin -o rom.mem -vmem 8 data2mem -bm ../../FPGA/Ax8_rom_bd.bmm -bt ../../FPGA/maintop.bit -bd rom.mem -o b ../../FPGA/final.bit Leider läufert der Core dannach nicht an... Seht ihr vielleicht auf Anhieb einen Fehler? Gruß Andreas
sieht ok aus ich mache so was die ganze zeit ohne probleme bei ISE 11.1 kann man den .MEM file in VHDL eingeben, macht automatisch den BMM aber da musst du ein paar wochen warten.. Antti PS i mache gerade eigenen SoC mit AX8, der ist fur Actel A3P060, aber ich teste die ganze zeit mit Xilinx und bmm geht viel schneller warest du interriert mit meinem projekt mithelfen? wurdest den source und alles kriegen..
Hi Antti, kannst du mal genauer beschreiben wie ich das .mem-File in den vhdl-code einfüge? Gruß Andreas
na, zuerst 8+ jahre erfahrung sammeln, dann geht von selbst :) ich mache immer mit alte methode, nutze das neue 11.1 noch nicht, mit AX8 arbeite ich auch, hat viele bugs leider die man reparieren muss aber eigentlich sollte es doch laufen noch ein tip: mach ein ROM module, in dem du entweder das bram module einbindest oder dann einen VHDL rom mit einem rom generator (zv das von ax8 distri), dann fur sim nimm das vhdl ROM, guck nach es lauft in simulator dann teste das mit vhdl ROM in FPGA nur dann ersetze es mit bram rom und teste wieder und wenns dann nicht geht dann chipscope rein und gucken was passiert humm aber warum (zT) hast du output= in deiner BMM datei??? das soll da ja nicht rein Antti der .BMM geht 100% --------------- CUT ---------------- ADDRESS_SPACE BIOS COMBINED [0x00000000:0x00000FFF] ADDRESS_RANGE RAMB16 BUS_BLOCK rom/FLASH/rom [15:0] ; END_BUS_BLOCK; END_ADDRESS_RANGE; ADDRESS_RANGE RAMB16 BUS_BLOCK rom/ramdp/rom [15:0] ; END_BUS_BLOCK; END_ADDRESS_RANGE; END_ADDRESS_SPACE; ------------- cut -------------------
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.