290 likes | 439 Views
Reachability Analysis. Kuang-Jung Chang Advisor : Chun-Yao Wang Date: 2008.10.30. Outline. Introduction Traditional Symbolic Image Computation Image Transfer & Experiments Future Work. Reachability Analysis. Given: A sequential circuit An initial state set Objective:
E N D
Reachability Analysis Kuang-Jung Chang Advisor : Chun-Yao Wang Date: 2008.10.30
Outline • Introduction • Traditional Symbolic Image Computation • Image Transfer & Experiments • Future Work
Reachability Analysis • Given: • A sequential circuit • An initial state set • Objective: • The reachable state set from the initial state set Finite State Machine Finite State Machine Finite State Machine R0 R1 R2 R3 Fixed point
Sequential Circuit • A set of primary inputs (PI): w0~wm • A set of outputs (PO): O0~Ol • A set of flip-flops: ff0~ffn • Pseudo primary input (PPI): x0~xn • Pseudo primary output (PPO): y0~yn • Output function: • A completely specified function with domain (X W) and range O • Transition relation: • A completely specified function with domain (X W) and range Y Combinational part of a circuit W O X Y Flip-flops
Sequential Equivalence Checking • The product machine (sequential miter) of circuit A and circuit B Combinational part of circuit A W ZA W XA YA Flip-flops A Combinational part of circuit B ZB XB YB Flip-flops B
Why Reachability Analysis • State minimization • Logic optimization • Sequential ATPG • Property checking State space Unused state Don’t care Undetected error Fake bug
Difficulties of Reachability Analysis • Huge state space • The large number of flip-flops in a sequential circuit • Complicated Finite State Machine • 2|flip-flop| 2|PI| → 2|flip-flop|
Outline • Introduction • Traditional Symbolic Image Computation • Image Transfer & Experiments • Future Work
Symbolic Image Computation • The characteristic function of PPO yi and latch transition relation TRi • The transition relation TR is the conjunction of the latch transition relations • Fi(X, W) → {0, 1} • TRi (yi, X, W) • = yi Xnor Fi(X, W) • TR(Y, X, W) • = TRi(yi, X, W) yi Fi’ Fi TR( Y, X, W) Fi(X, W) 0 0 1 1 0 0 1 1
Symbolic Image Computation • Representation of state set S • Flip-flop BDD variables: l0~ln • The characteristic representation • S(L) = 1 iff L state set S l0 l1 l1 l2 l2 l2 l2 1 0 1 0 0 1 1 0
Symbolic Image Computation • Basic symbolic image computation • Nex(Y) = X, WTR(Y, X, W) Pre(X) Quantification X, W BDD AND TR( Y, X, W) Pre(X) Nex(Y) 0 1 0 1 0 1
Image Computation without TR • Nex(Y) = X, W TR(Y, X, W) Pre(X) • Latch transition relation (TRi) • Nex(Y) = X, W TRi(yi, X, W) Pre(X) • Clustering and Scheduling (Early quantification) Scheduling Clustering
Simplification of Image Computation • Partitioned transition relation TR(y0=0, y1=0) TR(y0=0) TR(y0=0, y1=1) y0 y1 TR(y0=1, y1=0) TR(y0=1) TR( Y, X, W) TR(y0=1, y1=1) • Splitting previous state set Pre(X) 0 1 0 1
Outline • Introduction • Traditional Symbolic Image Computation • Image Transfer & Experiments • Future Work
Perspective of Network TRi TR Combinational part of a circuit Combinational part of a circuit PI PI …… …… …… …… PPO PPO PPI PPI Clustered TRi Image Transfer Combinational part of a circuit Combinational part of a circuit PI PI …… …… …… …… PPO PPO PPI PPI
Image Transfer X Y 0
ENISLE: An Intuitive Heuristic Nearly Optimal Solution for Mincut and Mincut Partition
Levelize Network to Decide the Initial Image Cut Levelize and decide #cut Find image cuts by level Combinational part of a circuit PI …… …… …… PPO PPO PPI
Adjust Image Cut & Overview Overview of image transition Initial image cut PPO Adjacent gates
Image cut • s1423: 74 latches, 17 PIs • Maximal level : 56 • PPI image cut : 91 • Mid image cut (level 28): 85 • Overlap : 38 (46) • Matrix : 53 x 46 • PPO image cut : 74 • Overlap : 38 (36) • Matrix : 46 x 36 38 74 38 36 91 46
Reordering • Only one reordering is allowed in each image transfer • Reordering would not be triggered while operation is processing • Reordering starts when BDD size exceeds its previous maximal value • s1423, 10 timeframe, 1.68288e+09 reached state ( 772 => 309 sec)
Sort initial order of rows and columns • Sort fore image by number of back nodes which are supported by the fore node • Sort back image by size of the back node relation Support 0 0 1 0 Relation size 1 1
Clustering Based on Affinity • Merge the pair with the highest affinity • Cluster threshold size : 1000 • Affinity > 0 • s1423 • Before: 46 relations, 36 relations • After: 8 relations, 2 relations
Experimental Data • s1423, 10 timeframe, 1.68288e+09 reached state
Future Work • General heuristic for dynamic reordering and clustering • Experiments on image cut issues • Number of image cuts • Where should image cuts be?