 
              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  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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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