-
Notifications
You must be signed in to change notification settings - Fork 888
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
Yosys Synthesis Fails with std::out_of_range Error in OPT_DEMORGAN Pass #4610
Comments
|
Thank you for your reply! I have removed the opt_lut_ins pass, but the issue still persists. The current pass sequence is:hierarchy; proc; opt_clean; opt_dff; opt_demorgan; opt_merge; opt_reduce; opt_dff; opt_expr; opt_muxtree; opt_share; opt_dff; opt_clean; opt_reduce; opt_demorgan; |
Looks like an issue where |
Thank you for your help. |
The other part of this is that the rtlil contains zero width cells now, which isn't particularly nice. In this case this is happening because |
Version
yosys 0.41+126
On which OS did this happen?
Linux
Reproduction Steps
Hello,
I encountered a crash issue while using Yosys to synthesize a Verilog file. The specific details are as follows:
When running Yosys on the attached Verilog file (rtl.v), the synthesis process crashes during the OPT_DEMORGAN pass. The error message indicates a std::out_of_range exception, which occurs when the tool tries to inspect a $reduce_or cell and push inverters through reduction.
To rule out issues with the file itself, I have checked the Verilog file for syntax errors but did not find any obvious problems. Additionally, I am using the following version of Yosys:Yosys 0.41+126 (git sha1 855ac28, g++ 11.4.0-1ubuntu1~22.04 -fPIC -Os)
Here is the synthesis command I used:
yosys -p "
read_verilog rtl.v
hierarchy; proc; opt_clean; opt_dff; opt_demorgan; opt_lut_ins; opt_merge; opt_reduce; opt_dff; opt_expr; opt_muxtree; opt_share; opt_dff; opt_clean; opt_lut_ins; opt_reduce; opt_demorgan;
write_verilog syn_yosys.v"
Here is a snippet of the error log:
Attached is the Verilog file (rtl.v) that triggers this issue. I hope to get the community's help and attention to resolve this bug.
yosys_project.zip
Expected Behavior
Yosys completes the synthesis without throwing any exceptions.
Actual Behavior
Yosys with a std::out_of_range error during the OPT_DEMORGAN pass.
The text was updated successfully, but these errors were encountered: