3853 - Diamond / All FPGA: How to make Synplify Pro use Embedded Block RAM (EBR) for the inferred ROM in my design?<br>

3853 - Diamond / All FPGA: How to make Synplify Pro use Embedded Block RAM (EBR) for the inferred ROM in my design?<br>

Solution:

To make Synplify Pro use EBR for the inferred ROM, use the attribute syn_romstyle with the value block_rom.
Synplify Pro infers ROM only when the address width is more than 3.
The usage of this attribute is the following:
Verilog Syntax
object /* syn_romstyle = "auto(default) | EBR | logic" */ ;

Verilog Example
reg [8:0] z /* synthesis syn_romstyle = "EBR" */;

VHDL Syntax
attribute syn_romstyle of object : object_type is "block_rom | logic" ;

VHDL Example
signal z : std_logic_vector(8 downto 0);
attribute syn_romstyle : string;
attribute syn_romstyle of z : signal is "logic";