- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, hopefully a quick question, I am programming a decoder with a series of if-else statements, and I want to tell the synthesis tool that all clauses should be evaluated in parallel, for that I know that I can add the "unique" modifier to the first if (as stated in section 7.10.1 of this book: https://link.springer.com/book/10.1007/0-387-36495-1), but when I try to run the "analysis & synthesis" process I get back the following error (Quartus Prime Version 23.1 std.0 Build 991 11/28/2023 SC Lite Edition):
"10170 Verilog HDL syntax error at codificador_prioridad.sv(8) near text: 'if'; expecting 'case' ..."
So, does this mean that the tool does not implement such syntax? Or it is not a supported syntax in Systemverilog (e.g. the book is lying)? Or is that the standard implemented by the tool is not updated?
Kind Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It might help if you show the relevant lines of the .sv file under question.
Otherwise we are just shooting in the dark not knowing exactly what you coded.
There is this tho ... https://www.intel.com/content/www/us/en/programmable/quartushelp/17.0/mapIdTopics/jka1465580571884.htm
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It might help if you show the relevant lines of the .sv file under question.
Otherwise we are just shooting in the dark not knowing exactly what you coded.
There is this tho ... https://www.intel.com/content/www/us/en/programmable/quartushelp/17.0/mapIdTopics/jka1465580571884.htm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As mentioned, unique is only for case statements since more than one condition can match with a Verilog case statement. if-else implies a priority encoder so that is not what you want. You should be using a case statement and if there is the possibility of more than one condition matching the expression you are evaluating, then you can add unique to it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe the community have answered your inquiry. Do you have further inquiry in regards to this?
Regards,
Richard Tan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm pleased to know that your question has been addressed.
Now, I will transition this thread to community support. If you have any further questions or concerns, please don't hesitate to reach out.
Thank you and have a great day!
Best Regards,
Richard Tan

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page