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
Internal Error: ../V3Slice.cpp:407: Couldn't find a VarRef on the LHSP of an Assign #1187
Comments
Original Redmine Comment Here is a sample design that shows the error I mentioned... The full build output I'm getting here is: verilator -Wno-UNOPTFLAT -Wno-DECLFILENAME -Wno-ASSIGNDLY -Wno-fatal +1800-2012ext+sv --relative-includes -CFLAGS -g -CFLAGS -std=c++11 --cc design/Orchestrate/top.sv --exe --top-module top -LDFLAGS -static-libgcc -LDFLAGS -static-libstdc++ -LDFLAGS -ltcl -LDFLAGS -lpthread Of course, this is a do-nothing design (now that I've hacked out all the company sensitive material) ... but the error remains quite apparent. Now, I do have various width, pinmissing, and even a few multdriven (although the logic oddly enough doesn't drive from multiple sources... I have checked it! ... and the design works fine in Verilator sim...) warnings on the original design, and I'd like to get the designers to defray a lot of those warnings... so I wonder if there's a warning situation that can eventually cause a problem with /verilator public/ ... Thank you |
Original Redmine Comment It turns out that the issue has something to do with inout ports in the module within which /verilator public/ is called. I will get a few simple examples in the AM. |
Original Redmine Comment It turns out that if an inout is unassigned then there are problems. I had two signals in the original design that were unassigned (vdd and gnd) and were causing this issue to happen. Note that the pins that are marked /verilator public/ do not have to have any connection at all with the inout lines that are unassigned, as long as the signal that's marked /verilator public/ is in a module with the unassigned inout or in a module instantiated within the module with the unassigned inout. I tried creating the same issue with an output that's unassigned and the issue did not happen. So in my company's design, we commented out the vdd and gnd signals coming inout of top and are moving on with life. Wilson Snyder, you've got my email address if there's any need for more information.
|
Original Redmine Comment Fixed in git towards 3.907. I added an "lvalue" assertion that flags the (previous) problem earlier, hopefully it won't have any false positives, if so please file another bug. |
Original Redmine Comment In 3.908. |
Author Name: Rob Stoddard
Original Redmine Issue: 1187 from https://www.veripool.org
Original Assignee: Wilson Snyder (@wsnyder)
This suddenly happened on a working design when I decided to instrument lines using /verilator public/ deep inside a design. As my wife is currently calling me to dinner, I'll try to provide a code example (that isn't chock full of company IP) for your perusal tomorrow.
The text was updated successfully, but these errors were encountered: