/
1 New algorithms for ADC Linearity Test: 1 New algorithms for ADC Linearity Test:

1 New algorithms for ADC Linearity Test: - PowerPoint Presentation

adia
adia . @adia
Follow
27 views
Uploaded On 2024-02-02

1 New algorithms for ADC Linearity Test: - PPT Presentation

Greatly reduce test time while maintaining or even improving test accuracy Degang Chen Iowa State University 2 Why ADC ADC is the largest volume mixedsignal function Widely embedded in many large circuits and systems ID: 1044141

inl code test missing code inl missing test noise band dnl blue standardred samples dataleast squarebased codes lsb devicefull

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "1 New algorithms for ADC Linearity Test:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

1. 1New algorithms for ADC Linearity Test:Greatly reduce test time while maintaining or even improving test accuracyDegang ChenIowa State University

2. 2Why ADCADC is the largest volume mixed-signal functionWidely embedded in many large circuits and systemsADC performance is critical to overall system performanceADC test is one of the most challenging and most costly tests

3. 3ADC test challenges and costsMany specs to be testedRequire multiple accurate signal sourcesMay require accurate timing controlNeed complex and accurate test circuitryRequire long test time, especially for high performance ADCsfor most ADCs, INL/DNL test take the longest time and is a dominant cost component

4. 4Existing strategiesBuilt-in-self-test of ADCSunter et al, polynomial fittingRoberts and students, on-chip signal sourcesCheng et al, loop back and control circuitryProvost etal, on-chip linear ramp generatorsAzais, on-chip ramps and histogram testArabi, oscillation based BISTJiang et al, DDEM source for histogram test

5. 5Existing strategiesRelax signal source requirementsParthasarathy et al, low linearity ramp + slope error correctionFinland group, improved the aboveJin et al, stimulus error identification and removalAlegria et al, small amp waves together with accurate steps

6. 6Existing strategiesReduce data acquisition timeJin et al, Kalman filter + histogramWegener et al, linear model + IDYu et al, pipeline model ID + reconstructionBernard et al, attentive testAdamo et al, low freq INLChatterjee et al, reduced code test + reconstruction

7. 7Low freq INL from FFTAdamo et al, Janik et al, Attivissimo et al, Kerzerho et al, Stefani et al, Wu et alChebyshev polynomial fittingUse HD in FFT to estimate polynomial coeffUse Chebyshev polynomial to predict low freq INLLow pass filteringUse reduced data set in sine wave histogram testSHT produces “noisy” INLTake FFT of noisy INL, ideal low pass filterTake IFFT to find low freq INLMoving average filter

8. 8Adamo et al

9. 9For a grossly nonlinear ADC, the fitted INL curve may look similar to the actual curve.But the difference is still large.Attivissimo et al

10. 10ComplexityNumber of data points in FFT: MNumber of terms in curve fitting: NhComplexity: Nh2*M to set up equation Nh3 for matrix inversion

11. 11Two tone FFT based INL testSlepicka, et al

12. 12

13. 13

14. 14Chatterjee and studentsAlternate ADC testingBased on linear regression modelUse large numbers of known good ADC to trainFit new ADC response to model and detect diffWorked with TI for years on thisIs TI putting this into production test?Basic challenge: customer questionRelation to new algorithm: none

15. 15Chatterjee and students, (2)Reduced code testBased on characterization, find a subset of codes that are more prone to process variationsUse piecewise linear ramps to test code bin width of these codesUse SAR structure’s linear model to reconstruct full code INLSignificant INL test time reduction: up to 75%Measurement results for 12 bit ADC

16. 16

17. 17Chatterjee and students, (3)ComplexityAlgorithm and hardware rely on knowledge of trouble spotsNot clear if it will catch unpredicted PVT effectsLimited measurement results Same 5 devices in multiple papersAll devices are good devices: INL/DNL ±0.5LSBNo marginal or bad devices measuredLimited comparisonOnly compared max INL, min INL, max DNL, min DNLPeaks happen at different locationsINL curve shape and individual INL values not compared

18. 18Goals of new INL Test SolutionGreatly reduce, or eliminate, data acquisition time for INL/DNL testMaintain, or even significantly improve, test validity or test accuracyFlexible on type of stimulusEfficient in computationAdaptable to various ADC structures

19. 19Basic assumptions / observationsIn most ADCs, # of independent error sources << 2nThere are 2n – 1 transition voltagesThere are 2n – 3 INL errors to be testedHence, # of INL errors >> # of ind error sourcesThe gross dependency can be exploited

