- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Bug report:
Quartus Pro Edition version 20.3 and 20.4 crashes during synthesis ("Fatal Error: Segment Violation") on VHDL recursive function calls with a intermediate values set to a constant or to the initial value of a variable delared in the function.
This bug was first introduced with Quartus Pro version 20.3 and persists in 20.4. Versions 20.2 and earlier handle these code constructs correctly and without complaint.
To reproduce the bug, a minimal working example is provided.
Place the files example.vhd and example.tcl in a directory. In that directory, execute:
quartus -t example.tcl
I'm also attaching a resulting error log. See file log.txt.
I'm running Quartus on CentOS 8.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thank you, @KennyTan_Altera.
Yes, it appears that this bug has been fixed. And not just in this most recent release (21.3). It was already fixed in the previous release (21.2).
Thanks,
-Roee
Link kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
i manage to duplicate the crashes, will get back to you if we have a workaround on this.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thanks, @KennyTan_Altera. I'm already able to work around it with a minor code change in my design. I brought this problem to your attention so that it will be fixed in Quartus. Can you confirm that this will be fixed in the next release?
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Our developer will need sometimes to work on this.
Do you mind to share with us your workaround?
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Gladly.
For the workaround, instead of assigning the value to a constant, assign it to a variable, with the assignment done in the body of the function. See attached.
Note that the assignment of the value to the variable must be done in the body of the function, must not be done as an initial value assignment in the declarative part of the function, as the latter results in the same crash as setting a constant.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Also, oops, just noticed an error in my original post.
quartus -t example.tcl
Should have been:
quartus_sh -t example.tcl
to run Quartus in shell mode for the example provided. No need to bring up the GUI.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
seems like engineering will take more times to work on the fix. I will document this bugs as the kdb with the workaround. Let me know if there are more queries on this? If no, we shall close this thread.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thank you for the update, @KennyTan_Altera . Before you close this thread, please provide the Bug ID and a link to the Knowledge Data Base entry, for continuity. And if you can, please also provide an estimate of when the fix will be available in a new release Quartus Pro.
Thanks,
-Roee
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Will get back to you by end of next week. I have create a KDB but seems like need some changes on it.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Sorry, it will still need more time. will get back to you very soon.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
The KDB should have published last week:
filter with title: *** Fatal Error: Segment Violation: faulting address=(nil), PC=(nil) : 0:
But, due to a bug in our system, it cannot be display. Currently IT are working on the fix.
Thanks,
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thanks, @KennyTan_Altera , I can see it in the KDB.
Any word on when the problem is scheduled to get fixed in Quartus?
Thanks,
-Roee
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
The preliminary plan is around 21.3
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thanks, @KennyTan_Altera . Please keep me posted.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
You may check the latest version as we had release it
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Thank you, @KennyTan_Altera.
Yes, it appears that this bug has been fixed. And not just in this most recent release (21.3). It was already fixed in the previous release (21.2).
Thanks,
-Roee

- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite