UPGRADE YOUR BROWSER
We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!
set_property BMM_INFO_DESIGN {top_level.bmm} [current_design]
write_bmm top_level_bm.bmm
CRITICAL WARNING: [Memdata 28-127] data2mem failed because the ADDRESS_SPACE specification is incorrect or empty. Check the bmm file or the bmm_info_* properties. The design BRAM initialization strings have not been updated.
ERROR: [Common 17-69] Command failed: Failed to create a merged bmm file.
Non processor based designs are not supported by the current code.
This is something, however, that is on the roadmap for a future release.
For now, if you are using the BMG you will have to manually create the BMM file using the below steps:
1) Open the BMG XCI file and look at the summary:
Here you can see that the BRAM resources are 4 x RAMB36s.
If you open the implemented design and do a Ctrl+F you can find your BRAMs:
In the example above, this BMM file would look like:
ADDRESS_BLOCK U0 RAMB36 [0x00000000:0x000047FF]
BUS_BLOCK
U0/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[0].ram.r/v6_noinit.ram [31:24] PLACED = X0Y31;
U0/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[1].ram.r/v6_noinit.ram [23:16] PLACED = X0Y30;
U0/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[2].ram.r/v6_noinit.ram [15:8] PLACED = X0Y32;
U0/inst_blk_mem_gen/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[3].ram.r/v6_noinit.ram [7:0] PLACED = X0Y33;
END_BUS_BLOCK;
END_ADDRESS_BLOCK;
The mem file contains the following:
@00000000
1DEAD
2ABBA
To verify this you can generate the bitstream, using the commands below:
data2mem -bm test.bmm -bd test.mem -bt test.bit -o b updated.bit
data2mem -bm test.bmm -bt updated.bit -d > dump_mem.txt
If you open the dump_mem.txt file you can see that the memory is populated.
For example:
Since we are using the RAMB36, this uses the parity bits.
To figure out the parity bits:
@00000000
0001 1101 1110 1010 1101
0010 1010 1011 1011 1010
The first two bits are discarded.
The second two bits are the parity bits seen below:
AR# 59259 | |
---|---|
Date | 03/26/2015 |
Status | Archive |
Type | Known Issues |
Tools |
|