Forum Discussion
Quartus 26.1: quartus_asm triggers quartus_pfg despite disabled generation flags
Product: Quartus Prime Pro Edition
Version: 26.1.0 Build 110 (03/26/2026)
Component: Assembler (quartus_asm) / Programming File Generator (quartus_pfg)
Environment: Linux
Summary
Running quartus_asm with programming file generation explicitly disabled still triggers an internal call to quartus_pfg. This secondary step fails non-deterministically, even when no inputs or environment variables change between runs.
Expected Behavior
When invoking:
quartus_asm ... --set=GENERATE_PROGRAMMING_FILES=OFF --set=GENERATE_RBF_FILE=OFF
quartus_pfg should not be invoked at all, or it should be strictly disabled / skipped internally
Actual Behavior
quartus_asm always invokes quartus_pfg, even with generation disabled. This then leads to quartus_pfg unpredictably succeeding or failing. See attached log file.
This leads to inconsistent results across identical runs.
Outcomes observed across runs:
The attached log file shows exemplary the different outcome of successive runs with no changes in between. The order of these results are interchangeable as observed.
1. Success
Quartus Prime Programming File Generator was successful. 0 errors
2. Corruption error
Error (19192): File ..._hps_auto.sof is corrupted
3. Segmentation fault
*** Fatal Error: Segment Violation ...
Reproduction
Run repeatedly without changing anything:
quartus_asm <proj> --read_settings_files=on --write_settings_files=off -c <rev> --set=GENERATE_PROGRAMMING_FILES=OFF --set=GENERATE_RBF_FILE=OFF
Impact
Breaks reproducibility guarantees
Causes intermittent CI failures
Forces workarounds (retry logic, ignoring exit codes, etc.)
Undermines trust in assembler output stage
Suggested Fixes / Questions
Why is quartus_pfg invoked when: GENERATE_PROGRAMMING_FILES=OFF GENERATE_RBF_FILE=OFF?
Can this behavior be: disabled completely, or controlled via a strict flag?
Is there a known issue with: HPS-related SOF post-processing
Workarounds (partial)
Re-running the same command sometimes succeeds
Running quartus_pfg separately succeeds
Ignoring exit codes is unsafe due to real corruption cases
Conclusion
quartus_asm appears to implicitly depend on quartus_pfg even when disabled, and that dependency is unstable. This behavior is first observed in Quarts 26.1. In 25.3 quartus_asm does not implicitly call quartus_pfg. At minimum, this should be documented; ideally, the invocation should be conditional or removable.
24 Replies
- Farabi_Altera
Regular Contributor
Hello,
From what I understand, even you explicitly disabled to generate programming files below :
quartus_asm <proj> --read_settings_files=on --write_settings_files=off -c <rev> --set=GENERATE_PROGRAMMING_FILES=OFF --set=GENERATE_RBF_FILE=OFF
after compilation, quartus_asm still generates the .sof and .rbf.
I can replicate this in Quartus Pro 26.1. I am filing ticket to SW engineering to look into this.
regards,
Farabi
- Farabi_Altera
Regular Contributor
Hello,
I have update in private message as it contains internal information.
Please reply in private message.
regards,
Farabi
- axel19
New Contributor
I have not received any private messages.
- axel19
New Contributor
By the way, the forum post formation is broken. It would allow me to add bullet points or code-blocks but when trying to publish it, it claimed that I was using forbidden HTML tags.
- KennyT_altera
Super Contributor
May I know what changes that you want to add?
- axel19
New Contributor
I assume you are referring to my comment saying that I was not able to add bullet points to my post. I don't want to add any changes to my post. I simply wanted to mention that I had to change the formatting of my post removing all bullet points formations and have them simply formatted as a new-line each.
I would be, however, much more interested in any technical feedback regarding my observations of quartus_asm.
Thank you!
- Farabi_Altera
Regular Contributor
OK,
Reproduction:
Run repeatedly without changing anything:
quartus_asm <proj> --read_settings_files=on --write_settings_files=off -c <rev> --set=GENERATE_PROGRAMMING_FILES=OFF --set=GENERATE_RBF_FILE=OFF
I will run above and will update the result.
- Farabi_Altera
Regular Contributor
Hi Axel,
Can you please comment if my run is same as what you did? quartus_pfg is not getting invoked automatically.
regards,
Farabi
- axel19
New Contributor
Hello Farabi,
No, I don't. As I said, I only run quartus_asm and it automatically invokes quartus_pfg.
Axel
- Farabi_Altera
Regular Contributor
I tried at my environment, I still can't invoke the quartus_pfg automatically. Can you share your .qar so I can replicate at my end? You may share using private message in this forum.
- Farabi_Altera
Regular Contributor
Hello,
I will need your qar to replicate the issue.
regards,
Farabi