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 power-friendly configuration.
For example, a RAM specified as 2 K 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, the RAM would
instead be configured as two 1 K 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.
The value accepted for RAM_DECOMP is
"power".
This attribute can be set in either RTL or XDC. Place the attribute on the RAM instance itself.