Forum Discussion
Hi,
Thank you for your question regarding the behavior of Quartus output files and checksums after modifying a memory initialization file (.mif).
To clarify, a checksum is a value calculated from the contents of a file. It serves as a digital fingerprint, allowing users to verify the integrity and authenticity of the file. If any part of the file changes—even a single bit—the checksum will also change. This makes checksums an essential tool for confirming that a programming file is exactly as intended before it is used to configure a device.
When you update a .mif file and re-run only the Assembler (without re-running Analysis & Synthesis or Fitter), the assembler incorporates the new memory initialization data into the output programming files (such as .sof and .pof). As a result, the contents of these files change, and so does their checksum. This change is expected and necessary—it ensures that the programming file accurately reflects your latest design, including the updated memory contents.
This process is recommended by Altera. It allows you to efficiently update memory initialization data and regenerate programming files without needing a full compilation. The change in checksum is an important confirmation that the device will be programmed with the correct, updated memory data.
Thanks,
Best regards,
Kenny