# $ ! % " % & ' " )$ + , ( * ! ' - . / ' ' 0 (1 " * * " 2 / " % ' " ( " * Verification "Plan + 3 * * Directives " * Checking, Assertions * Biased-Random Stimuli Generator Test Test Design Under Verification DUV Simulator Pass Fail Coverage Information Coverage CDG Reports Engine Coverage Analysis Tool % $ * + ( * # % 5 4 * 6 . 4 5 1 " 0 7 8 / . * * )$ * . $9 2 $ $ $ $ $ + * : * % $ + 0 ! < 7 7 * * : (1 * " * " " / (1 " . * " $ $ 9 - . * $ $> * % . / * “Manual” CDG The Holy Grail VALUE Coverage Booster $; $ $ Coverage '$ % = NO VALUE Effort / expertise % ! - . / " % % ! % Family of @ ! 7 7 ( * @ ' ) * > * ( $4 +5 " % $ % ! " % # $ % & ' % !! %" > % % 04 ? ( 5 ! % > 9 % " P ( B, E , A, C , R) P ( B ) P ( E ) P( A | B, E ) P( R | E ) P(C | A) % ! - . / + ) * ' " + ( ) * ' ' ; ; A * " * % ! - . / + Test Directive File Test Directive File Test Directive File ) Test Directive File Test Directive D1=“add” Test DirectiveFile File D1=“sub” D1=“xor” + D1=“fadd” D2=“R17” D1=“xor” D2=“R23” D1=“fadd” D2=“R0” D2=“F7” … D2=“R0” … D2=“F7” … … Dm=3 … Dm=11 … Dm=8 Dm=-2 Dm=8 Dm=-2 Coverage Trace Coverage Trace Coverage Trace * Coverage Trace Coverage Trace ( Coverage Trace C1=2, C2=add, …, C1=5, C2=fdiv, …, ) C2=xor, C1=1, …, C1=2, C2=br, …, C1=0, C2=nop, …, C1=1, C2=xor, …, C1=8, C2=sub, …,…, C1=2, C2=br, …, C1=21, C2=xor, C1=9, C2=fadd, …, C1=7, C2=mul, …, C1=21, C2=xor, …, C1=11, C2=sel, …, C1=9, C2=fadd, …, C1=12, C2=div, …, C1=0, C2=fmul, …, … C1=12, C2=div, …, … C1=0, C2=fmul, …, … … … … ' " * ' ' ; ; A * " % > P C1 | D 2 , P C 2 | D1, C 5 , * % )$ * + > * ! " * > # 0 $ " + " " ! * * ! . ' % % % ! + . * ! % 9 $ / + * % * $ + ( * d7 d0 d8 d9 d2 d1 d11 d10 d4 d3 d12 d6 d5 A1 A3 A5 A2 0 % "> ' > A4 % " 4 A9 A6 A8 A7 !5 $ "% % * $ + ( * d7 d0 d8 d9 d2 d1 d11 d10 d4 d3 d12 d6 d5 A1 A3 A5 A2 0 % "> ' > A4 % " 4 A9 A6 A8 A7 !5 $ "% % * $ + ( * d2 d1 d4 d3 d5 A1 A3 A5 A2 0 % "> ' > A4 % " 4 A9 A6 A8 A7 !5 $ "% % * $ d1 + ( * d2 d3 d5 d4 A1 A3 A5 A2 2 $ + 7 A9 A6 A4 $ . ! / % A7 B . A8 % * $ + ( * d1 d2 d3 d4 d5 A1 A3 A5 A2 2 $ + 7 A9 A6 A4 $ ! % % % % A8 A7 ! % B * $ % * $ d1 + ( * d2 d2 d3 A;3 ; ; ; ; ; A;2 ; ; ; ; ; d5 d3 d 3 A4 A8 P A7 | d 3 , A4 , A8 A1 d4 8 8F d3 8 8G ; 8E 8A 8 8D 8; A3 8; 8A d 28 8C 8E A d 3 P A3 | d5 2 , d 3 A4 8C 8D ; ; ; ; 8A 8A A4 8 8 8 8 A9 A6 A8 A7 A8 A7 % " ' 2 $ B # "% $ H* ' * . $ 0 I " 2 $ ! . / / / B * $ % % B % ( * * Initial Space Sampling c Feature Selection ! - . / Directives Coverage Model Training Set Structure Learning Parameter Learning Engine for creating Bayesian Networks Inference % ' # " # 6 : * "% $ > 4 J .5 $ +> " ' * $ H$ *$ 9 $ ) 6 !% !I > % 5 ! 8 $ *$ * " " @ 4 % " " . ! $ " " $ ! " I ( X ;Y ) x, y P ( x, y ) P( x, y ) log P( x) P( y ) ! . " % % ' * / # ' . # 9 + + + % 6 * &% * * * * " * $" 8 $ = ! % ! $ * $" $ " ! % % * 4 . $" *$ 5 " * * : + ! * * P( X $" " xi ) 1, P( X xi ) 0 % ' * + * 8 $" * ' 6 ** . $ / " ! % " 7 * 9 ! ! % $ * K % " * $" * " % :0 . * * $" % $ " ' > % . 4* " 0 * J % 5 " 4 $ 5 d2 d4 d1 d5 d3 A1 A3 A2 A5 A4 A9 A6 A8 A7 % " & " @ % " * * : X + Z . $ ) zi 1,0,0 , z 2 z1 6 ) " * !: ! " % % ! % 1,2,3 z1 , z 2 ,..., z k . $ % 1), P ( X " 2), P( X " 0,1,0 , z3 J ! % " $ P( X :@ " J - " " 0,0,1 , z 4 . $ Z . $X ! % zi / Pi ( X ) > 1 1 ,0, , z6 2 2 Z 4Z 5> $ 3) % % 1 1 , ,0 , z5 2 2 4 1 " . 5 1 1 0, , , z7 2 2 1 1 1 , , 3 3 3 % 0 " * ' " ( * $" :" 1" J 4 $ " 4 1 % ) * 4 5 $ * L . / . . /% 5 P( E ), P( B), R, A, C .> " 5 % " Family of ( 04 ? ( 5 % ! " % # $ % & ' % !! %" % & ' " )$ + , ( * ! ' - . / ' ' 0 (1 " * * " 2 / " % (1 " :0 4J; M $6 % 0 M $ N / 5 $ ' * * * * ! / $ $ 4 / $ * : $ % " ;F 65 *% $ : ;F E E D : AC * : G ;D ! " J 4" " 5 % # # * " 0 " 6 6 ( J . * * > 1 # * * $" * $ * * $" 4O * * * % " " : " " '$ . % * " ( 5 $ !7 7 $ ! * %! % (1 " (1 " 6 ;76 * % % P( X " " " (1 0 (1 6 0 " 9 1 P . / 7 F J % . " . $" 88 $ xi ) 1, P( X xi ) 0 /: " $ % $ $ $ *$ " . 4 * % (1 % " 5 " % ' *# Coverage vs. simulation runs 7200 Coverage vs. simulation runs 8000 7000 7000 6800 6000 5000 6400 Events Events 6600 6200 6000 4000 3000 5800 5600 5400 5200 1.5 2000 Quantized directives Pruned networks Generic algorithms 2 2.5 3 Simulation runs Quantized directives Pruned networks Generic algorithms Regression 1000 3.5 4 4 x 10 0 0 0.5 1 1.5 2 2.5 Simulation runs 3 3.5 4 4 x 10 % ' *. $ 6 ;; 0 # * ' * " * " *$ ! . Coverage vs. simulation runs 7200 ! * .$ ' " " $" * > * 6800 * . $ " . . / 6600 Events $ 7000 6400 6200 6000 5800 Learning with large set Quantized directives Pruned networks Generic algorithms 5600 5400 5200 1.5 2 2.5 3 Simulation runs 3.5 4 4 x 10 % 4 *5 # * $" " ! $ (1 " (1 " 4 " C 4 . *. $ " % % ! * ! " " - H. I * $" / 5 $ * 5 $ % ' "" ! " * $ " + ' 0 @ ' # " $ % 9 " . * " " . / J * % " " * * * . " / . * " % 2 (1 / N" " " ! 1 $ * " *! * 9 " $" ! * % $ + % * 4 $ 5 * %