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