20. 20In most ADCs, certain intrinsic linearity is availableEg, for a 16 bit ADC, as long as all components are functional, 10 ~ 12 bit linearity is readily available over all PVT variation.Hence, several LS bits can be assumed to be approximately linearThis “linear ruler” of 100s LSB long can be used to shift voltages for efficient noise averagingBasic assumptions / observations

21. 21Conceptual exampleSuppose input noise sigma is 1 LSBTo measure T1024 with 0.2 LSB uncertainty (sigma), how many sample should I place between T1024 and T1087?VinT1024T1024+63T1025Answer: need 1/0.2=5X noise reduction,  5*5 samples for averaging, multiply that by a factor since not all samples contribute,  take about 64 samples per code,  place 4K samples between T1024 and T1087

22. 22Conceptual exampleAlternative approach utilizing “linear ruler”:For each sample falling between T1024 and T1087, use ruler to shift it by a certain amout so that it become about aligned with T1024Averaging these to get a measurement of T1024Only need 5*5 = 25 samples between T1024 and T1087VinT1024T1024+63T1025

23. 23Conceptual algorithmUse a known input (or identify it)Adjust for ADC gain error and offsetModel each transition voltage error as a simple function of grossly reduced # of error sources: INLi = fi(e1, e2, …, eK)At j-th input output pair, we have Vin(tj) – Cj*LSB = INLCj = fCj(e1, e2, …, eK)Use ruler to shift each equation to desired locationsSolve equations for those e’sCalculate INLi

24. 24One example implementationUse error in center point of each MSB interval as one independent error sourceFor 16 bit, T0 to T1023, T1024 to T2047, …, are such MSB intervalsAny “nonlinear” errors are captured by theseOther errors can add linearly to theseResulting function is linear, easy to solveWithin each interval, can further use “minor intervals”LSB transitions can be assumed linear, but missing transitions should be checked

25. 25Additional things that can helpFilter time domain data before putting them into equationCheck large Vin(tj) – Cj*LSB for sparkle or transient errorsChoose input waveform to achieve desired sample density at various locationsLet model take advantage of knowledge of architecture

26. 26Inefficiencies in standard histogramOnly those samples near transition voltage TK contribute to measurement precision of TKSamples near the middle of a code bin are not providing information about the bin edgesEffectively only fraction a of samples in bink help reduce measurement noise of TK Requires H samples to reduce variance of TK to s2/ aH, where s is noise sigmaAll TK’s treated as independent random varRequires H*2n samples Gross inefficiency

27. 27ExampleIf ADC input referred noise sigma is sHistogram has an average H samples per codeTotal samples: 2n*HTransition voltage error variance: INLk variance: INL curve noise band:

28. 28ExampleDNL error involves two transition voltages:DNL curve measurement noise band:For n=16, H=64, s=0.87, a=0.5, For device 1 and 2, s=0.87 from SNR analysis

29. 29New MethodNo histogramingAll samples contribute to measurement noise averagingRemove the 1/a factor of inefficiencyDon’t pretend that all transition voltages are independent random variablesAll transition voltage errors are a linear combination of a much smaller number of independent random error sourcesIdeal low-pass filter in DSP to reduce noise

30. 30ExampleFor a total of M samples, filter bandwidth B*fs, and assuming K independent errors, thenFor n=16, s=0.87, K=144, B=1 (no LPF), M=216:For B=1/4: INL_band = 0.14, DNL_band = 0.19

31. 31Improvement predictionCompare:New method with B=1/4: INL_band = 0.14, DNL_band = 0.19Standard: INL_band = 0.72, DNL_band = 1.02Measurement noise bands reduced by about a factor of 5This is with 64 times less samplesIn general:

32. 32Evaluation of new algorithmDid extensive simulationNew algorithm achieves much better test accuracy with much reduced # of samples, as compared to standard histogram methodSimulation on various ADC architectures: SAR, pipeline, sub-ranging, moderately high resolution flashMeasurement resultsISU, TI, NSCVarious resolutions

33. 3312 bit ADC test results

34. 34INL difference at each code

35. 35TI Evaluation of New Algorithm16 bit SAR ADCTI collects 216 samples with sine wave input and test ADC with standard INL testTI sends 216 samples to ISUISU performs full code linearity testISU sends tested INL data to TITI sends INL data from standard test to ISUBoth TI and ISU compare two INL tests

36. 36TI Device 1 INL, good deviceFull code INL test:Blue: standardRed: new with <2% dataEnd-point INL

37. 37TI Device 1 INL, good deviceFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INL

38. 38A zoomed in view at codes 10k to 15kFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~0.5 to 0.6 LSBRed noise band: ~0.1 to 0.13 LSBMeasurement noise band reduction by a factor of 5 as predicted by theory.

