This Answer record describes the flow of how handle the ELF and BMM files in a Vivado project containing an IPI sub module added as a DCP (Design Check Point).
Note: For information on how to handle this flow with a Netlist/EDIF sub module, please see (Xilinx Answer 53064).
Please follow the steps below.
In Project Mode:
In Non-Project Mode, the respective TCL commands are as follows:
2. Associate the ELF file.
In Project Mode:
In Non-Project Mode, the respective TCL commands are seen below:
#Associate the ELF files
set_property MEMDATA.ADDR_MAP_CELLS {design_1_i/microblaze_0} [get_files test.elf]
3. Point to the respective hierarchy in the BMM file. This will ensure that the back-annotated (_bd) BMM file is created and placed in the impl_x folder.
Highlighted the found BRAM and in the cell properties, the INIT_xx should be populated with the information from the ELF file:
In Non-Project Mode, the respective TCL commands are seen below:
#Verify the INIT_xx was correctly initialized with ELF data
get_property INIT_00 [get_cells {PATH TO BRAM INSTANCE}]
Note: If either the back-annotated BMM file was not generated, or the INIT_xx was not populated, then please revisit steps 3 and 4 respectively and verify that the hierarchy is correct and that the names are correct.