-
Notifications
You must be signed in to change notification settings - Fork 894
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
cxxrtl
output port changes value after back to back .step()
#4786
Comments
Oh. You're taking feedback from your own output. There's a bit of code that special-cases outputs (it was related to reducing the amount of delta cycles if all you have is a model with a bunch of LED outputs), and since normal code rarely does that, it's buggy. |
Try removing this line and seeing if it helps: yosys/backends/cxxrtl/cxxrtl_backend.cc Line 3127 in f04b899
|
What do you mean by
I tried this and it did not change the output. Also I don't quite see how this could change anything, as |
Oh, you're right; I misread the code. |
Version
Yosys 0.45 (git sha1 9ed031d, g++ 13.3.0 -fPIC -O3)
On which OS did this happen?
Linux
Reproduction Steps
running the following script
using a
main.cpp
containingYou can also find the
yosys
script aswell as themain.cpp
in the attached repro.zip.For reference, the rtlil is generated from the following verilog file:
Expected Behavior
I expect the
a.out
binary to never print "fail", or expressed differently for the value of a output port to not change between subsequent.step()
calls.Actual Behavior
The value of the output port changes between
.step()
calls.The text was updated successfully, but these errors were encountered: