Enhanced Verification by Temporal Decomposition
Mike Case, Hari Mony, Jason Baumgartner, Bob Kanzelman FMCAD 2009, Nov. 16, 2009
Enhanced Verification by Temporal Decomposition Mike Case , Hari - - PowerPoint PPT Presentation
Enhanced Verification by Temporal Decomposition Mike Case , Hari Mony, Jason Baumgartner, Bob Kanzelman FMCAD 2009, Nov. 16, 2009 Introduction Domain: gate-level property checking (and SEC) Problem: simplify the design; remove irrelevant
Mike Case, Hari Mony, Jason Baumgartner, Bob Kanzelman FMCAD 2009, Nov. 16, 2009
2 Mike Case
[XKCD]
3 Mike Case
4 Mike Case
5 Mike Case
Definition: a transient signal takes arbitrary values for a finite number
1 1 1 1 1 Register A Register B Register C
Time
1 2 3 4 5
Transient
6 Mike Case
1 1
Register A Register B
Time
1 2 3 4 5
1 1 1 Register C
Transient Transient Transient
7 Mike Case
Testbench all FPU signals are transient
MUL NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP MUL MUL MUL
Design Under Test Driver Checker
Testbench FPU Pipeline Time 0: Time 1: Time 2: Time 3: Time >3:
8 Mike Case
On 105 “hard” IBM designs: 49% had transients On 27 “hard” HWMCC designs: 25% had transients
9 Mike Case
10 Mike Case
Time 3: State=X0XX, Inputs=XX Time 2: State=X00X, Inputs=XX
Time 4: State=X00X, Inputs=XX Time 0: State=0000, Inputs=XX Time 1: State=0X1X, Inputs=XX Transient Ternary Sim. Execution Abstract State Space Fast, but incomplete
11 Mike Case
Time
1 2 3 4 5
Maximum Transient Duration
Definition: the transient duration is the number of time steps before a transient settles to its constant value
Check with BMC Check with unbounded model checking
1 Register C
Time
1 2 3 4 5
Transient with duration 2
12 Mike Case
Registers Initial Values init1 init2 inp. Next States Prop. Initial Values Transition Relation Transition Relation init1 init2 inp3 inp2 N Simplify Transient Signals Transition Relation Prop. inp1 Transition Relation
Modeling: a register’s initial values is an arbitrary combinational function New design starts in any state reachable in N steps.
Duration
13 Mike Case
Resources limit the transients that can be simplified TR decreases Initialization logic increases
14 Mike Case
15 Mike Case
Registers Initial Values input Next States Prop. Transition Relation input input input input Initialization Inputs
Definition: an initialization input is a primary input that is only needed to compute the initial state
16 Mike Case
We created initialization inputs!
Prop. Transition Relation Transition Relation init1 init2 inp3 inp2 inp1 Transition Relation
17 Mike Case
18 Mike Case
Definition: a signal X is observable at signal Y if a toggle at X can cause a toggle at Y – Approximate with structural analysis Simplify initialization inputs that are never observable at any property
Registers Initial Values input Next States Prop. Transition Relation input input input input Unchanged (might change) (might change)
19 Mike Case
No initialization inputs observable at Prop0 Two initialization inputs un-observable at Next0 Un-observable at Propj ∀ j > 0
input input
Prop. Next states Curr states primary inputs input input input Frame 0 Registers Initial Values input Next States Prop. Transition Relation input input input input
BMC
20 Mike Case
Prop. Next states Curr states primary inputs Frame 1 input
Prop. Next states Curr states primary inputs input input input Frame 0 Registers Initial Values input Next States Prop. Transition Relation input input
BMC
No initialization inputs observable at Prop0 Initialization inputs maybe observable at Next1 Maybe observable at Propj ∀ j > 1
21 Mike Case
Fast, but incomplete
22 Mike Case
23 Mike Case
Two methods presented: – Transient Simplification – Runtime capped at 10 seconds – Initialization Input Simplification – Runtime capped at 10 seconds Tested on 105 “hard” industrial designs and 27 “hard” academic designs – Largest was 632K ands and 97K registers
Note: this is a systematic improvement on a large benchmark suite, not a collection of anecdotal examples
24 Mike Case
25 Mike Case
Induction results: – Transient logic often breaks induction – Our methods can render problems inductive
26 Mike Case