39. 39TI Device 1 DNL, good deviceFull code DNL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~1 LSBRed noise band: ~0.2 LSBMeasurement noise band reduction by a factor of 5 as predicted by theory.

40. 40Program log for major errorsThere are sparkle codes in this ADC.Expected codes: -3.1755838e+004 Actual codes: -3.1765629e+004 Code errors: -9.7912798e+000

41. 41±6s of input referred noiseSparkle or transient error?

42. 42Device 1 with 214 samplesFurther reduce #samples by a factor of 4Keep same number of ind error sourcesSame filteringTheory expect noise band to double

43. 43

44. 44TI Device 2 INL, good deviceFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INL

45. 45A zoomed in view at codes 10k to 15kFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~0.5 to 0.6 LSBRed noise band: ~0.1 to 0.13 LSBMeasurement noise band reduction by a factor of 5 as predicted by theory.

46. 46TI Device 2 DNL, good deviceFull code DNL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~ 0.8 to 1.2 LSBRed noise band: <~0.2 LSBMeasurement noise band reduction by a factor of 5 as predicted by theory.

47. 47Program log for major errorsThere are sparkle codes in this ADC.Expected codes: -2.6234594e+004Actual codes: -2.6267029e+004Code errors: -3.2435467e+001

48. 48TI Device 3 INL, poor deviceFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INL

49. 49A zoomed in view at codes 10k to 15kFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~1 to 1.5 LSBRed noise band: ~0.2 to 0.25 LSB

50. 50TI Device 3 DNL, poor deviceFull code DNL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~ 2 to 2.5 LSBRed noise band: ~0.2 to 0.25 LSB

51. 51Program log for major errorsThere are missing codes in this ADCThere are 1 code(s) missing near code 1023 There are 1 code(s) missing near code 2047There are 1 code(s) missing near code 3071 There are 2 code(s) missing near code 4095There are 1 code(s) missing near code 5119 There are 1 code(s) missing near code 6143There are 1 code(s) missing near code 7167 There are 4 code(s) missing near code 8191There are 1 code(s) missing near code 8192 There are 1 code(s) missing near code 9215There are 1 code(s) missing near code 10239 There are 1 code(s) missing near code 11263There are 2 code(s) missing near code 12287 There are 1 code(s) missing near code 14335There are 1 code(s) missing near code 15359 There are 2 code(s) missing near code 16383There are 1 code(s) missing near code 17407 There are 1 code(s) missing near code 18431There are 1 code(s) missing near code 19455 There are 2 code(s) missing near code 20479There are 1 code(s) missing near code 22527 There are 4 code(s) missing near code 24575There are 1 code(s) missing near code 24576 There are 1 code(s) missing near code 25599There are 1 code(s) missing near code 26623 There are 2 code(s) missing near code 28671There are 1 code(s) missing near code 30719 There are 1 code(s) missing near code 31743There are 3 code(s) missing near code 32767 There are 1 code(s) missing near code 34815There are 1 code(s) missing near code 35839 There are 2 code(s) missing near code 36863There are 1 code(s) missing near code 38911 There are 1 code(s) missing near code 39935There are 4 code(s) missing near code 40959 There are 1 code(s) missing near code 40960There are 1 code(s) missing near code 43007 There are 2 code(s) missing near code 45055There are 1 code(s) missing near code 47103 There are 1 code(s) missing near code 48127There are 1 code(s) missing near code 49151 There are 1 code(s) missing near code 50175There are 1 code(s) missing near code 51199 There are 1 code(s) missing near code 52223There are 2 code(s) missing near code 53247 There are 1 code(s) missing near code 55295There are 1 code(s) missing near code 56319 There are 4 code(s) missing near code 57343There are 1 code(s) missing near code 57344 There are 1 code(s) missing near code 58367There are 1 code(s) missing near code 59391 There are 2 code(s) missing near code 61439There are 1 code(s) missing near code 63487

52. 52TI Device 4 INL, poor deviceFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INL

53. 53A zoomed in view at codes 10k to 15kFull code INL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~1 to 1.5 LSBRed noise band: ~0.15 to 0.2 LSB

54. 54TI Device 4 DNL, poor deviceFull code DNL test:Blue: standardRed: new with <2% dataLeast squarebased INLBlue noise band: ~ 2 to 2.5 LSBRed noise band: ~0.2 to 0.25 LSB

55. 55ObservationsINL curvesVery similar shapeMeasurement noise band reduced as predictedStill non-trial differencesIs new method accurate?DNL curvesClear patterns in new methodPattern corresponds well with INL curvesNo clear pattern in standard histogram method

