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# 55939

2013.1 Vivado data2mem - Fatal Errors in designs with large amounts of Block RAM


In Vivado 2013.1 tools, the loading of ELF files into block RAM (data2mem) will generate errors if the internal Vivado parsing of the BMM file exceeds 32K in size. This means the final, placed BMM file will need to be well under 32K to prevent these errors. Vivado EDK and IPI designs that have large amounts of block RAM may see messages like this during opening of the implemented design and during the write_bitstream step.
                FATAL::43 - Release of unknown memory pointer, 0x4D463787.
                    Source file "memdata/data2memutil/common/ParseUtils.c", line number 2137.
In some cases, you may see Vivado crash with a message like this:
                FATAL::43 - Release of unknown memory pointer, 0x50FD4D37.
                    Source file "memdata/data2memutil/common/ParseUtils.c", line number 2137.
                Abnormal program termination (EXCEPTION_ACCESS_VIOLATION)
                Please check 'C:/Users/usa/AppData/Roaming/Xilinx/Vivado/hs_err_pid4008.log' for
                - pure virtual function call


The recommended fix is 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 bist_app.elf tag system_i_microblaze_0 -o b bist_app.bit

Some designs may be able to resolve this issue by reducing the length of the block RAM component name and associated hierarchy, but only if this reduces the BD BMM file to no more than 28K. If errors still occur, use the ISE fix noted above.

AR# 55939
Date Created 05/09/2013
Last Updated 05/10/2013
Status Active
Type Known Issues
  • Vivado Design Suite - 2013.1