-
Notifications
You must be signed in to change notification settings - Fork 16
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
Verifying a sequence detector not working as expected #610
Comments
This is the property I want to prove |
Just to double-check: with the given model you expect a counterexample? |
There is a bug where the sequence implication operator does not pick up the end of the chain sequence on the left hand side. Will fix! |
Thanks Dr. Daniel for the fix. Can you please suggest? I think we need reset simulation to load the initial state of the flops. |
The tool's response would seem to be correct. If you look at the counterexample, you'll see that the 1011 sequence starts with the reset, and is hence missed. However, it's not enough to deal with reset -- the next failure is that the model doesn't deal with two overlapping instances of 1011, e.g., 1011011. |
BTW, the easy way to build this is a shift register! |
Yes I do agree that I have posted a non-overlapping detector here. Both reset simulation and disable iff reset are important features. I'd like to work on this, could you suggest how to get started? I can code in C++. |
Thank you so much, Dr. Daniel. I've written a LinkedIn article on my formal verification project of overlapping and non-overlapping sequence detectors using the updated version of the HW-CBMC tool. You are welcome to give it a read. |
Hi Developers,
I'm trying to verify this 1011 sequence detector. Problem is the delay is not as expected, when I set a bigger delay such as 6 cycles and add reset before the sequence it gets proven, but that's incorrect. It's not getting proven for the 2 cycles delay without adding reset before the sequence.
Command used:
ebmc seq_detector_overlapping_ebmc.sv --top seq_detector_overlapping --bound 500 --reset reset==1 --vcd ebmc_counter.vcd
Code:
The text was updated successfully, but these errors were encountered: