cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
6,361 Views
Registered: ‎08-26-2014

Memory initialization for non-processor designs with data2mem (Vivado)

Hello,

 

I have a non-processor design (no microblaze or similar) with a lot of BRAMs that I´m synthesizing in Vivado. After the bitfile generation, I´d like to change the content of the BRAMs. I think this was possible with ISE with the help of a .bmm file and the data2mem tool.

 

About a year ago, I asked here and also followed some other threads concerning this topic with Vivado, but the general answer was (quote):

 

Non processor based designs are not supported by the current code.  Memory initialization via data2mem for non-processor based designs is currently not supported, but this is covered by roadmap.

 

This is something, however, that is on the roadmap for a future release.

 

Has something changed since then?

 

My current workaround for Vivado ist to save a checkpoint after place&route and then open the checkpoint and then use this tcl command:

set_property INIT_00 {256'h0000000000000000000000000000000000000000000000000000000000000000} [get_gells {i_top/i_sub_block/i_ram_name/U0/*.ram}] 

to manipulate the contents of the BRAMs. This works more or less, but is not really convenient. I have to get my memory content into a set of tcl commands first, then open Vivado, read in the checkpoint and have to run the whole bitfile generation. This takes a lot longer than just patching a bitfile. 

 

So, are there any news on that topic?

 

Thanks in advance

Antonio

0 Kudos
1 Reply
Highlighted
Teacher
Teacher
6,324 Views
Registered: ‎03-31-2012

did you see this post: http://forums.xilinx.com/t5/Embedded-Development-Tools/RAM-initialization-post-build-in-Vivado/m-p/493184#M32471
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos