-
Notifications
You must be signed in to change notification settings - Fork 25
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
PREUNSAT error issues #24
Comments
Adding the Note that the presat check is only able to detect when you excluded all possible traces. It is still possible to have assumptions exclude more scenarios than intended and it's always a good idea to run separate cover checks using the same set of assumptions. |
Sorry for the late reply. Ok what I am trying to do in the processor that I am using is that, because it is designed in vhdl I use ghdl to get the verilog netlist and from this design created the wrapper and used it for riscv-formal test. The commands that I used to create the ghdl verilog netlist is as shown below: If you want to recreate the ghdl netlist it can be done from the zip file for the vhdl design provided below: The generic design can be found in Since the design is too large I am using only one check from the checks folder in ridcv-formal. The problem that I am facing as you mentioned is that I am unable to find the conflicting assumption that is causing the |
Which versions of yosys, sby and riscv-formal are you using? The |
Sorry for not informing earlier I am using the tabby cad suite with yosys version being Since the design file is too large and each test takes long time to get an outcome I just executed one of the checks from the checks folder here .i.e. |
Do you need anything or did I miss anything? @jix |
These warnings indicate that Note that the version of Tabby CAD you're using is missing around a year of updates, so I'd also recommend updating to make sure you have all the latest fixes. |
I did not get a PREUNSAT when running the design from the .tar.gz with the riscv-formal configuration changed to |
Hey @jix, do you mind uploading your log files also can I know the version of Yosys and Tabby CAD suite you're using? |
Would you mind letting me know of this? |
Sorry, I didn't make a copy of the log file before trying other configurations overwriting the passing logfile, I've now tried reproducing it with the latest tabby CAD release and am now also getting a PREUNSAT even with I might have inadvertently been running the passing run using my then current development version, where assumptions were not working as I was in the middle of making changes to code related to the assumption handling. I've now started a run with your updated |
In the latest Tabby CAD, re-running smtbmc with the Instead of including it in the SBY file I reran just smtbmc manually after SBY failed with PREUNSAT for your updated verilog sources and
This ultimately resulted in:
Telling us that The first assumption is only active in the check cycle (step 20) and restricts the FV to paths where the core is reporting that it has retired the target instruction ( The second assumption enforces that all considered paths start with the core being reset during step 0. A PREUNSAT in that case thus means it's not possible for the core to report the retiring of an Why that is the case is specific to the core in question, and thus not something I can directly help you with. If the core is entirely unable to retire certain instructions on certain rvfi channels that would be expected. In that and only that specific case it would be correct to ignore that expected PREUNSAT error for those specific checks. |
Hey,
I am working on trying to integrate the riscv-formal interface to the noelv processor. I have started running the formal verification tests and encountered an error mentioning
PREUNSAT
,Assumptions are unsatisfiable
. So I looked through previous issues and added thenopresat
flag which solved the issues. I am having a dilemma if my approach is right. Any opinion would be appreciable.The text was updated successfully, but these errors were encountered: