UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
6,276 Views
Registered: ‎02-08-2016

Cannot load block memory initialisation file in Block Memory Generator

I am trying to load a block RAM with data in my design in Vivado.

 

I am using Vivado 16.2. I add a block memory in the block design tools. When I try to customize the memory , the "Load Init File " button is greyed out and I cannot add a file to setup the memory as I wish.

 

I tried using tcl or directly editing properties :

Load_Init_File

MEM_FILE

However if I change them I get message

 

set_property CONFIG.Load_Init_File true [get_bd_cells blk_mem_gen_1]
WARNING: [BD 41-721] Attempt to set value 'true' on disabled parameter 'Load_Init_File' of cell '/blk_mem_gen_1' is ignored

 

How can I load my memory?

 

Thanks SImon

 

0 Kudos
5 Replies
Xilinx Employee
Xilinx Employee
6,264 Views
Registered: ‎08-01-2008

Re: Cannot load block memory initialisation file in Block Memory Generator

heck these ARs
https://www.xilinx.com/support/answers/63041.html
https://www.xilinx.com/support/answers/61387.html
https://www.xilinx.com/support/answers/66984.html
https://www.xilinx.com/support/answers/59786.html
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Xilinx Employee
Xilinx Employee
6,244 Views
Registered: ‎09-20-2012

Re: Cannot load block memory initialisation file in Block Memory Generator

Hi @simonh_bwt

 

When using IP integrator, the initialization in "BRAM Controller Mode" is done only through the MEM file. For more details, see Update MEM to Update Bit Files with MMI and ELF Data in Embedded Processor Hardware Design User Guide (UG898)

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)
0 Kudos
Adventurer
Adventurer
6,204 Views
Registered: ‎02-08-2016

Re: Cannot load block memory initialisation file in Block Memory Generator

Hi I should add I am trying to do this so I load the Block Memory for Simulation - not for bitstream.

 

I believe that the way to do this is to edit the design in RTL Analysis tools not in IP Integrator which cannot do it.

 

I will report later on my experiments

 

Simon

0 Kudos
Xilinx Employee
Xilinx Employee
6,132 Views
Registered: ‎09-20-2012

Re: Cannot load block memory initialisation file in Block Memory Generator

Hi @simonh_bwt

 

I think it is not possible to initialize the memory in BRAM controller mode in simulation.

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)
0 Kudos
Highlighted
Adventurer
Adventurer
6,111 Views
Registered: ‎02-08-2016

Re: Cannot load block memory initialisation file in Block Memory Generator

Hi Deepika,

 

Not being able to load block memory for simulation is extremely troubling. Here is an example situation

 

If a design integrates a third party, or "own design" processor of some sort, it is extremely useful to be able to simulate the processor and a block RAM. For example if the processor does not boot, or behaves strangely.

 

Could you comment on the following workaround.....

 

......would it be possible to build a simulation including block memory and use a TCL script that acts at 0nS to read a file and force the memory array in the block memory to be initialised to the values in the file, line by line?

 

Thanks

 

                  Simon

0 Kudos