56. 56Assess test precisionCompare differences from run to runRepeat standard method many times and use average results for comparison

57. 57Device 1, new methodDNL test1 – test2

58. 58Device 1, new methodINL test1 – test2

59. 59Device 2: standard methodtypical INL differences between loops

60. 60Device 2, new methodDNL test1 – test2

61. 61Averaging the standard methodFor device 1 and 2, the standard method is applied to each device 16 loopsThe 16 loops were repeated at another time, producing two groups of 16 runs for each deviceTwo averages of 16 loops were obtained, and one average of 32 loops was obtainedAverage to average, average to single loop, and average to new method were compared

62. 62Device 2 INL: standard method16 loop average – another 16 loop average

63. 63Device 2 DNL: standard method16 loop average – another 16 loop average

64. 64Device 2 DNL: standard method16 loop average – single loop

65. 65Device 1 INL/DNL comparisonRed: new method with 64K samplesBlue: 16 loop average of standard method each with 64*64K samples

66. 66

67. 67

68. 68

69. 69

70. 70Device 1 INL/DNL comparisonRed: new method with 64K samplesBlue: 32 loop average of standard method each with 64*64K samples

71. 71Red: new method with 64K samplesBlue: standard with 2048*64K samples

72. 72Red: new method with 64K samplesBlue: standard with 2048*64K samplesRed is shifted up by 1 LSB for easy comparison

73. 73A zoomed in view of INL comparisonNotice that blue is in much better agreement with red than we’ve seen before (on next page)

74. 74

75. 75

76. 76

77. 77

78. 78

79. 79Validation with NSC ADC’s16 bit SAR ADC215 samples for spectral testingNew method uses these 215 samples for INL testStandard method use 128 sample per code, or a total of 223 samples for INL testThat is 256X more than new methodComparison of results suggests that the new method is highly likely to be more accurate!

80. 80NSC ADC1 INL, good deviceFull code INL test:Blue: standardRed: new with <0.5% dataLeast squarebased INL

81. 81NSC ADC1 DNL, good deviceFull code DNL test:Blue: standardRed: new with <0.5% dataLeast squarebased INLBlue noise band: ~ 0.8 to 1.2 LSBRed noise band: <~0.2 LSB

82. 82NSC ADC2 INL, good deviceFull code INL test:Blue: standardRed: new with <0.5% dataLeast squarebased INL

83. 83NSC ADC2 DNL, good deviceFull code DNL test:Blue: standardRed: new with <0.5% dataLeast squarebased INLBlue noise band: ~ 0.6 to 1 LSBRed noise band: ~0.2 LSB

84. 84NSC ADC3 INL, marginal deviceFull code INL test:Blue: standardRed: new with <0.5% dataLeast squarebased INL

85. 85NSC ADC3 DNL, marginal deviceFull code DNL test:Blue: standardRed: new with <0.5% dataLeast squarebased INLBlue noise band: ~ 0.5 to 0.9 LSBRed noise band: ~0.1 LSB

86. 86Zoomed in view at codes 30k to 35 kFull code DNL test:Blue: standardRed: new with <0.5% dataLeast squarebased INLVery wide codeSlightly wide codesINL plotBig INL jumpSmall INL jumpsBlue has more noiseRed more accurately captures wide codes

87. 87Program log for major errorsThere are wide codes in this ADCCode 32767 is wide by 2 LSB(s).There are missing codes in this ADCThere are 1 code(s) missing near code 16383There are 1 code(s) missing near code 49151

88. 88NSC ADC4 INL, poor deviceFull code INL test:Blue: standardRed: new with <0.5% dataLeast squarebased INL

89. 89NSC ADC4 DNL, poor deviceFull code DNL test:Blue: standardRed: new with <0.5% dataLeast squarebased INLBlue noise band: ~ 0.6 to 0.9 LSBRed noise band: ~0.1 LSB

90. 90Zoomed in view at codes 30k to 35 kFull code DNL test:Blue: standardRed: new with <0.5% dataLeast squarebased INLVery wide codeSlightly wide codesINL plotBig INL jumpSmall INL jumpsBlue has more noiseRed more accurately captures wide codes

91. 91Program log for major errorsThere are wide codes in this ADCCode 16383 is wide by 2 LSB(s).Code 32767 is wide by 1 LSB(s).Code 49151 is wide by 2 LSB(s).There are missing codes in this ADCThere are 1 code(s) missing near code 8191There are 1 code(s) missing near code 24575There are 1 code(s) missing near code 40959There are 1 code(s) missing near code 57343