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!

AR# 56179

2013.1 - Vivado write_bitstream causes error/critical warning due to Block RAMs not being populated with ELF file

Description

In some cases, the ELF file is not being properly associated with the project and so the following error and critical warning is produced in the synthesis and implementation logs.
The critical warning is seen in the messages of Vivado tools, but the error does not seem to show and is only seen in the logs.

******************************************************************************************
Generating merged BMM file for the design top 'top'...
ERROR::80 - ADDRESS_SPACE or ADDRESS_MAP tag name 'microblaze_mcs_0_microblaze_mcs_0' was not found.
    Some data may have not been translated.
 
CRITICAL WARNING: [Memdata 28-123] Elf file hierarchy association might be incorrect. Re-do the processor instance to ELF file association and re-open the design.
To associate the ELF file, use the Tools->Associate ELF Files menu, or set the MEMEDATA.ADDR_MAP_CELLS property on the .elf file using the Tcl console.
******************************************************************************************

To check to see if the block RAM was properly populated with the ELF file, use the following commands in the Tcl Console:

get_property MEMDATA.ADDR_MAP_CELLS [get_files -of [current_fileset] hello_world.elf]

Returns:

{{microblaze_0/microblaze_mcs_0}}          (*NB* Instance naming as per the generated BMM file)

Open the synthesized or implemented design:

get_property INIT_01 [get_cells */U0/lmb_bram_I/RAM_Inst/Using_B16_S18.Using_RAMB36.The_BRAMs[*].RAMB36_I1]             (*NB* Property naming as per the generated BMM file)

Returns:

256'h0000000000000000000000000000000000000000000000000000000000000000 256'h0000000000000000000000000000000000000000000000000000000000000000

It can be seen that the block RAMs are not populated by the ELF file.

Solution

To resolve this issue:

1. As directed in the Critical Warning, try to associate the ELF file and redo the above checks.

2. If the ELF file is still not associated, data2MEM can be used to generate an updated bitstream with the block RAMs populated with the ELF file, and then use iMPACT to Call data2mem from an ISE 14.5 shell to load the ELF file into the block RAM.

For example:

data2mem -bm system_bd.bmm -bt system.bit -bd hello_world.elf tag microblaze_mcs_0 -o b download.bit

data2MEM Debugging Guide (Xilinx Answer 46945) can be used a reference.

AR# 56179
Date Created 05/29/2015
Last Updated 05/29/2013
Status Active
Type General Article
Devices
  • FPGA Device Families
Tools
  • Vivado Design Suite