220 likes | 376 Views
Appearance-Based Equivalence Checking. Speaker: Daw-Ming Lee Advisor: Chun-Yao Wang 2009.02.27. Outline. Introduction Our Ideas False negative. Introduction. Traditional approaches of equivalence checking Building BDDs SAT solving Exponential growth of required memory and runtime.
E N D
Appearance-Based Equivalence Checking Speaker: Daw-Ming Lee Advisor: Chun-Yao Wang 2009.02.27
Outline • Introduction • Our Ideas • False negative
Introduction Traditional approaches of equivalence checking Building BDDs SAT solving Exponential growth of required memory and runtime
Flow chart Transform N1 and N2 to 2-input NAND-NOT circuit N1 and N2 are equivalent True Are both N1 and N2 are empty? Find the LCCS between circuits N1 and N2 False Apply the IRRA technique, transform the LCCS to the LCCPIS,and compute the cost of IRRA Whether the rest part of N1 and N2 are equivalent? True False terminate IRRA? True False negative? False False Delete the LCCPIS from N1 and N2, and add the LCCPIS to I N1 and N2 are not equivalent
2-input NAND-NOT Circuit(1/2) C1 X1 X2 X3 Y1 C2 Y2 Y3
2-input NAND-NOT Circuit(2/2) C1 X1 X2 X3 C2 Y1 Y2 Y3
Example ... ... N1_0 N2_0 .. .. .. .. N2: N1: N1_1 N2_1 N1_2 N2_2 .. .. … … N1_3 N2_3 … … Find the largest common connected subgraph
Example ... ... N1_0 N2_0 .. .. .. .. N2: N1: N1_1 N2_1 N1_2 N2_2 .. .. … … N1_3 N2_3 … … Apply the IRRA technique, transform the LCCS to the LCCPIS
Example ... ... N2_0 N2_0 .. .. .. .. N1_1 N1_1 N2_2 N2_2 .. .. … … N2_3 N2_3 … … Delete the LCCPIS from N1 and N2, and add the LCCPIS to I
Example ... ... N2_0 N2_0 .. .. N1_1 N1_1 … … Find the LCCPIS between N1 and N2, and iterate the procedure untill N1 and N2 can not be smaller
Cost function ... ... N2_0 N2_0 .. .. .. .. N1_1 N1_1 N2_2 N2_2 .. .. … … N2_3 N2_3 N2_4 … … LCCPIS+ IRR circuit - rectify
False negative • CLEVER: Divide and Conquer Combinational Logic Equivalence Verification with False Negative Elimination • John Moondanos • CAV 2001
False negative C1 X1 Y1 W X2 W=A⊕B Y2 X3 free variable C2 X1 Z1 W X2 W=A+B Z2 X3 A⊕B ≠ A+B A=(Y1,Z1) B=(Y2,Z2)
Re-convergent C1 X1 Y1 W X2 W=A⊕B Y2 X3 C2 X1 Z1 W X2 W=A+B Z2 X3
Method • using normalized function instead of using free variables
Definition • V is a cut-point, and g(r,n) represents signal V • r variables correspond to cut-points with fanout re-converging outside the cone of V • n variables correspond to cut-points that do not have fanout re-converging outside the cone of V
Example C1 X1 Y1 W X2 Y2 X3 gi(ri,ni) Yi=gi(Xi)
Example C1 X1 Y1 W r X2 n Y2 X3 r={X2} n={X1,X3} gi(ri,ni) Yi=gi(Xi)
Defination • Forced term • for every value combination of the n variables, V becomes 1 • Fg=Fg(r)= n.g(r,n) • Possible term • for all those r values that make g(r,n)=0 • Pg=Pg(r)= n.g(r,n) A E
Defination • eigenvariable • variable v that on cut-point • Normalized function • vPg+Fg
Example Pg=X2’ Fg=0 g(v,r)=v1X2’+0=v1X2’ X1 Y1 W X2 Y2 X3 Pg=X2 Fg=0 g(v,r)= v2X2+0=v2X2
Example C1 X1 Y1 W X2 W=v1X2’⊕v2X2 Y2 X3 C2 X1 Z1 W=v1X2’+v2X2 W X2 Z2 X3 C1 and C2 are equivalent