Why aren't my RAMs being inferred? - Why aren't my RAMs being inferred?
Description Due to a problem in the Intel® Quartus® Prime Pro Edition Software version 21.1, you may find that your RAMs are not being inferred if you declare them as 2D RAMs, hence using a large amount of ALM resources and causes a long compilation time. This is because the Intel® Quartus® Prime Pro Edition Software interprets the 2D RAMs as 3D RAMs, and is unable to generate the .mif file. A RAM defined in VHDL as a 2D array of integers has n rows and m columns with k-bit integers. Since the integers are represented by k-bits, this adds 1 dimension and synthesis generates a 3D RAM for the 2D array of integers in VHDL. An example VHDL code of 2D RAM that can result in this problem: type ram_t is array (0 to 3, 0 to 3) of integer range 0 to 7; Resolution There is no workaround to this problem. This problem is fixed starting with the Intel® Quartus® Prime Pro Edition Software version 21.3.
Custom Fields values:
['novalue']
Troubleshooting
1509060545
False
['novalue']
['FPGA Dev Tools Quartus® Prime Software Pro']
21.3
21.1
['Programmable Logic Devices']
['novalue']
['novalue']
['novalue'] - 2021-10-03
external_document