BOOLEAN METHODS Giovnni De Miheli Stnford University
Boolen methods Exploit Boolen properties. { Don't re onditions. Minimiztion of the lol funtions. Slower lgorithms, etter qulity results.
Externl don't re onditions Controllility don't re set CDC in : { Input ptterns never produed y the environment t the network's input. Oservility don't re set ODC out : { Input ptterns representing onditions when n output is not oserved y the environment. { Reltive to eh output. { Vetor nottion used: ODC out.
Exmple s1 s2 DEMUX x1 x2 x3 x4 NETWORK N1 y1 y2 z1 z2 N2 N3 o1 o2 Inputs driven y de-multiplexer. CDC in = x 0 1 x0 2 x0 3 x0 4 + x 1x2 + x1x3 + x1x4 + x2x3 + x2x4 + x3x4. Outputs oserved when ODC out = x1 x 4 = 1 2 6 4 x 0 1 x 0 1 x 0 4 x 0 4 3 7 5
Exmple overll externl don't re set DC ext = CDC in +ODC out = 2 6 4 x 0 1 + x 2 + x 3 + x 4 x 0 1 + x 2 + x 3 + x 4 x 0 4 + x 2 + x 3 + x 1 x 0 4 + x 2 + x 3 + x 1 3 7 5
Internl don't re onditions x CDC in y z ODC out SUBNETWORK NETWORK
Internl don't re onditions Indued y the network struture. Controllility don't re onditions: { Ptterns never produed t the inputs of sunetwork. Oservility don't re onditions: { Ptterns suh tht the outputs of sunetwork re not oserved.
Exmple x = + x = + y = x + x y = x + () () CDC of v y inludes 0 x + 0 x 0. Minimize f y to otin: f f y = x + 0.
Stisility don't re onditions Invrint of the network: { x = f x! x 6= f x SDC. SDC = X v x 2V G x f x Useful to ompute ontrollility don't res.
CDC omputtion Network trversl lgorithm: { Consider dierent uts moving from input to output. Initil CDC is CDC in. Move ut forwrd. { Consider SDC ontriutions of predeessors. { Remove unneded vriles y onsensus.
CDC omputtion g CONTROLLABILITY(G n (V E), CDC in ) f C = V I CDC ut = CDC in foreh vertex v x 2 V in topologil order f C = C [ v x CDC ut = CDC ut + f x x D = fv 2 C s.t. ll dir. su. of v re in Cg foreh vertex v y 2 D CDC ut = C y (CDC ut ) C = C ; D g CDC out = CDC ut
Exmple d z1 e z2 z1 z2 d z1 e z2 {d,e} d e {,} {,,x4} {x1,,x4} {x1,x2,x3,x4} x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 () () ()
Exmple Assume CDC in = x 0 1 x0 4. Selet vertex v : { Contriution to CDC ut : (x 2 x 3 ). { Drop vriles D = fx 2 x 3 g y onsensus: { CDC ut = x 0 1 x0 4. Selet vertex v :... { Contriution to CDC ut : (x 1 + ). CDC ut = x 0 1 x0 4 + (x 1 + ). { Drop vrile x 1 y onsensus: CDC ut = 0 x 0 4 + 0. CDC out = e 0 = z 0 2.
CDC omputtion y imge omputtion Network ehvior t ut: f. CDC ut is just the omplement of the imge of (CDC in ) 0 with respet to f. CDC ut is just the omplement of the rnge of f when CDC in =. Rnge n e omputed reursively. { Terminl se: slr funtion. Rnge of y = f(x) is y + y 0 (ny vlue) unless f (or f 0 ) is tutology nd the rnge is y (or y 0 ).
Exmple RANGE VECTORS d e 0 0 1 0 1 1 rnge(f) = d rnge(( + )j d==1)+ +d 0 rnge(( + )j d==0) When d = 1, then = 1! + = 1 is TAUTOLOGY. If I hoose 1 s top entry in output vetor: { the ottom entry is lso 1. { 1?! 11 When d = 0, then = 0! + = f0 1g. If I hoose 0 s top entry in output vetor: { the ottom entry n e 0 or 1. rnge(f) = de + d 0 (e + e ) = 0 de + d = 0 d + 0 e
Exmple d z1 e z2 z1 z2 d z1 e z2 {d,e} d e {,} {,,x4} {x1,,x4} {x1,x2,x3,x4} x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4 () () () f = " # " f 1 (x1 + f 2 )(x = 4 + ) (x 1 + ) + (x 4 + ) # " x1 x = 4 + x 1 + x 4 + #
Exmple x4 x1 () () () rnge(f) = = d rnge(f 2 j (x 1x4+)=1) + d 0 rnge(f 2 j (x 1x4+)=0) = d rnge(x 1 + x 4 + j (x 1x4+)=1) + d 0 rnge(x 1 + x 4 + j (x 1x4+)=0) = d rnge(1) + d 0 rnge( 0 (x 1 x 4 )) = de + d 0 (e + e ) 0 = e + d 0 CDC out = (e + d 0 ) 0 = de 0 = z 1 z 0 2.
Perturtion method Modify network y dding n extr input. Extr input n ip polrity of signl x. Reple lol funtion f x y f x. Pertured terminl ehvior: f x ().
Exmple δ x x x y z y z y z () () ()
Oservility don't re onditions Conditions under whih hnge in polrity of signl x is not pereived t the outputs. Complement of the Boolen dierene: { @f=@x = fj x=1 fj x=0. Equivlene of pertured funtion: f x (0) f x (1).
Oservility don't re omputtion Prolem: { Outputs re not expressed s funtion of ll vriles. { If network is ttened to otin f, it my explode in size. Requirement: { Lol rules for ODC omputtion. { Network trversl.
Single-output network with tree struture Trverse network tree. At root: { ODC out is given. At internl verties: { ODC x = (@f y =@x) 0 + ODC y
Exmple e = + = x 1 + 1 e = x 4 + 2 x1 x4 1 2 Assume ODC out = ODC e = 0. ODC = (@f e =@) 0 = ( + )j =1 ( + )j =0 =. ODC = (@f e =@) 0 =. ODC x1 = ODC + (@f =@x1) 0 = + 1....
Generl networks e x1 x4 Fnout reonvergene. For eh vertex with two (or more) fnout stems: { The ontriution of the ODC long the stems nnot e dded tout ourt. { Interply of dierent pths. More elorte nlysis.
Two-wy fnout stem ODC y y z ODC z ODC x,y x x 1 2 ODC x,z x Compute ODC sets ssoited with edges. Comine ODCs t vertex. Formul derivtion: { Assume two equl perturtions on the edges. { ODC x = f x 1 x 2 (1 1) f x 1 x 2 (0 0)
ODC formul derivtion ODC x = f x 1 x 2 (1 1) f x 1 x 2 (0 0) = f x 1 x 2 (1 1) f x 1 x 2 (0 0) (f x 1 x 2 (0 1) f x 1 x 2 (0 1)) = (f x 1 x 2 (1 1) f x 1 x 2 (0 1)) (f x 1 x 2 (0 1) f x 1 x 2 (0 0)) = ODC x y j 2 =1 ODC x z j 1 =0 = ODC x y j x2 =x 0 ODC x zj x1 =x = ODC x y j x=x 0 ODC x z Beuse x = x 1 = x 2.
Multi-wy stems Theorem Let v x 2 V e ny internl or input vertex. Let fx i i= 1 2 ::: pg e the edge vrs orresponding to f(x y i ) i = 1 2 ::: pg. Let ODC x yi i = 1 2 ::: p the edge ODCs. ODC x = L p i=1 ODC x y i j xi+1 ==x p =x 0
Oservility don't re lgorithm OBSERVABILITY(G n (V E), ODC out ) f foreh vertex v x 2 V in reverse topologil order f for (i = 1 to p) ODC x yi = (@f yi =@x) 1 + ODC 0 yi ODC x = L p i=1 ODC x y i j 0 xi+1==x p =x g g
Exmple z1 z2 z1 z2 d e d e x1 x2 x3 x4 x1 x2 x3 x4 () () ODCd = 0 1 ODCe = 1 0 ODC = 0 + x 1 + x1 ODC = 0 + x 4 + x4 ODC = ODC j = 0ODC = ODC = = = x 0 0 = x 1x4 x1 + x4 0 0 x 0 4 + x 1 + x4 + x1 0 x 0 1 + x 4 + x1 + x4 4 + x 1 + x4 + x1 ODC = 0 0 x 0 1 + x 4 = + x1 + x4
Trnsformtions with don't res Boolen simplition: { Use stndrd minimizer (Espresso). { Minimize the numer of literls. Boolen sustitution: { Simplify funtion y dding n extr input. { Equivlent to simplition with glol don't re onditions.
Exmple Boolen sustitution Sustitute q = + d into f h = + d + e to get f h = + q + e. SDC set: q ( + d) = q 0 + q 0 d + q 0 (d) 0. Simplify f h = +d+e with q 0 +q 0 d+q 0 (d) 0 s don't re. Simplition yields f h = + q + e. One literl less y hnging the support of f h.
Single-vertex optimiztion SIMPLIFY SV ( G n (V E) )f repet f v x = seleted vertex Compute the lol don't re set DC x Optimize the funtion f x guntil (no more redution is possile) g
Optimiztion nd perturtions Reple f x y g x. Perturtion x = f x g x. Condition for fesile replement: { Perturtion ounded y lol don't re set { x DC ext + ODC x { If x not primry input onsider lso CDC set.
Exmple δ x y z y x z y x z () () () No externl don't re set. Reple AND y wire: g x = Anlysis: { = f x g x = = 0. { ODC x = y 0 = 0 + 0. { = 0 DC x = 0 + 0 ) fesile!
Degrees of freedom Fully represented y don't re onditions: { Externl don't res. { Internl oservility nd ontrollility. Don't res represent n upper ound on the perturtion. Approximtions: { Use smller don't re sets to speed-up the omputtion.
Multiple-vertex optimiztion Simplify more thn one lol funtion t time. Potentilly etter (more generl) pproh. Anlysis: { Multiple perturtions. Condition for fesile replement: { Upper nd lower ounds on the perturtion. { Boolen reltion model.
Exmple δ 1 x x z z y y δ2 () () x z x z y y () (d) The two perturtions re relted. Cnnot hnge simultneously: {!. {!.
Multiple-vertex optimiztion Boolen reltion model x z y x y 0 0 0 f 00, 01, 10 g 0 0 1 f 00, 01, 10 g 0 1 0 f 00, 01, 10 g 0 1 1 f 00, 01, 10 g 1 0 0 f 00, 01, 10 g 1 0 1 f 00, 01, 10 g 1 1 0 f 00, 01, 10 g 1 1 1 f 11 g
Multiple-vertex optimiztion Boolen reltion model Compute Boolen reltion: { Fltten the network. Anlyze ptterns. { Derive equivlene reltion from ODCs. Use reltion minimizer. Exmple of minimum funtion: x y 1 10 1 1 01
Multiple-vertex optimiztion Boolen reltion model SIMPLIFY MVR( G n (V E) )f repet f U = seleted vertex suset foreh vertex v x 2 U Compute OCD x Determine the equiv. lsses of the Boolen reltion of the sunetwork indued y U Find n optiml funtion omptile with the reltion using reltion minimizer guntil (no more redution is possile) g
Multiple-vertex optimiztion omptile don't res Determine omptile don't res : { CODCs: suset of ODCs. { Deouple dependenies. { Redued degrees of freedom. Using omptile ODCs, only upper ounds on the perturtion need to e stised.
Exmple two perturtions First vertex: { CODC equl to its ODC set. { CODC x1 = ODC x1. The seond vertex: { CODC smller thn its ODC to e sfe enough to llow trnsformtions permitted y the rst ODC. { CODC x2 = C x1 (ODC x2 ) + ODC x2 ODC 0 x 1 Order dependene.
Exmple rst vertex v y δ 1 x z x z x z y δ2 y y () () CODC y = ODC y = x 0 = 0 + 0 ODC x = y 0 = 0 + 0 CODC x = C y (ODC x ) + ODC x (ODC y ) 0 = C y (y 0 ) + y 0 x = y 0 x = ( 0 + 0 ) = 0.
Exmple (2) δ 1 x z x z x z y δ2 y y () () Allowed perturtion: { f y =! g y =. { y = = 0 CODC y = 0 + 0. Disllowed perturtion: { f x =! g x =. { x = = 0 6 CODC x = 0. The onverse holds if v x is the rst vertex.
Multiple-vertex optimiztion omptile don't res SIMPLIFY MV( G n (V E) )f repet f U = seleted vertex suset foreh vertex v x 2 U Compute COCD x nd the orresponding lol don't re suset g DC x Optimize simultneously the funtions t U guntil (no more redution is possile) g
Summry Boolen methods Boolen methods exploit don't re sets nd simplition of logi representtions. Don't re set omputtion: { Controllility nd oservility. Single nd multiple trnsformtions.
Synthesis nd testility Testility: { Ese of testing iruit. Assumptions: { Comintionl iruit. { Single or multiple stuk-t fults. Full testility: { Possile to generte test set for ll fults. { Restritive interprettion.
Test for stuk-ts Net y stuk-t 0. { Input pttern tht sets y to true. { Oserve output. { Output of fulty iruit diers. Net y stuk-t 1. { Sme, ut set y to flse. Need ontrollility nd oservility.
Test sets don't re interprettion Stuk-t 0 on net y. { ftjy(t) ODC 0 y(t) = 1g. Stuk-t 1 on net y. { ftjy 0 (t) ODC 0 y(t) = 1g.
Using testing methods for synthesis Redundny removl. { Use TPG to serh for untestle fults. If stuk-t 0 on net y is untestle: { Set y = 0. { Propgte onstnt. If stuk-t 1 on y is untestle: { Set y = 1. { Propgte onstnt.
Exmple stuk t 0 y x z () 0 z () z ()
Redundny removl nd perturtion nlysis z y x Stuk-t 0 on y. { y set to 0. Nmely g x = f x j y=0. { Perturtion: = f x f x j y=0 = y @f x =@y. Perturtion is fesile, fult is untestle. { No input vetor t n mke y(t) ODC 0 y(t) true. { No input vetor n mke y(t) ODC 0 x(t) @f x =@y true. euse ODC y = ODC x + (@f x =@y) 0.
Redundny removl nd perturtion nlysis Assume untestle stuk-t 0 fult. y ODC 0 x @f x =@y SDC: Lol don't re set: { DC x ODC x + y ODC 0 x @f x =@y: { DC x ODC x + y @f x =@y. Perturtion = y @f x =@y. { Inluded in the lol don't re set.
Synthesis for testility Synthesize networks tht re fully testle. { Single stuk-t fults. { Multiple stuk-t fults. Two-level forms. Multiple-level networks.
Two-level forms Full testility for single stuk-t fults: { Prime nd irredundnt over. Full testility for multiple stuk-t fults: { Prime nd irredundnt over when: Single-output funtion. No produt term shring. Eh omponent is PI.
Exmple f = 0 0 + 0 + + A 1 stuk t 0 A 2 A 3 O 1 A 4
Multiple-level networks Denitions A logi network G n (V E), with lol funtions in sum of produt form. Prime nd irredundnt (PI): { No literl nor implint of ny lol funtion n e dropped. Simultneously prime nd irredundnt (SPI): { No suset of literls nd/or implints n e dropped.
Multiple-level networks Theorems A logi network is PI nd only if: { its AND-OR implementtion is fully testle for single stuk-t fults. A logi network is SPI if nd only if: { its AND-OR implementtion is fully testle for multiple stuk-t fults.
Multiple-level networks Synthesis Compute full lol don't re sets. { Mke ll lol funtions PI w.r. to don't re sets. Pitfll: { Don't res hnge s funtions hnge. Solution: { Itertion (Espresso-MLD). If itertion onverges, network is fully testle.
Multiple-level networks Synthesis Fltten to two-level form. { When possile { no size explosion. Mke SPI y disjoint logi minimiztion. Reonstrut multiple-level network: { Algeri trnsformtions preserve multifult testility.
Summry Synergy etween synthesis nd testing. Testle networks orrelte to smll-re networks. Don't re onditions ply mjor role.