Reputation: 183
Upon searching in multiple forums, I did not find a comprehensive answer.
I would like to understand, when does [PARAM1:0] ram [PARAM2:0]
inferred as a Block RAM by the ISE synthesizer and when it is not?
Upvotes: 1
Views: 218
Reputation: 16231
This list of conditions might be incomplete:
Ports
BlockRAM supports:
memories. Combinations with one write port and n read ports a also possible.
Our open-source library PoC contains 4 possible on-chip RAM implementations written in generic VHDL code, which can be mapped to Xilinx BlockRAMs. I assume you can read and understand these VHDL snippets, to translate it into Verilog code :). Alternatively, Xilinx offers a synthesis guide (UG 626, v14.4, p. 73)), which lists VHDL and Verilog design patterns of synthesizable code.
Upvotes: 1