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!

Reply

how to set global ram_style attribute in tcl command

Highlighted
Visitor
Posts: 9
Registered: ‎04-16-2018

how to set global ram_style attribute in tcl command

i want to set ram_style to block in tcl command for all hirarchical modules in present project globally

Moderator
Posts: 321
Registered: ‎04-24-2013

Re: how to set global ram_style attribute in tcl command

HI @suraj.kole_imgtec,

 

Check out User Guide 912 Vivado Design Suite Properties Reference Guide

 

The Syntax is as follows.

 

set_property ram_style block [get_cells myram]

 

Values
• block: Instructs the tool to infer Block RAM type components.
• distributed: Instructs the tool to infer distributed LUT RAMs.
• registers: Instructs the tool to infer registers instead of RAMs.
• ultra: Instructs the tool to use the UltraScale+ URAM primitives.

 

So in your case it would be something similar to this when applied pre synthesis.

 

set_property ram_style block [get_cells -hierarchical -filter { PRIMITIVE_TYPE =~ RTL_MEMORY.*.* } ]

 

You can use the Find command in the GUI to verify that you are applying the constraint to to correct primitives.

 

After you run synthesis, use report_utilization to verify that the RAM is using block ram as opposed to distributed.

 

Best Regards
Aidan

------------------------------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if this answered your question
Give Kudos to a post which you think is helpful and may help other users
------------------------------------------------------------------------------------------------------------------
Newbie
Posts: 4
Registered: ‎05-04-2018

Re: how to set global ram_style attribute in tcl command

Hello,

   I have some doubts...

 

1. set_property ram_style block [get_cells -hierarchical -filter { PRIMITIVE_TYPE =~ RTL_MEMORY.*.* } ]

     in this is it RTL_MEMORY or BLOCKRAM

 

2. how does above command if applied in pre-synthesys will give valid get_cells resuls or return non-null list