Forum Discussion
Hi @JordanD
Could you try to delete both the db and incremental_db folder before recompilation?
Please help to share the report stating that the design is missing .mif files. Screenshot will do as well.
Could you try to run using the latest version of Quartus Standard 20.1? To check if the issue persists.
Best Regards,
Richard Tan
p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos.
- JordanD4 years ago
New Contributor
Hello @RichardTanSY_Altera
Yes, if I delete those folders, it works. But I don't want to have to do that before every build.
I get the same results using Quartus 20.1 Lite (don't have license for Standard, trial license expired).
I know how to work around the issue, but it's still concerning that there aren't warnings for when this problem happens.
The problem is the path to the mif. My current set up is:
- In a custom VHDL file, I have altsyncram instantiation with INIT_FILE=>"apodWindow.mif"
- File apodWindow.mif is in the same directory as the VHDL file where altsyncram is instantiated. But this is not the qsf/qpf directory.
- The path to apodWindow.mif is specified in the qsf file: set_global_assignment -name MIF_FILE ../source/my_ram/apodWindow.mif
I've attached three different projects. In project1, I replicated my project set up with the folder structure and everything. It exhibits the problem I'm having. In project2, I changed the INIT_FILE path to be relative to the qsf. In project3, I set up the RAM using the IP wizard, which involves a qip file and sets INIT_FILE relative to the qsf.
I've attached images for synthesis results of each, with a clean build followed by a second build. All of them synthesize correctly on a clean build (no db or incremental_db folder). On the second build, all of them lack the critical warning about mif size. Only project1 fails to list the mif on the "Source Files Read" report, so project2 and project3 are viable solutions. However, Quartus really ought to give a warning of some kind that the file wasn't found in project1. It's exactly backwards: the critical warning appears when it found the file, and no warning appears when it didn't. Another curiosity: project3 (the wizard "right" way) in Source Files Read says a different path to the mif between builds, using absolute rather than relative.
Is there any other solution here?