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 forRAM_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.