Type: Answers
Area: Tools

Last Modified: September 11, 2012

Why do I get the following error during my Modelsim<SUP>&reg;</SUP> simulation: "Unresolved reference to &#39;intended_device_family&#39; or &#39;ram_block_type&#39; "?


You will get this error if you generate a dcfifo, scfifo, or lpm_ram_dc megafunction targeting a Stratix™ device with the Quartus® II software version 2.1 SP1 Megawizard®.

The two parameters, 'intended_device_family' and 'ram_block_type,' are incorrectly generated by the Megawizard and should be commented out for simulation purposes.

The workaround is to add comment identifiers (// in Verilog HDL or — in VHDL) as in the example below. For the 'lpm_hint' parameter or generic, add the RAM_BLOCK_TYPE value and its associated memory block type using the syntax in the example:

// lpm_fifo_dc_component.intended_device_family = "Stratix",
lpm_fifo_dc_component.lpm_width = 8,
lpm_fifo_dc_component.lpm_numwords = 256,
lpm_fifo_dc_component.lpm_widthu = 8,
lpm_fifo_dc_component.lpm_showahead = "OFF",
// lpm_fifo_dc_component.ram_block_type = "M512",
lpm_fifo_dc_component.lpm_hint = "USE_EAB=ON,RAM_BLOCK_TYPE=M512",
lpm_fifo_dc_component.lpm_type = "LPM_FIFO";

This problem has been resolved in the Quartus II software version 2.2. The 'intended_device_family' is now part of the altera_mf simulation model files. The parameter ram_block_type has been removed from the Megawizard in the Quartus II software version 2.2 and the lpm_hint parameter is used instead.

For designs created in Quartus II software version 2.1 (or 2.1 SP1), you need to perform the workaround above or regenerate your Megawizard files using the Quartus II software version 2.2.