-
Notifications
You must be signed in to change notification settings - Fork 898
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
Inconsistent simulation before and after synthesis of complex assignment expressions #4828
Comments
You are submitting a bug report produced using fuzzing tools. With such bug reports, it is often hard to tell whether the issue reported is an issue in Yosys or an issue with the test harness. Unless you submit a minimized example clearly demonstrating the construct that causes the inconsistent behavior your bug report will be closed as invalid. |
Ok thanks a lot for your suggestion, I have simplified the code and implemented only some reg and wire definition and instantiation modules in the code again and found that the problem is in this code in the top module: |
Please submit another complete RTL file with only the offending construct in it. It should be only a few lines long. |
This is an improvement but it still contains redundant code that does not appear to be core to the issue. For example, Please submit a complete RTL file without every construct that is not relevant to the issue at hand. |
See #997 for an example of a well reported bug found by fuzzing. Note that it includes the following
|
This is true, but we also must keep in mind the overall dynamics of the issue. Fuzzer authors derive substantial benefit from the amount of fuzzer-found issues that are acknowledged by the project being fuzzed, such as publishing of academic papers and procurement of funding. Because of this they are incentivized to submit as many issues as they can in the lowest possible time, often not investigating the causes or minimizing the reproducer at all (e.g. this issue). Many such bugs are actually already known ones (fuzzers tend to have a very high rediscovery rate), and as a result, the project suffers from having to dedicate triage resources while often deriving no benefit from the report at all. I see this pattern as exploitative and believe we must not encourage it. John Regehr has previously written on this topic more broadly. |
Maybe we are talking past each other here, I am totally in agreement and my points were meant as guidance towards what practical steps in submitting a fuzzer found bug make it easy to be quickly triaged/fixed if appropriate |
I meant to add to what you said, not to contradict it, apologies. |
thank you very much for your patient reply. This will not bother me, but will let me learn how to submit bugs, which will improve efficiency and achieve a win-win situation. Thank you again for your help and support.
…---- Replied Message ----
| From | ***@***.***> |
| Date | 12/31/2024 18:36 |
| To | ***@***.***> |
| Cc | ***@***.***>***@***.***> |
| Subject | Re: [YosysHQ/yosys] Inconsistent simulation before and after synthesis of complex assignment expressions (Issue #4828) |
I meant to add to what you said, not to contradict it, apologies.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
This is still not minimized enough as your testbench includes a lot of random data and your You should:
|
Version
Yosys 0.48
On which OS did this happen?
Linux
Reproduction Steps
Run the script in the terminal (after removing the .log suffix from the filename):
yosys:
read_verilog rtl.v
synth
write_verilog syn_yosys1.v
rtl.v.log
yosys_testbench.v.log
yosys_testbench1.v.log
Expected Behavior
Pre-synthesis simulation and post-synthesis simulation should be consistent
Actual Behavior
Inconsistency between pre-synthesis re-simulation and post-synthesis simulation
The text was updated successfully, but these errors were encountered: