150 likes | 305 Views
Fast Computation of Data Correlation with Applications to BIST/Partial Scan. Z. Zeng, Q. Zhang, I. Harris University of Massachusetts, Amherst. Data Correlation Causes Testing Difficulty.
E N D
Fast Computation of Data Correlation with Applications to BIST/Partial Scan Z. Zeng, Q. Zhang, I. Harris University of Massachusetts, Amherst
Data Correlation Causes Testing Difficulty • Sequential loops are considered the dominating factor in the existing testing techniques for Partial Scan and BIST. • Data correlation contributes to the difficulty of both loop and non-loop circuit. • Breaking correlation will increase testability.
Outline • Definition of Data Correlation • Simulation based computation of data correlation • New BDD based technique for fast computation • Experimental results • Conclusions and future work
C reg C1 C2 PO PI Data Correlation • Definition • Data in two or more registers are correlated due to their common source • Parallel correlation -- breaking • (B, C) • Serial correlation • Evaluate parallel corr. • (A, B) (A, C) (B, D) (C, D) reg B reg/PI reg/PO A D
Serial Data Correlation • Correlation between input A and output Z of an n-input combinational block. • There are 2ninput combinations.
Computing Data Correlation: Previous Approach • Exhaustive simulation based • Good for small testcases • Time complexity depends on # of inputs • Incomplete method: (limit the fanin cone of an output)
New BDD based Approach • Advantages • Linear time once a BDD is built • BDD size is not directly related to # of inputs • A complete method • Handle much larger designs
Computing Correlations on BDDs F • Step 1: compute p + q. • Step 2: compute p – q. • Example: F = a’c + b’c + ad a 2 E T b 3 4 5 c 6 d 0 1
p & q F • p is # of all combinations from root to leaf 0 via Else edges. ( p = 4 ) • q is # of combinations to leaf 0 via Then edges. ( q = 3 ) a 2 b 3 4 5 c 6 d 0 1
Step 1: compute p + q F • p + q is the # of combinations where the output equals to 0. p + q is the same for all input/output pairs. • Alg: levelized bottom-up traversal • Example: n = 4 • total # of combinations = 16 • p + q = 7 a 2 8 8 b 3 4 4 4 5 c 4 2 4 2 6 d 3 3 0 1
Step 2: compute p - q F • p – q is the difference of the # of combinations. p – q is different for each input/output pair. • Alg: levelized top-down traversal • Example: pair(a, F) • p = 4, q = 3, p – q = 1 • Corr(a, F) = 0.14 a 2 8 8 b 3 4 4 4 5 c 4 2 4 2 6 d 3 3 0 1
Experiments • Minimize the memory blow-up problem • Invoke dynamic reordering if necessary. • Build a single root BDD at one time for each output. • Time complexity: O(n), n is # of BDD nodes
Computation Time of ISCAS Benchmark Machine: P-III 500MHz, 512MB, Linux
Applications to Partial Scan ATPG tool: HI-TEC; Machine: Ultra-Sparc 5, 170MHz
Conclusions and Future Work • A fast computing technique for data correlations • linear time complexity of BDD size. • Enable data correlation based methods applicable to broader range of applications • Partial Scan, partial BIST, ATPG/SAT • Applications to ATPG/SAT • Ex. Decision heuristics