probabilistic graphical models
play

Probabilistic Graphical Models Sangho Youn 1 and Chenjie Gu 2 1 Seoul - PowerPoint PPT Presentation

1 Probabilistic Bug Localization for Analog/Mixed-Signal Circuits using Probabilistic Graphical Models Sangho Youn 1 and Chenjie Gu 2 1 Seoul National University, South Korea 2 Intel Strategic CAD Labs, Hillsboro, OR, USA March 2014 2 Outline


  1. 1 Probabilistic Bug Localization for Analog/Mixed-Signal Circuits using Probabilistic Graphical Models Sangho Youn 1 and Chenjie Gu 2 1 Seoul National University, South Korea 2 Intel Strategic CAD Labs, Hillsboro, OR, USA March 2014

  2. 2 Outline  Overview  Bug localization using graphical models  Graphical model creation  Gaussian Bayesian network  Table-based Bayesian network  Bug localization by statistical inference  Experimental results  Conclusion

  3. 3 Problem: Time-Consuming Debugging  Debugging tasks are major bottlenecks in IC design  Mostly depends on trial-and-errors  Takes a significant amount of time! http://www.eeweb.com/rtz/trial-error

  4. 4 Goal: Automatic Bug Localization  Goal is to develop a tool that can automatically localize bugs from available waveforms and models, primarily for post- silicon validation Channel TX RX OUT IN Which block caused this failure ? Closed eye, Failure!

  5. 5 Proposed Approach: Bug Diagnosis Using Probabilistic Graphical Models θ 1 θ 2 θ 3 1. Construct probabilistic graphical model 2. Make an observation Channel TX RX 3. Estimate the posterior probability of a IN OUT A B system’s parameter θ 4. If P post ( θ in θ spec_range ) < threshold , θ θ 1 θ 1 θ 2 θ 2 θ 3 θ 3 θ 1 θ 1 θ 2 θ 2 θ 3 θ 3 and its associated sub-block are reported as failure root-causes  If multiple bug root-causes are found, rank them IN IN A A B B OUT OUT IN A A B B OUT according to P( θ = θ ref |D ob ) P post ( θ 1 |D ob ) P post ( θ 1 |D ob ) P post ( θ 2 |D ob ) P post ( θ 2 |D ob ) P post ( θ 3 |D ob ) P post ( θ 3 |D ob ) too low! θ 1,ref θ 2,ref θ 2 θ 2 θ 1 θ 1 θ 3,ref θ 3 θ 3

  6. 6 Advantages of Our Approach  Uncertainty/noise can be θ 1 θ 2 θ 3 θ 1 θ 2 θ 3 modeled  Non-linearity can be modeled IN A B OUT A B  Efficient inference algorithms exist P post ( θ 2 |D ob ) too low! θ 2,ref θ 2

  7. 7 Outline  Overview  Bug localization using graphical models  Graphical model creation  Gaussian Bayesian network  Table-based Bayesian network  Bug localization by statistical inference  Experimental results  Conclusion

  8. 8 Probabilistic Models  A system’s behavior can be described by probability instead of a functional relationship θ 1 θ 2 θ 3 Channel TX RX IN B C OUT P( IN, B, C, OUT, θ 1 , θ 2 , θ 3 ) This is difficult to characterize!

  9. 9 Probabilistic Graphical Model  We can significantly reduce the complexity by graphical model  Can decompose a full joint distribution into small factors θ 1 θ 2 θ 3 Channel TX RX IN B C OUT

  10. 10 Two Parametric Model of Factors in Graphical Model  Conditional Probability Density (CPD)  A template to describe CPD, P(Z out |X in ,Y in ) Gaussian Bayesian network (GBN) 1.  P(Z | X, Y) ~ Normal ( aX+bY , ϭ 2 )  For linear block Table-based Bayesian network (TBN) 2.  P(Z | X, Y) ~ Multinomial (p 1 ,p 2 ,…, p k )  For nonlinear block Gaussian BN Multinomial BN P(Z|X,Y)

  11. 11 Gaussian Bayesian Network (GBN) Model Example – Continuous Time Linear Equalizer  CTLE example 𝝂 = 𝒄 𝟏 𝒚 𝒐 + 𝒄 𝟐 𝒚 𝒐−𝟐 + 𝒃 𝟐 𝒛 𝒐−𝟐 + 𝒃 𝟑 𝒛 𝒐−𝟑 P(y n |x n ,x n-1 ,y n-1 ,y n-2 ) Discrete-time GBN 𝑐 0 + 𝑐 1 𝑨 −1 𝐼 𝑨 = 𝐿 1 + 𝑏 1 + 𝑏 2 𝑨 −1 𝑧 𝑜 = 𝑐 0 𝑦 𝑜 + 𝑐 1 𝑦 𝑜−1 + 𝑏 1 𝑧 𝑜−1 + 𝑏 2 𝑧 𝑜−2 y n 1 (𝑡 + 𝑆 𝑡 𝐷 𝑡 ) 𝐼 𝑡 = 𝑕 𝑛 1 + 𝑕 𝑛 𝑆 𝑡 𝐷 𝑞 1 2 (𝑡 + )(𝑡 + 𝑆 𝐸 𝐷 𝑞 ) 𝑆 𝑡 𝐷 𝑡

  12. 12 Table-Based Bayesian Network (TBN) Model Creation – Decision Feedback Equalizer  DFE example y y Voltage Voltage Voltage Voltage x z x z Quantization levels Quantization levels 8 8 7 7 x[n-1] 6 x[n-1] 6 5 5 Slicer threshold Slicer threshold x[n] x[n] z -1 z -1 4 4 3 y[n] 3 y[n] x[n-2] x[n-2] γ γ 2 2 z[n] z[n] 1 1 x[n] z[n] x[n] z[n] Time (n) Time (n) Time (n) Time (n) x[n]=input P(y[n]|x[n]=5,z[n-1]=1,z[n-2]=-1) y[n]=slicer’s input P(y[n]|x[n]=6,z[n-1]=-1,z[n-2]=-1) z[n-1] z[n-2] z[n-1] z[n-2] z[n]=output P(y[n]|x[n]=3,z[n-1]=-1,z[n-2]=-1)

  13. 13 Outline  Overview  Bug localization using graphical models  Graphical model creation  Gaussian Bayesian network  Table-based Bayesian network  Bug localization by statistical inference  Experimental results  Conclusion

  14. 14 Bug Localization by Statistical Inference: Computing P posterior ( θ | D ob )  We want to estimate the probability of a parameter ( θ ) after observation ( D ob ) by statistical inference  Possible Approaches  Exact inference  Junction tree algorithm  Approximate inference  Gibbs sampling How do we get P posterior ( θ | D ob ) ? P post ( θ 2 |D ob ) θ 2,ref θ 2

  15. 15 Statistical Inference by Gibbs Sampling: Computing P posterior ( θ | D ob ) θ 1,0 θ 1,0 θ 1,1 θ 1,0 θ 1,1 θ 1,0 θ 1 θ 2,0 θ 2,0 θ 2,0 θ 2,0 θ 2,1 θ 2,0 θ 2 θ 3,0 θ 3,0 θ 3,0 θ 3,0 θ 3,0 θ 3,1 θ 3 θ 1 θ 2 θ 3  Gibbs Sampling can be used when the conditional distribution of each variable is known and is easy to sample from Start with an initial guess X 0 =(B 1,0 , B 2,0 , …, θ 3,0 ) 1. IN 3 IN 3 IN 3 IN 3 IN 3 IN 3 IN 3 B 3,0 B 3,0 B 3,1 B 3,1 B 3,0 B 3,1 B 3 C 3,0 C 3,0 C 3,0 C 3,0 C 3,1 C 3,0 C 3 OUT 3 OUT 3 OUT 3 OUT 3 OUT 3 OUT 3 OUT 3 Take a sample B 1,1 from P(B 1 | B 2,0 , B 3,0 , …, θ 3,0 ) and 2. update B 1 Take samples for B 2 to B 3 and update them 3. IN 2 IN 2 IN 2 IN 2 IN 2 IN 2 IN 2 B 2,1 B 2,0 B 2,1 B 2,1 B 2,0 B 2,1 B 2 C 2,0 C 2,0 C 2,0 C 2,0 C 2,1 C 2,0 C 2 OUT 2 OUT 2 OUT 2 OUT 2 OUT 2 OUT 2 OUT 2 Take a sample θ 1,1 from P( θ 1 | B 1,0 , … , θ 2,0 , θ 3,0 ) and 4. update θ 1 Take samples for C 1 to C 3 and update them 5. IN 1 IN 1 IN 1 IN 1 IN 1 IN 1 IN 1 B 1,0 B 1,1 B 1,1 B 1,1 B 1,1 B 1,1 B 1 C 1,0 C 1,0 C 1,1 C 1,0 C 1,0 C 1,0 C 1 OUT 1 OUT 1 OUT 1 OUT 1 OUT 1 OUT 1 OUT 1 Take samples θ 2 to θ 3 and update them 6. Iterate 2~6 step N times 7. (B 1,1 , B 2,1 , …, C 1,1 , C 2,1 , …, θ 3,1 ) Estimate P post ( θ | D ob ) ~ Histogram(Samples) 8.  P( θ 1 | D ob ) ~ Histogram( θ 1,k+1 , θ 1,k+2 , …θ 1,k+N ) (B 1,2 , B 2,2 , …, C 1,2 , C 2,2 , …, θ 3,2 ) … (B 1,N , B 2,N , …, C 1,N , C 2,N , …, θ 3,N )

  16. 16 Increasing Accuracy by Using Controllability  The method may miss a bug root-cause due to highly limited observability  However, we can increase accuracy and differentiate bug root-causes by using controllability Now, the bug can be detected! controllable knob P( θ 2 |D ob1 , D ob2 ) D ob1 =(IN 1 ,OUT 1 ) θ 2 D ob2 =(IN 2 ,OUT 2 ) Spec-range

  17. 17 Outline  Overview  Bug localization using graphical models  Graphical model creation  Gaussian Bayesian network  Table-based Bayesian network  Bug localization by statistical inference  Experimental results  Conclusion

  18. 18 Test Case – A 5 Gbps I/O Link  System Parameters ( θ )  TX FFE, Channel, RX CTLE : pole / zero  DFE: tap coefficients / slicer threshold TX EQ Channel RX EQ Input TX FFE Channel CTLE DFE/Slicer Output Output Output Output FR408 GBX Reference Backplane Continuous Time Linear Equalizer S-parameter channel model is from http://www.t11.org/ftp/t11/models/index.html

  19. 19 Experiment (1) – The Posteriors Cover True Parameters As Expected  Posterior distributions of FFE, channel and CTLE parameters and true parameter locations TX EQ Channel RX EQ Input TX FFE Channel CTLE Output Output Output True pole/zero location (x / o) Estimated posterior distribution of pole/zero (x / o) Zero map of TX FFE Pole/Zero map of channel Pole/Zero map of CTLE

  20. 20 Experiment (2) – The Problematic Buggy Channel Can be Identified  In this experiment, a channel is replaced by a problematic lossy channel TX EQ Channel RX EQ Input TX FFE Channel CTLE DFE/Slicer Output Output Output Output Frequency response of desired channel Frequency response of lossy channel

  21. 21 The Bug Localization and Ranking Procedure θ CH θ CH γ -table γ -table V gain1 V gain1 θ CH θ CH θ CTLE1 θ CTLE1 controllability to CTLE’s zero location A 12 A 12 B 12 B 12 C 12 C 12 D 12 D 12 OUT 12 OUT 12 TX EQ Channel RX EQ Input TX FFE Channel CTLE DFE/Slicer Output A 11 A 11 B 11 B 11 C 11 C 11 D 11 D 11 OUT 11 OUT 11 Output Output Output V gain2 V gain2 θ CTLE2 θ CTLE2 A 22 A 22 B 22 B 22 C 22 C 22 D 22 D 22 OUT 22 OUT 22 A 21 A 21 B 21 B 21 C 21 C 21 D 21 D 21 OUT 21 OUT 21 P post ( θ 1 |D ob ) P post ( θ 2 |D ob ) P post (V gain1 |D ob ) Problematic Parameter θ 1,ref θ 2,ref θ 2 θ 1 θ 3,ref θ 3 Ranking • Rank them according to P( θ in θ spec |D ob ) • P( θ 2 in θ 2,spec |D ob ) < P( θ 1 in θ 1,spec |D ob ) < … • Rank in order of θ 2, θ 1, …

  22. 22 Experiment (2) – A Buggy Lossy Channel is Identified As the Bug Root-Cause Desired Parameter Value (Narrow bar) real(z) Desired pole(x)/zero(o) locations Estimated posterior distribution of pole/zero (x / o) real(p1) Estimated parameter posterior of buggy channel

Recommend


More recommend