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
assert in write_cxxrtl #2540
Comments
mem.zip |
I've looked at this a bit and the issue appears to be that during This later leads to the wire in question (in this case Because the wire is UNUSED, this means that nothing should assign to it ever leading to the reason for the failing assert to exist. However, during This shouldn't fail because theoretically there's a separate The debug code basically re-runs the liveness check used before, but allowing I think the actual issue is the use of yosys/backends/cxxrtl/cxxrtl_backend.cc Line 2650 in 01626e6
Since some wires will be in one set but not the other, and that check actually tests for the wire being unused in both sets. Patching that seems to resolve the issue and I'll submit a PR. |
Public wires may alias buffered internal wires, so keep BUFFERED wires in debug information even if they are private. Debug items are only created for public wires, so this does not otherwise affect how debug information is emitted. Fixes YosysHQ#2540. Fixes YosysHQ#2841.
Public wires may alias buffered internal wires, so keep BUFFERED wires in debug information even if they are private. Debug items are only created for public wires, so this does not otherwise affect how debug information is emitted. Fixes YosysHQ#2540. Fixes YosysHQ#2841.
m68k.v is the result of sv2v on fx68k
Do:
read -vlog95 m68k.v
hierarchy -top fx68k
write_cxxrtl m68k.cc
The write_cxxrtl step asserts in dump_sigchunk with a WireType::UNUSED that is not lhs.
ERROR: Assert `is_lhs' failed in backends/cxxrtl/cxxrtl_backend.cc:897.
m68k.zip
The text was updated successfully, but these errors were encountered: