Statistics Applications in Mixed Signal Circuit Design

by allenlu2007


Circuit designers only care about statistics when talking about yield.
For example, the distribution of bandgap voltage, or the sizing of the current steering DAC.
It is under the “design for yield” goal.  The design is on a deterministic base.  Statistics is merely a tool to optimize the yield. 
This article is from a different perspective.  We assume some quantity (voltage, timing, etc.) to be estimated from a statistical point of view.  Either the quantity itself is uncertain (with noise, e.g. DC level of a modulated signal); or the measurement component contains bias (deterministic) or noise (e.g. comparator in ADC). 
The key is that there could be error in estimation.  How we can control the error using statistical method.
Problems to estimate
Case 1: quantitation
(a) voltage (or current) to quantize:  ADC
(b) delay or phase to quantize: digital PLL
Case 2: function
(a) DC offset cancellation
(b) timing recovery or detection
Case 3: 
1. ADC: the most intuitive way to implement ADC is using 2^N-1 comparator to quantize input voltage
like flash ADC.   If comparator makes error, flash ADC is quite robust since it is using thermomic encoder. 
Thermonic coding is robust against decision error, including both systematic error (bias) or random error.
However, it comes with the price of highly redundancy.  
The only problem of flash controller is area and power, not scalable with the bit resolution.
The other extreme is to use SAR ADC, with only one comparator and a DAC.  
The becomes a noisy search problem!!!
There are two popular searching algorithms.   One is linear search; the other is binary search algorithms.
Linear search is similar to flash ADC, trading time step with voltage step.  Not practical at high resolution.
Binary search is most efficient search algorithm.  However, when making a error in the searching, it is not recoverable.   In addition, the earlier the error decision, the larger the error.   The goal is to minimize error 
when making a error comparison.  
Conventionally, there are two ways to handle this case:  reduce radix and redundant bits