• 0
Sign in to follow this  
ntrstd11

Modifying BRAM initial value quickly

Question

I'm using two inferred RAM modules which are assigned an initial state by reading lines from a file, as suggested to me previously here, in VHDL. The setup works fine, and all the RAM contents are loaded during synthesis properly.

However, as my design is pretty large, it takes a lot of time to synthesize the project each time I need to only change the RAM initialization files. I need to synthesize very often while testing with different memory contents, my design being otherwise the same. Is there a way to only modify the memory contents of a design without having to synthesize the whole project? I tried using incremental builds but the improvement was not that effective.

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Hi ntrstd11,

For Vivado, this almost understandable Answer Record http://www.xilinx.com/support/answers/53732.html might be of help.

For ISE, DATA2MEM is what you want to use (http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_4/data2mem.pdf)

For inferred memory blocks, you sometimes need to use the floor-planning tool to work out what the BRAM instance names are. It might be a wise time to switch over to using primitives, where you can be sure that the naming will stay consistent and they won't be optimized out.

 

Share this post


Link to post
Share on other sites
  • 0

The initial value is stored as a bunch of properties. You can load the design into Vivado, use set_property to modify the initial values, and then generate a new bitstream without doing any other steps.

I have done this sort of thing with MMCM to modify generated clock frequencies, but have not done it with BRAMs. However, the principal is the same so I expect it to work.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this