-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for iverilog #85
Comments
Supporting iverilog in its current state would be difficult to do and likely not a priority at this time. Notably - use of struct members in always blocks is perfectly LRM compliant and is supported by the majority of other tools. Re-architecting the regblock generator to avoid this would be a huge undertaking. In the meantime, verilator should work for the generated RTL. I do have an open ticket (#41) tracking some other limitations in verilator, but all of them are regarding constructs in my testbench code and not the generated RTL. |
If the tool doesn't support language constructs introduced ~20 years ago, does it make sense to continue to use such a tool? |
I'm not familiar with iverilog too much, but I always thought of it as a Verilog simulator and not SystemVerilog. My guess is that the addition of SystemVerilog support is more of a recent development so maybe they haven't gotten around to some of the slightly less popular features. It's still worth submitting a bug report for them - at the very least, it signals to them which features are useful and need attention, even if they may not get around to it soon. As the maintainer of the PeakRDL projects, I hugely appreciate each bug report or feature request since it gives me valuable feedback on what users find important (even though I have some feature requests I haven't touched in years!) |
@amykyta3 Yep, the SV support is new and getting better but still lags commercial tooling. @solomatnikov A lot of opensource projects have no option but to use Verilator or iverilog. And just because it's in the LRM, doesn't always mean that vendors support it. Go back 10 years and the support for SV by even the major EDA vendors was still flakey. A lot of the syntax used in this tool seems to be more of a verification SV style which will always cause problems. I'll get round to opening a ticket on iverilog at some point but it looks like I'll try modifying the exporter for now. Cheers. |
Hey there,
I'm looking for a SystemRDL Verilog exporter that outputs Verilog or SV that is readable by Icarus Verilog. The Regblock exporter seems to output RTL with a number of styles that iverilog can't cope with, including:
That's as far as I got in my analysis. I just wanted to check if you had any plans on adding support for iverilog before I looked further. I think most of the verification style syntax issues would go away by using sub-modules for the field logic, similar to the OpenTitan regtool. The struct declarations are easy to fix.
Any plans for iverilog support on your horizon?
The text was updated successfully, but these errors were encountered: