Closed jimmysitu closed 3 years ago
Please see the induction chapter of my formal methods course for the reason why this might be, as well as how to fix the problem. Dan
Almost forgot, I also discuss this same basic problem on the blog as well. Dan
@ZipCPU greate thanks. I get the point.
Hi, Dan
I try to use the formal assertion you mention in your blog and prove an other skid buffer from Altera(Intel) on github
Then I get a induction fail with smtbmc engine, it fails at Rule #3: After the last transaction, valid_o should become idle The trace_induct.vcd give a fail trace which seems start with an impossible initial state. backup_valid would never valid when there is no valid_o and valid_i. But when I change the engine to abc pdr, it PASS.
I have no idea why different proof engine gets different result, could you help explain that?
Attached ready_skid.v with formal property and .sby file BTW, I mask Rule #1 since this skid buffer has a different reset behavior