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

2014.3 - Vivado - Updatemem crashes when using a MMI file with more than one memory on Windows


When trying to run updatemem on an IPI design that contains more than one BRAM range, I receive the error below on Windows when I run the following command:

C:\Xilinx\SDK\2014.3\bin\updatemem.bat -meminfo test.mmi -data test.mem -bit test.bit -proc mb_block_i/microblaze_0 -out download.bit

The application has run out of memory
INFO: [Common 17-206] Exiting updatemem at Thu Oct 16 17:42:39 2014...

How can this be resolved?


There are two causes for this issue.

  1. The address ranges are being created incorrectly in the MMI file.
  2. The updatemem tool isn't accepting the MEM file due to a format issue. 


To fix the first issue, open the generated MMI file and correct the address range. 

For example, the address range will be seen as:

Here we can see that the address range is a negative number, this should not be the case. 

To obtain the correct value, open the address Editor in Vivado IPI design, or you can obtain it from the BMM file (by using the TCL command write_bmm). 

Once this obtained, convert the HEX address range to Decimal. 

For example, an address range of

0xC0000000 to 0xC0001FFF

would change to 

Begin="3221225472" End="3221233663"

To address the second issue. 

Convert the MEM file into a UNIX format. 

This can be done by using an open source dos2unix tool. 

The command is seen below:

dos2unix <MEM file name>

Once these two steps have been completed, re-run the updatemem.



AR# 62564
Date 10/24/2014
Status Active
Type General Article
  • SoC
  • Kintex-7
  • Kintex UltraScale
  • More
  • Artix-7
  • Virtex-7
  • Virtex UltraScale
  • Less
  • Vivado Design Suite - 2014.3
Page Bookmarked