300 likes | 417 Views
Reachability Analysis of Sequential Circuit. Speaker: Jung-Tai Tsai Advisor: Chun-Yao Wang 2007.5.22 Department of Computer Science National Tsing Hua University, Taiwan. Outline. Introduction Previous Work Our Approach Experimental Results Conclusions and Future Work.
E N D
Reachability Analysis of Sequential Circuit Speaker: Jung-Tai Tsai Advisor: Chun-Yao Wang 2007.5.22 Department of Computer Science National Tsing Hua University, Taiwan 1
Outline • Introduction • Previous Work • Our Approach • Experimental Results • Conclusions and Future Work 2
Product Machine • Given two FSMs M1, M2 • Create a product FSM:M= M1 x M2 • Traverse the states of M and check its output for each transition • The output O(M)=1, if output O1 = O2 • If all outputs of M are 1, then M1 ≡ M2 • Otherwise, an error state is reached 3
Why Reachability Analysis • Need to traverse all possible states of product machine and check its output for each transition • If all states have been traversed ,say it reaches the fixed point 4
Sequential Depth • The sequential depth of an FSM is given by the longest path among all shortest paths from the initialstate to all nodes in the STG of FSM • The sequential depth is equal to the number of iterations need to reach the fixed point 5
Problem Formulation • Given: • One sequential netlist • One initial state • Netlists consist of AND2/OR2/NOT/flip-flop • Objective: • Determine the fixed point to guarantee all possible states are traversed 6
Outline • Introduction • Previous Work • Our Approach • Experimental Results • Conclusions and Future Work 7
Previous Work Symbolic: fixed-point Initial state R0 reachable state R1 R2 RK Rk+1 • In conventional terminology, the reachable state set at a time t • refer to the set of all states that are reachable at any time • between 0 and t • The sets of the reachable states in two consecutive iterations are • identical, it reaches a fixed point 8
Outline • Introduction • Previous Work • Our Approach • Experimental Results • Conclusions and Future Work 9
01001101 01001101 01001101 01001101 01001101 01001101 01001101 01001101 01001101 10000010 10000010 10000010 10000010 10000010 10000010 10000010 10000010 10000010 G0 ˙ G5_in (S0) 01001111 [11] G5 00000000 ˙ ˙ [12] G6_in (S1) o [14] G17 00000000 G6 [17] 00111101 G1 [13] 00000000 G7 00110100 00110100 00110100 00110100 00110100 00110100 00110100 00110100 00110100 G3 10011010 G2 00001001 G7_in (S2) Parallel Random Vector Simulation 0 0 S0 0 0 1 1 0 S1 S1 0 0 1 0 1 1 0 S2 S2 S2 S2 0 0 0 0 1 1 1 0 0 1 1 1 : reached state 1 0 1 1 0 1 0 0 1 : undecided or conflict state 0 10
G0 ˙ G5_in (S0) [11] G5 ˙ ˙ [12] G6_in (S1) o [14] G17 G6 [17] G1 [13] G7 G3 G2 G7_in (S2) Forward Simulation 0 0 0 0 11
G0 ˙ G5_in (S0) [11] G5 ˙ ˙ [12] G6_in (S1) o [14] G17 G6 [17] G1 [13] G7 G3 G2 G7_in (S2) Backward Justification 0 0 0 0 0 S0 0 0 1 0 S1 S1 0 0 1 0 1 S2 S2 S2 S2 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 12
01001101 01001101 01001101 01001101 01001101 01001101 01001101 01001101 01001101 10000010 10000010 10000010 10000010 10000010 10000010 10000010 10000010 10000010 G0 ˙ G5_in (S0) 01001111 [11] G5 00000000 ˙ ˙ [12] G6_in (S1) o [14] G17 00000000 G6 [17] 00111101 G1 [13] 00000000 G7 00110100 00110100 00110100 00110100 00110100 00110100 00110100 00110100 00110100 G3 10011010 G2 00001001 G7_in (S2) Controllability Calculation C0= 3/8 C1= 5/8 C0= 8/8 C1= 0/8 C0= 5/8 C1= 3/8 13
conflict conflict Justification Order S0S2S1 S0S1S2 S0 S0 S1 S1 S2 S2 • Choose the harder one to be the first • Lower probability of being the value that stuck in FFs • Conflict may occur early 14
Controllability As Guidance ofBacktrace • Objective (G7_in, 0) • Two possible solutions: G2=1 or [17]=1 • Choose the easier one: [17]=1 (higher probability of being 1) C0= 6/8 C1= 2/8 G2 0 G7_in (S2) [17] C0= 5/8 C1= 3/8 Choose path G7_in → [17]for backtracing 15
G0 ˙ G5_in (S0) [11] G5 ˙ ˙ [12] G6_in (S1) o [14] G17 G6 [17] G1 [13] G7 G3 G2 G7_in (S2) Backward Justification 0 C0= 4/8 0 C1= 4/8 0 C0= 6/8 0 0 1 1 C1= 2/8 0 1 C0= 5/8 S0S2S1 C1= 3/8 1 S0 0 0 0 1 0 S1 S1 0 1 0 1 0 S2 S2 S2 S2 0 C0= 6/8 0 0 1 1 0 0 1 1 C1= 2/8 C0= 5/8 1 0 1 1 0 1 0 0 1 C1= 3/8 16
G0 ˙ G5_in (S0) [11] G5 ˙ ˙ [12] G6_in (S1) o [14] G17 G6 [17] G1 [13] G7 G3 G2 G7_in (S2) conflict Backward Justification C0= 4/8 0 C1= 4/8 0 C0= 6/8 1 0 1 0 C1= 2/8 2/8< 3/8 < 4/8 0 0 S1S2S0 S0 1 0 0 1 0 S1 S1 1 0 1 0 1 S2 S2 S2 S2 1 0 0 0 1 1 1 0 0 1 1 C0= 5/8 1 1 1 0 1 0 0 1 C1= 3/8 17
G0 ˙ G5_in (S0) [11] G5 ˙ conflict ˙ [12] G6_in (S1) o [14] G17 G6 [17] G1 [13] G7 G3 G2 G7_in (S2) Backward Justification C0= 4/8 1 C1= 4/8 0 0 C0= 6/8 1 0 C1= 2/8 2/8< 4/8 0 0 S1S0S2 S0 0 1 1 0 S1 S1 1 0 1 0 1 S2 S2 S2 S2 X 0 0 1 1 1 0 0 1 1 0 1 1 1 0 1 0 0 1 18
initial state=(000) S0 S1 0 S2 S0 S0 0 0 0 1 1 S1 S1 S1 S1 0 0 0 1 1 0 0 1 1 S2 S2 S2 S2 S2 S2 S2 S2 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 Determine Fixed Point t = 0 GlobalBDD 0 0 0 0 0 1 0 0 0 Local BDD Is this disjoint cube subset of global bdd? 1 1 0 0 0 1 1 1 19
0 0 1 S0 S0 S0 S1 S1 S1 1 0 0 S2 S2 S2 0 X X S0 S0 S0 S0 0 0 0 0 1 1 1 1 S1 S1 S1 S1 S1 S1 S1 S1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Local BDD S2 S2 S2 S2 S2 S2 S2 S2 S2 S2 S2 S2 S2 S2 S2 S2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 Timeframe = 1 t = 1 Local BDD GlobalBDD 0 1 1 0 1 0 0 1 0 0 0 0 1 Local BDD S S S J J 1 1 0 0 0 1 1 1 1 S 1 0 1 0 1 0 0 1 0 0 0 1 20
1 0 S0 S0 S1 S1 X 0 S2 S2 X X S0 S0 0 0 1 1 S1 S1 S1 S1 0 0 1 1 0 0 1 1 S2 S2 S2 S2 S2 S2 S2 S2 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 Timeframe = 2 t = 2 Local BDD GlobalBDD 0 0 0 1 0 0 1 0 1 0 1 1 0 1 S S S S J J 1 1 0 0 0 1 1 1 1 21
0 1 S0 S0 S1 S1 X 0 S2 S2 X X S0 0 1 S1 S1 0 1 0 1 S2 S2 S2 S2 0 1 1 0 1 1 0 0 Timeframe = 3 t = 3 GlobalBDD The size of BDD is intact in two consecutive timeframe reach fixed point 1 1 1 0 0 1 1 1 22
Outline • Introduction • Previous Work • Our Approach • Experimental Results • Conclusions and Future Work 23
Outline • Introduction • Previous Work • Our Approach • Experimental Results • Conclusions and Future Work 27
Conclusions • We use Parallel Random Vector Simulation as the first stage to traverse partial states efficiently in each timeframe • Implication and circuit structure analysis play the roles of determining undecided states • Use BDD to record all traversed states, it reaches a fixed point when the size of BDD is intact in two consecutive timeframe 28
Cont’d • Some heuristic methods accelerate our approache.g., justification order, decision point selection 29
Future Work Experimental results V.S. Corn 30