200 likes | 271 Views
Bounded Sequential Equivalence Checking with Range-Equivalent Circuit, Node Merging, and NAR. Speaker: Wei-An Ji Adviser: Chun-Yao Wang Date: 2014. 02. 10. Outline. Introduction Problem formulation Range-equivalent circuit Fixed point Future Work. Introduction(1/2). pMiter. s27.
E N D
Bounded Sequential Equivalence Checking with Range-Equivalent Circuit, Node Merging, and NAR Speaker: Wei-An Ji Adviser: Chun-Yao Wang Date: 2014. 02. 10
Outline • Introduction • Problem formulation • Range-equivalent circuit • Fixed point • Future Work
Introduction(1/2) pMiter s27 Resyn2(s27) • Bounded: timeframe k • Typical BSEC • Unroll • Sequential → Combinational • Miter construction • SAT solver
Introduction(2/2) original method: PPI’s range is what we care! our method: We don’t-carePO’s range!
Problem formulation • Given: • Two sequentialcircuits • A timeframe k • Derive: • Bounded sequential equivalence checking (BSEC) at timeframe koptimized by range-equivalent circuitreplacement, node merging, and NAR
Range-equivalent circuit(1/14) • Range-equivalent circuit • Output’s range doesn’t change after optimization
Range-equivalent circuit(2/14) • Replace tree structure with new PI • The root’s range is 0 or 1. a O1 b O2 d c a O1 O2 d
Range-equivalent circuit(3/14) • In testing, MA is the condition that make the stuck-at-fault observable at POs. • Includes activating and propagating assignments • If there exits any conflict in MA, the fault cannot be tested. ex: a’s stuck-at-0 fault a f b d c g e MA = { a = 1 , d = 1 , e = 0, f = 0, g = 1 }
Range-equivalent circuit(4/14) • RMA is the condition that make the stuck-at-fault observable at POs in range-equivalent circuit. • MA is the subset of RMA. • The extra assignments are observable assignments must make MA assignments observable. • If there exits any conflict in RMA, the range’s difference is not testable.
Range-equivalent circuit(6/14) • Replace PI with constant • stuck-at-0 • stuck-at-1 • Split PI • choose a PI and split it into two • If there exist any conflict in RMA or these two PI’s assigned value are always same, the split doesn’t affect the range of output. • Merge two PIs • Inverse of Split PI
Range-equivalent circuit(7/14) • Flow • In original work, PI processing sequence is in any order, but the sequence affects the result much. Split PI Replace PI with constant Merge two PIs Replace tree with PI Replace tree with PI Replace tree with PI Replace tree with PI
Range-equivalent circuit(8/14) • In replacing PI with constant, if there are three PIs, a, b, and c • RMA of a’s stuck-at-at 0 = {a=1,b = 1, c=0, …, … } • RMA of b’s stuck-at-at 0 = {a=1, b=1, c=0, conflict, … , … } • RMA of c’s stuck-at-at 1 ={a=0,b = 1, c=0, …, … } • If we apply sequence 1 2 3, we can only replace b with 0. • But if we apply sequence 2 1 3, we can replace b with 0 and a with 0.
Range-equivalent circuit(9/14) • In merging PIs, if there are four PIs, a, b, c, and d • RMA of a merges d = {a=1,b = 1, c=0, d = 0…, … } • RMA of b merges c= {a=1, b=0, c=0, d = 1… , … } • RMA of a merges c ={a=0,b = 1, c=1, d = 0…, … } • If we apply sequence, 1, 2, and 3, we can only merge a and b. • But if we apply sequence, 2, 1, and 3, we can merge b and c and merge a and d.
Range-equivalent circuit(10/14) • In replace and merge function, we divide faults into two types. • Undetectable • Undetectabledepended on others • Process sequence • We process the type1 fault first because it doesn’t depend on other faults. • Then, processing type2 fault by rank.
Range-equivalent circuit(11/14) • Type2 fault rank • Ex: now type1 fault d stuck-at-0 is optimize by replacing d with constant 0. f1. RMA of a’s stuck-at-0 = {a=1,b = 1, c=0, d=0…, … } f2. RMA of b’s stuck-at-0 = {a=1, b=1, c=0, d=1, … , … } f3. RMA of c’s stuck-at-0 ={a=0,b = 1, c=1, d=1…, … } f4. RMA of c’s stuck-at-1 ={a=0,b = 1, c=0, d=1…, … } • f1’s score is 0. • f2’s score is 3. • f3’s score is 0. • f4’s score is 2.
Range-equivalent circuit(12/14) • Type2 fault rank update • If PI d’s stuck-at-0 has been optimized by replacing it with 0, any other faults’ score from making d’s stuck-at-1 will be updated. • If PIs a and b are merged, any other faults’ score from merging a or b and other PI will be updated.
Range-equivalent circuit(13/14) • Flow r Replace PI with constant Merge two PIs Split PI Replace tree with PI a O1 Replace tree with PI Replace tree with PI Replace tree with PI b O2 d c a O1 Compute RMA of new PI d, and update the RMA which has node r with PI d. O2 d
Range-equivalent circuit(14/14) • However, in this approach, we just consider the local greedy algorithm in function. • Optimal • Replace - O(PI#!) • Merge - O(((PI#)^2)!) • In practice, replacing PI a with constant 0 also can activate PI merging which has RMA={a=1, b=0, …, … }. • PI merging has the same effect.
Range-equivalent circuit(13/13) • Global greedy algorithm flow Split PI Replace tree with PI Replace tree with PI Replace PI with constant and Merge two PIs Replace tree with PI
Future work • Implementation