RAM_STYLE - 2023.1 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2023-06-09
Version
2023.1 English

RAM_STYLE instructs the Vivado synthesis tool on how to infer memory. Accepted values are:

block
Instructs the tool to infer RAMB-type components.
distributed
Instructs the tool to infer the LUT RAMs.
registers
Instructs the tool to infer registers instead of RAMs.
ultra
Instructs the tool to use the AMD UltraScale+™ URAM primitives.
mixed
Instructs the tool to infer a combination of RAM types designed to minimize the amount of space that is unused.
auto
Lets the synthesis tool decide how to implement the RAM. This value is mainly used by XPMs that must choose a value for RAM_STYLE. This is the same as the default behavior. That must choose a value for RAM_STYLE.

By default, the tool selects which RAM to infer based on heuristics that give the best results for most designs. Place this attribute on the array declared for the RAM or a hierarchy level.

  • If set on a signal, the attribute affects that specific signal.
  • If set on a hierarchy level, this affects all the RAMs in that level of hierarchy. Sub-levels of the hierarchy are not affected.

This can be set in the RTL or the XDC.