160 likes | 328 Views
Range Equivalent Circuit Construction. Yung-Chih Chen. Approach overview. Combinational circuit. Simplifying operations Split fanout PIs Remove PIs Merge PIs. Range equivalent checking Preprocess ATPG-based approach. Range equivalent circuit. Split fanout PIs.
E N D
Range Equivalent Circuit Construction Yung-Chih Chen
Approach overview Combinational circuit • Simplifying operations • Split fanout PIs • Remove PIs • Merge PIs • Range equivalent checking • Preprocess • ATPG-based approach Range equivalent circuit
Split fanout PIs • Split fanout PIsto construct tree structures • Splitting fanout PIs may produce extra images • These extra images will imply two different values at the splitting PIs
Remove PIs • Remove PIs: set PIs to be constant values • Removing PIs may eliminate images • These images will imply an opposite value at the removed PI 1
Merge PIs • Merge two PIs into a single PI • Merging PIs may eliminate images • These images will imply two different values at the merged two PIs
Approach overview Combinational circuit • Simplifying operations • Split fanout PIs • Remove PIs • Merge PIs • Range equivalent checking • Preprocess • ATPG-based approach Range equivalent circuit
Preprocess • Calculate mandatory assignments and then perform logic implication • Conflict occurs → no such images→ perform simplifying operations
Mandatory assignments for a image test • Side input of dominators must be non-controlling value of its corresponding dominator 0 0 O1 0 Conflict a1 1 a 1 O2 a2 0 1
ATPG-based approach • How to check if an image implies two different values at the merged two PIs • (f, g)=(0, 0) implies a1≠a2 • How to check if an image implies an opposite value at the removed PI • (f, g)=(0, 0) implies a1= 0 a1 a2 a1 s-a-0 ? s-a-0 ? s a1 s f f a2 g g
Images generation • Branch and bound approach • Branch • Which PO?; 0 or 1? • Bound • Objectives cannot be achieved anymore 0 a 1 b b 0 1 1 0 c c c c 1 0 1 1 0 0 1 0 Depth First Search
Branch • Decision order • First, POs which are in the transitive fanout cone of objective node • Then, remaining POs a1=1
Bound H • Objective: (a1, a2) = (0, 1) • Bounding occurs when • Implication conflict • a1 = 1 or a2 = 0 • PNODE is empty G a1=1 PNODE a1=1 a1 is a PI
Algorithm OPG( ) begin if (Objective_Achieve()) return SUCCESS; if (Bound()) return FAILURE; n = Select_A_PO(); if (Implication(n, 0)==SUCCESS) if (OPG()==SUCCESS) return SUCCESS; if (Implication(n, 1)==SUCCESS) if (OPG()==SUCCESS) return SUCCESS; return FAILURE end
Flow Split fanout PIs Remove PIs Remove PIs Remove PIs Merge PIs Merge PIs
Conclusion • We still cannot handle large circuits • Future work • Improve preprocess • Circuit partition • Recursive learning