RAM_DECOMP - 2024.1 English

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2024-06-28
Version
2024.1 English

The RAM_DECOMP attribute instructs the tool to infer RTL RAMs that are too large to fit in a single block RAM primitive to use a more customizable configuration.

For example, a RAM specified as 2K x 36 would often be configured as two 2 K x 18 block RAMs arranged side by side. This is the configuration that yields the fastest design. By setting RAM_DECOMP = "power", the RAM would instead be configured as two 1K x 36 block RAMs. This is more power-friendly because during a read or write, only the one RAM with the address being used is active. It comes at the cost of timing because Vivado synthesis must use address decoding. The RAM_DECOMP would force the second configuration of that RAM.

Alternatively, a value of area would force the configuration to be as small of an area as possible. This could also be a change from the fastest design.

The values accepted for RAM_DECOMP are "power and area".

This attribute can be set in either RTL or XDC. Place the attribute on the RAM instance itself.