Due to a problem in versions 5.1, 5.1 SP1 and 5.1 SP2 of the QuartusII® software, a functional failure may occur in designs with either of the following characteristics:
- The design contains inferred ROM. A design with inferred ROM has the following Information messages in the Analysis & Synthesis Messages :
Info: Inferred <number> megafunctions from design logic
Info: Inferred altsyncram megafunction (OPERATION_MODE=ROM, ) from the following design logic: <logic name>
- The path for the memory initialization file of any RAM or ROM is specified through User Library paths. RAM or ROM instantiations that specify absolute paths to memory initialization files, or with memory initialization files in the project directory, are not affected.
The issue occurs when changes to RAM and ROM memory initialization files are not recognized properly in a subsequent compilation. This can cause the design to fail functionally in a gate-level timing simulation or hardware after a successful compilation.
The issue is caused by a failure to detect changes to the memory contents of ROM inferred by the Quartus II software, or changes to the memory initialization files of an instantiated RAM or ROM. The Quartus II software versions 5.0 and earlier do not have this issue.
To fix this issue, install the patch listed below for your version of the Quartus II software.
|Quartus II Software Version||Patch|
|Version 5.1||Install Service Pack 2 and Install Required Patch|
|Version 5.1 SP1||PC Platform: pc_quartus_51_sp1_memory_file_patch_1_19.exe |
Unix Platform: solaris_quartus_51_sp1_memory_file_patch_1_19.tar
Linux Platform: linux_quartus_51_sp1_memory_file_patch_1_19.tar
|Version 5.1 SP1 Web Edition||PC Platform: pc_quartus_51_memory_file_patch_1_19_we.exe|
|Version 5.1 SP2||PC Platform: pc_quartus_51_sp2_memory_file_patch_2_01.exe |
Unix Platform: solaris_quartus_51_sp2_memory_file_patch_2_01.tar
Linux Platform: linux_quartus_51_sp2_memory_file_patch_2_01.tar
|Version 5.1 SP2 Web Edition||PC Platform: pc_quartus_51_memory_file_patch_2_01_we.exe|
You can work around this issue, without a patch,by deleting the db subdirectory in your project directory before every compilation.