220 likes | 384 Views
Reachability Analysis. Kuang-Jung Chang Advisor : Chun-Yao Wang Date: 2008.09.02. Outline. Introduction To Split or to Conjoin Border-Block Triangular Form and Conjunction Schedule. 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.09.02
Outline • Introduction • To Split or to Conjoin • Border-Block Triangular Form and Conjunction Schedule
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|
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
To Split or to Conjoin • Split : partitioned transition relation • Input splitting or output splitting • Fully partitioned transition relation • Conjoin : clustering and scheduling (early quantification) • Clustering without negatively affecting the size of the BDDs • Scheduling the order of the cluster to minimize the intermediate products
The Dependence Matrix • 32-bit multiplier • Block-triangular form • Good quantification schedule • To conjoin • 32-bit rotator • Full dependence matrix • No good quantification schedule • To split (exponential blow-up of the BDDs)
Normalized average lifetime Conjunction order
Heuristic • The dependence matrix is provided by the quantification schedule heuristic of Ranjan • λ ≤ 0.5 + 0.1 choose conjunction • λ > 0.5 + 0.1 • It may be convenient to split • Its rate of change • The rows are reordered after every splitting takes place
Border-Block Triangular Form and Conjunction Schedule • Conjunction Schedule • Clustering and Ordering • Early quantification is the only one object Normalized average total lifetime Normalized average active lifetime
Minimal Lifetime Permutation • Permute singleton rows to the top and their columns to the left • Iteratively choose the column that intersects the maximum number of shortest rows of the active submatrix
Clustering • Compute affinity for pairs of adjacent rows after running MLP, and then merge the pair with the highest affinity • If the threshold is exceeded, a barrier is introduced between the two rows
Connected Components • Lead to decomposition problem MLP without partition λ=0.65, α=0.52 MLP with partition λ=0.60, α=0.40
Experimental Results • Time for MLP