340 likes | 423 Views
Explore the IRRA approach for delay optimization through restructuring in circuit designs by removing redundancies and adding wires. Learn about SMAs, MAs, EAN, ERN, GDG, and more in detail.
E N D
Restructuring for delay optimization Speaker : Guo-Jhu Huang Advisor : Chun-Yao Wang 2009.02.10
Outline “Rewiring Using IRredundancy Remove and Addition”, Chun-Chi Lin Future work
Rewiring Using IRredundancy Remove and Addition • Introduction • Notations and background • IRRA • Single alternative wire identification using the IRRA approach • SMA classification • SMA substitution • Experimental results
Introduction • RAR • A restructuring technique • Add some redundant wires and Remove a target wire • It will not change functionality of the circuit
Example of RAR a g2 b target wire g1 c o1 d g3 g4 o2 e Add redundant wire(g1 → g4) can make wire(c → g2) become redundant
Notation and background • Controlling value, cv(g) • An input of a gate g has a cv(g) if this value determines the output of g regardless of the other inputs • Non-controlling value, ncv(g) • An input of a gate g has a ncv(g) if this value cannot determine the output of g directly • AND gate has cv:0 and ncv:1
Notation and background a g2 b target wire g1 c o1 d g3 o2 g4 e • Dominator • The dominators of a wire w is a set of gates G such that all paths from w to any POs have to pass through all gates in G
Notation and background • For stuck-at 1 {0} fault test on a wire w(gs→gd) • Set cv at the source gs to activate the fault effect • Set ncv for all side inputs of w’s dominators to propagate the fault effect • If no test vector exists, the wire is redundant
Notation and background • Mandatory assignments (MAs) • The unique value assignments to gates required for a test to exist • MAs are obtained by • Activating the target fault effect • Setting side inputs of dominators • Implications
Notations and background g2 1 1 a 1 b g1 c 0 o1 0 d target wire g3 1 0 0/1 g4 o2 e 1 • An example ofMAs calculation • MAs are { g1=0, c=0, d=0, e=1, g3=1, g2=1, a=1, b=1 }
IRRA • Remove the irredundant target wire • Add another irredundant wire • To rectify the functionality of the circuit • The most important step in IRRA • How to derive the rectification network
Source MAs g2 1 a b g1 c 0 o1 0 d target wire g3 1 0 0/1 g4 o2 e 1 Source MAs are{c=0, d=0, e=1, g2=1} The MAs whose transitive fanin cone contains no other MAs
EAN & ERN • gd : a destination gate in the dominators of the target wire • Exact Addition Network (EAN) at gd • a network which minterms change from 0 to 1 after removing the target wire • Exact Removal Network (ERN) at gd • a network which minterms change from 1 to 0 after removing the target wire
EAN & ERN wt g1 a g3 g5 bc b O a 0 1 0 1 g2 c g4 • For example • Suppose the destination gate gd is g5 • EAN is the network composed of abc • ERN is the network composed of abc
EAN & ERN gdg(SMA)/gdf(SMA) : the cofactors of gd with respect to SMA in good/faulty circuits AND(SMA) : the product of all SMAs EAN = AND(SMA) ·gdg(SMA) ·gdf(SMA) ERN = AND(SMA) ·gdg(SMA) ·gdf(SMA)
EAN & ERN wt g1 a 0 g3 g5 1 b g2 c g4 • For example • gd is g5 • SMAs are { a=0, b=1 } • gdg(a=0,b=1)/gdf(a=0,b=1)=c/c • EAN at gd = ab·c·c = abc • ERN at gd = ab·c·c = abc
EAN & ERN • The rectification network at gd after removing the target wire is • (gd+ERN)·EAN • All minterms from 1 to 0 will be changed from 0 to 1 after ORing the ERN • All minterms from 0to 1 will be changed from 1 to 0 after ANDing the EAN • The order of adding ERN and EAN is irrelevant • (gd+ERN)·EAN = gd·EAN +ERN
EAN & ERN g5 SMAs … gdg(SMA) gdg(SMA) g5 1 1 SMAs g6 g6 … 0 0 1 g1 g2 0 gd redundant redundant 0 0 gdf(SMA) gdf(SMA) 1 EAN ERN gdf(SMA) = 0 g4 1 g3 gdf(SMA) = 1 … • Simplify the rectification network • The gdf(SMA) part is redundant
EAN & ERN SMAs SMAs … … gdg(SMA) gdg(SMA) gd EAN ERN … • After simplification • EAN at gd is AND(SMA) ·gdg(SMA) • ERN at gd is AND(SMA) ·gdg(SMA)
Single alternative wire identification SMAs SMAs … … gd gd gn gn … … D or 1 D or 0 • If gd has an MA D or 1{D or 0}, the value of gdg(SMA) will be 0{1} • ERN{EAN} is a constant 0 network • EAN{ERN} leaves the AND(SMA) term
Single alternative wire identification • If gd is a dominator which has an MA D{D} • AND(SMA) blocks the fault propagation • If gd is not a dominator which has a forced MA 1{0} • AND(SMA) violates the forced MA
Single alternative wire identification • To find single alternative wires of a target wire • AND(SMA) must be reduced to only one MA • SMA classification • SMA substitution
SMA classification • SMAs are classified into three types • Irredundant SMA • Redundant SMA • Semi-redundant SMA • The difference between redundant SMA and semi-redundant SMA • While performing the stuck-at fault test, irredundant SMAs in the AND(SMA) term are don’t care values or have to set specific values
SMA classification Initial rectification network g10 a wt b 0/1 c 0 a g1 e g2 b 0 0/1 c 1 g4 0/1 g11 a g3 0 g5 0/1 o1 o1 d 0 e 1 g6 0 a 0 e 1 g8 0 g9 0 o2 g7 b 0 e 0 1 SMAs are { a=0, b=0, c=1, e=1} c 1 For example
SMA classification • For example a g10 b c e c g4 g11 a g3 g5 o1 o1 d e g6 a : irredundant SMA b : irredundant SMA a e g8 g9 o2 g7 b e c
SMA classification • For example a g10 b c e 0/1 c g4 g11 a g3 g5 o1 o1 d 0 e 0 g6 a : irredundant SMA b : irredundant SMA a e g8 g9 o2 g7 b e : redundant SMA e c
SMA classification • For example a 0 g10 b 0 c 0/1 e c 0 g4 0 g11 a g3 0 g5 o1 o1 d 0 0 e g6 a : irredundant SMA b : irredundant SMA a e g8 g9 o2 c : semi-redundant SMA g7 b e : redundant SMA e c
SMA classification • For example a g10 b c e c g4 0 g11 a g3 g5 o1 o1 d 0 0 e g6 a : irredundant SMA b : irredundant SMA a e g8 g9 o2 c : semi-redundant SMA g7 b e : redundant SMA e c
SMA substitution 1 0 0 0 0 1 0 0 0 0 g1 g1 g1 g1 g1 a a a a a b b b b b 1 x 0 1 1 red. semi-red. Types of SMA substitution in an AND gate 0 1 1 1 1 0 1 1 1 1 g4 g4 g4 g4 g4 a a a a a b b b b b 0 x 1 0 0 red. semi-red. Types of SMA substitution in an AND gate If g1 implies g2, we say g1 can substitute g2
SMA substitution a g10 b c g4 g11 a g3 g5 o1 o1 d e • For SMA a: • g6=0 → a=0 • g8=0 → g6=0 • The substitution set for SMA a is { g6, g8 } 0 g6 0 a e 1 g8 0 0 g9 o2 g7 b 0 e 1 0 c 1 For example
SMA substitution a g10 b c g4 g11 a g3 g5 o1 o1 d e • For SMA b: • g7=0 → b=0 • g8=0 → g7=0 • The substitution set for SMA b is { g7, g8 } 0 g6 0 a e 1 g8 0 0 g9 o2 g7 b 0 e 1 0 c 1 For example
SMA substitution a g10 b c g4 g11 a g3 g5 o1 o1 d e 0 g6 0 a e 1 g8 0 0 g9 The intersection of the substitution sets of a and b is { g8 } o2 g7 b 0 e 1 0 c 1 For example
Experimental results [6] Y.-C Chen and C.-Y Wang, “An Improved Approach for Alternative Wires Identification,”in Proc. Int. Conf. Computer Design, pp.711-716,2005 Find alternative wires
Future work Study more papers