Push-Pull

TODO 📅

Rinaldo Castello, "LINEARIZATION TECHNIQUES FOR PUSH-PULL AMPLIFIERS" [https://www.ieeetoronto.ca/wp-content/uploads/2020/06/AMPLIFIERS_Stanf_Tor_2016_Last.pdf]

Rail-to-Rail Op amp

[https://mixsignal.wordpress.com/wp-content/uploads/2013/03/689-604rail2rail.pdf]

[https://toshiba.semicon-storage.com/ap-en/semiconductor/knowledge/faq/linear_opamp/what-does-rail-to-rail-mean.html]

TODO 📅

self-biased active loading

image-20251029213156015


Vishal Saxena "CMOS Comparator Design Extra Slides" [https://www.eecis.udel.edu/~vsaxena/courses/ece614/Handouts/Comparator%20Slides.pdf]

preampSong202412181018


W. Liu, P. Huang and Y. Chiu, "A 12b 22.5/45MS/s 3.0mW 0.059mm2 CMOS SAR ADC achieving over 90dB SFDR," 2010 IEEE International Solid-State Circuits Conference - (ISSCC), San Francisco, CA, USA, 2010 [https://sci-hub.se/10.1109/ISSCC.2010.5433830]

image-20250805230555464

Slewing in Folded-Cascode Op Amps

image-20240817161915989

In practice, we choose \(I_P \simeq I_{SS}\)


image-20240817162418938

image-20240817162127452


image-20240816175038971

Avoid zero current in cascodes

  • left circuit

    \(I_b \gt I_a\)

  • right circuit

    \(I_b \gt 2I_a\)

Huijsing, J. H. (2017). Operational Amplifiers: Theory and Design. (3 ed.) Springer

[https://bbs.eetop.cn/forum.php?mod=redirect&goto=findpost&ptid=995502&pid=11548528]

image-20250922233947643

Response Speed in Analog Circuits

Hyun-Sik Kim, KAIST, A-SSCC 2024 Circuit Insights: FT3 Accelerating Response Speed in Analog Circuits [link]

image-20250105085449759


image-20250105072433452

Bandwidth limitation

image-20250105072748483

image-20250105073322162

image-20250105090203938image-20250105090204188

slew rate limitation

image-20250105083039901

Assuming linear response \[ V_o(t) = 1 - e^{-\omega_T t} \]

\[ \frac{dV_o}{dt} = \omega_Te^{-\omega_T t} = \frac{g_m}{C_L}e^{-\omega_T t} = \frac{g_m}{I_B}\cdot \frac{I_B}{C_L}\cdot e^{-\omega_T t} \gt \frac{I_B}{C_L} \]

where \(\frac{g_m}{I_B} e^{-\omega_T t} \gt 1\) at initial response

Therefore, initial response speed is dominated by SR, rather than \(G_m\) (or bandwidth)

image-20250105090105095

MOS parasitic Rd&Rs, Cd&Cs

Decrease the parasitic R&C

priority: \(R_s \gt R_d\), \(C_s \gt C_d\)

source follower

A. Sheikholeslami, "Voltage Follower, Part III [Circuit Intuitions]," in IEEE Solid-State Circuits Magazine, vol. 15, no. 2, pp. 14-26, Spring 2023, doi: 10.1109/MSSC.2023.3269457

—, ESSCIRC2023 Circuit Insights [https://youtu.be/2xFIZM5_FPw?si=536cMdIXyIny27Uk]

—, CICC2025 Circuit Insights: From Simple to Super Source Follower [https://youtu.be/CWfMKltPIQ8?si=s0npv2GSQKYBv513]

Paul R. Gray. 2009. Analysis and Design of Analog Integrated Circuits (5th. ed.). Wiley Publishing. [pdf]

Super-source follower (SSF)

image-20240924213742877

image-20240924213845608

image-20240924213853954

Flipped Voltage Follower (FVF)

image-20240921110019881

image-20240921113630249

T&H buffer in ADC

image-20240923200147070

[https://www.linkedin.com/posts/chembiyan-t-0b34b910_flipped-voltage-follower-fvf-basics-activity-7118482840803020800-qwyX?utm_source=share&utm_medium=member_desktop]

Z. Guo et al., "A 112.5Gb/s ADC-DSP-Based PAM-4 Long-Reach Transceiver with >50dB Channel Loss in 5nm FinFET," 2022 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2022, pp. 116-118, doi: 10.1109/ISSCC42614.2022.9731650.

Double Differential pair

\(V_\text{ip}\) and \(V_\text{im}\) are input, \(V_\text{rp}\) and \(V_\text{rm}\) are reference voltage \[ V_o = A_v(\overline{V_\text{ip} - V_\text{im}} - \overline{V_\text{rp} - V_\text{rm}}) \]

2diffpair.drawio

In differential comparison mode, the feedback loop ensure \(V_\text{ip} = V_\text{rp}\), \(V_\text{im} = V_\text{rm}\) in the end

assume input and reference common voltage are same

Pros of (b)

  • larger input range i.e., \(\gt \pm \sqrt{2}V_\text{ov}\) of (a), it works even one differential is off due to lower voltage
  • larger \(g_m\) (smaller input difference of pair)

Cons of (b)

  • sensitive to the difference of common voltage between \(V_\text{ip}\), \(V_\text{im}\) and \(V_\text{rp}\), \(V_\text{rm}\)

common-mode voltage difference

doublepair_cm.drawio

copy aforementioned formula here for convenience \[ V_o = A_v(\overline{V_\text{ip} - V_\text{im}} - \overline{V_\text{rp} - V_\text{rm}}) \]

at sample phase \(V_\text{ip}= V_\text{im}= V_\text{cmi}\) and \(V_\text{rp}= V_\text{rm}= V_\text{cmr}\)

  • \(I_\text{ip0}= I_\text{im0} = I_\text{i0}\)
  • \(I_\text{rp0}= I_\text{rm0} = I_\text{r0}\)

i.e. \(\overline{I_\text{ip} + I_\text{rm}} - \overline{I_\text{im} + I_\text{rp}} = 0\)

at compare start

  • \(V_\text{ip}= V_\text{im}= V_\text{cmi}\) and \(V_\text{rp}= V_\text{cmr}+\Delta\), \(V_\text{rp}= V_\text{cmr}-\Delta\)

  • \(I_\text{ip}\lt I_\text{ip0}\), \(I_\text{rp} \gt I_\text{rp0}\)

  • \(I_\text{im}\gt I_\text{im0}\), \(I_\text{rm} \lt I_\text{rm0}\)

i.e. \(\overline{I_\text{ip} + I_\text{rm}} - \overline{I_\text{im} + I_\text{rp}} \lt 0\), we need to increase \(V_\text{ip}\) and decrease \(V_\text{im}\).

at the compare finish

\[\begin{align} V_\text{ip}= V_\text{cmi} + \Delta \\ V_\text{im}= V_\text{cmi} - \Delta \end{align}\]

and \(I_\text{ip0}= I_\text{im0} = I_\text{i0}\), \(I_\text{rp0}= I_\text{rm0} = I_\text{r0}\)

i.e. \(\overline{I_\text{ip} + I_\text{rm}} - \overline{I_\text{im} + I_\text{rp}} = 0\)


If \(V_\text{cmr} - V_\text{cmi} = \sqrt{2}V_{OV} + \delta\), and \(\delta \gt 0\). one transistor carries the entire tail current

  • \(I_\text{ip} =0\) and \(I_\text{rp} = I_{SS}\), all the time

At the end, \(V_\text{im} = V_\text{cmi} - (\Delta - \delta)\), the error is \(\delta\)

In closing, \(V_\text{cmr} - V_\text{cmi} \lt \sqrt{2}V_{OV}\) for normal work

Furthermore, the difference between \(V_\text{cmr}\) and \(V_\text{cmi}\) should be minimized due to limited impedance of current source and input pair offset

In the end \[ V_\text{cmr} - V_\text{cmi} \lt \sqrt{2}V_{OV} - V_{OS} \]

Under the condition, every transistor of pairs are on in equilibrium

pair mismatch

diff_mismatch_connect.drawio

\[\begin{align} I_{SE} &= g_m(\sigma_{vth,0} + \sigma_{vth,1}) \\ I_{DE} &= g_m(\sigma_{vth,0} + \sigma_{vth,1}) \end{align}\]

The input equivalient offset voltage \[\begin{align} V_{os,SE} &= \frac{I_{SE}}{2g_m} = \frac{\sigma_{vth,0} + \sigma_{vth,1}}{2} \\ V_{os,DE} &= \frac{I_{DE}}{g_m} = \sigma_{vth,0} + \sigma_{vth,1} \end{align}\]

Then \[\begin{align} \sigma_{vos,SE} &= \sqrt{\frac{2\sigma_{vth}^2}{4}} = \frac{\sigma_{vth}}{\sqrt{2}} \\ \sigma_{vos,DE} &= \sqrt{2\sigma_{vth}^2} = \sqrt{2}\sigma_{vth} \end{align}\]

We obtain \[ \sigma_{vos,DE} = 2\sigma_{vos,SE} \]

Input Differential pair

Todd Brooks, Broadcom "Input Programmable Gain Amplifier (PGA) Design for ADC Signal Conditioning" [https://classes.engr.oregonstate.edu/eecs/spring2021/ece627/Lecture%20Notes/OSU%20Classroom%20Presentaton%20042511.ppt]

DM Distortion

image-20241027095213326

CM Distortion

image-20241027095248946

Resistive Degeneration

Resistive degeneration in differential pairs serves as one major technique for linear amplifier

image-20240824132739726

The linear region for CMOS differential pair would be extended by \(±I_{SS}R/2\) as all of \(I_{SS}/2\) flows through \(R\). \[\begin{align} V_{in}^+ -V_{in}^- &= V_{OV} + V_{TH}+\frac{I_{SS}}{2}R - V_{TH} \\ &= \sqrt{\frac{2I_{SS}}{\mu_nC_{OX}\frac{W}{L}}} + \frac{I_{SS}R}{2} \end{align}\]

Jri Lee, "Communication Integrated Circuits." https://cc.ee.ntu.edu.tw/~jrilee/publications/Comm_IC.pdf

Figure 14.12, Design of Analog CMOS Integrated Circuits, Second Edition [https://electrovolt.ir/wp-content/uploads/2014/08/Design-of-Analog-CMOS-Integrated-Circuit-2nd-Edition-ElectroVolt.ir_.pdf]

Biasing Tradeoffs in Resistive-Degenerated Diff Pair

image-20241027095520556

image-20250906072230725

image-20250906072050727

image-20250906171710938

linearized model

image-20250824092757793 \[\begin{align} v[n] = \{0,1,2,...,M-1\} &\space\Rightarrow\space y[n] = 0 \space\Rightarrow\space e_q[n] = \{0, -\frac{1}{M},-\frac{2}{M},...,-\frac{M-1}{M}\} \\ v[n] = \{M,M+1,M2,...,2M-1\} &\space\Rightarrow\space y[n] = 1 \space\Rightarrow\space e_q[n] = \{0, -\frac{1}{M},-\frac{2}{M},...,-\frac{M-1}{M}\} \end{align}\]

image-20250823232924985

For the three stages of the MASH 1-1-1 DDSM

image-20250823232212295


1st order DDSM (digital accumulator)

image-20250604000323199

assuming \(n_0=2\)

\(x[n]+s[n]\) \(v\) \(e[n]\) \(c[n]\), y
0|00 0 0 0
0|01 1 1 0
0|10 2 2 0
0|11 3 3 0
1|00 4 0 1
1|01 5 1 1
1|10 6 2 1
1|11 7 3 1

yield \(M=2^{n_0}=4\)

2nd order DDSM

image-20250601170123635

In \(z\)-domain \[ \left\{(A + D - Y)\frac{z^{-1}}{1-z^{-1}} - 2Y \right\}\frac{z^{-1}}{1-z^{-1}} + Q = Y \] That is \[ Y = A z^{-2} + Dz^{-2} + Q(1-z^{-1})^2 \] In time domain \[\begin{align} y[n] &= \alpha[n-2] + d[n-2] + q[n]-2q[n-1]+q[n-2] \\ &= \alpha + d[n-2] + q[n]-2q[n-1]+q[n-2] \end{align}\]

LSB Dither

image-20250905064118796

image-20250905064139686


image-20250905065402176

?? integer valued impulse responses

S. Pamarti, J. Welz and I. Galton, "Statistics of the Quantization Noise in 1-Bit Dithered Single-Quantizer Digital Delta–Sigma Modulators," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 54, no. 3, pp. 492-503, March 2007 [pdf]

stability of DSM

image-20250908213730155

image-20250908213849546

image-20250913161933338

accumulator wordlength

Z. Ye and M. P. Kennedy, "Hardware Reduction in Digital Delta–Sigma Modulators Via Error Masking—Part II: SQ-DDSM," in IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 56, no. 2, pp. 112-116, Feb. 2009 [https://sci-hub.se/10.1109/TCSII.2008.2010188]

—, "Hardware Reduction in Digital Delta-Sigma Modulators Via Error Masking - Part I: MASH DDSM," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 56, no. 4, pp. 714-726, April 2009 [https://sci-hub.se/10.1109/TCSI.2008.2003383]

image-20250906134655253

Truncation DAC

accumulator is implicit quantizer

image-20241022204239594

with \(\frac{y}{2^{m_2}} + q= v\), where \(v = \lfloor\frac{y}{2^{m_2}}\rfloor\)

\[ \left\{ \begin{array}{cl} Y + 2^{m_2} Q &= 2^{m_2}V \\ U - z^{-1}2^{m_2}Q &= Y \end{array} \right. \]

The STF & NTF is shown as below \[ V = \frac{1}{2^{m_2}}U + (1-z^{-1})Q \]

To avoid accumulator overflow, stable input range is only of a fraction of the full scale ( \(2^{m_1+m_2}-1\)) \[ u \leq 2^{m_1+m_2} - 2^{m_2} \]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
m1 = 2  # MSBs
m2 = 4 # LSBs

ymax = 2**(m1 + m2)
umax = 2**(m1 + m2) - 2**m2 # int(m1*'1'+m2*'0', 2)
# format(48, '06b')
# Out[4]: '110000'

u = 48
assert u <= umax

ylist = [0]; vlist = [0]
elist = []; outlist = []

Niter = 2**10
for _ in range(Niter):
ecur = vlist[-1] - ylist[-1]
elist.append(ecur)
ycur = (u - ecur)
assert ycur < ymax, print(ycur)
ylist.append(ycur)
ycur_bin = format(ycur, f'0{m1+m2}b')
vcur = int(ycur_bin[:-m2]+'0'*m2, 2)
vlist.append(vcur)
outlist.append(int(ycur_bin[:-m2], 2))

print(vlist); print(ylist)
print(sum(vlist)/len(vlist)); print(sum(outlist)/len(outlist)*2**m2)

acc-wordlength.drawio

To avoid overflow

\[ \log_2(2^k + 2^{N-m}) \leq N \]

Thus \[ N \ge k - \log_2(1 - \frac{1}{2^m}) = k+m -\log_2(2^m-1) \]

suppose \(m\in [1,+\infty)\) \[ k < k - \log_2(1 - \frac{1}{2^m}) \leq k + 1 \] \(N = k +1\) is sufficient for any \(k\)

In the above Temes's sides, \(N = m_1+m_2\) and \(m=m_1\), we have \[ 2^k \leq 2^{m_1+m_2}\cdot (1-\frac{1}{2^{m_1}}) = 2^{m_1+m_2} - 2^{m_2} \]

Generally speaking, \(N \propto k\) and \(N \propto \frac{1}{m}\), especially \(N_{min} = k+1\) if single-bit quantizer \(m=1\)

Fractional-N PLL

image-20250824103717743

image-20250824103933652

Divider Model

image-20250824221530772 \[ (N+\alpha)T_{PLL} - \tau[n-1] +\tau[n] = (N+y[n])T_{PLL} \]

i.e. \[ \tau[n] = \tau[n-1] + (y[n] - \alpha)T_{PLL} \]

where \(\tau[n] = t_{v_{DIV}} - t_{v_{DIV}, desired}\)

image-20250824221741018

\(\Delta\Sigma\) noise in PLL

image-20250824162417584

image-20250824183123922

image-20250824210526248


image-20251014070517171

ddsm_fracpll_zoh.drawio

\[\begin{align} S_\phi(f) &= \frac{1}{12F_{ref}}|1-z^{-1}|^{2L}\cdot \left|\frac{2\pi z_{-1}}{1-z^{-1}}\right|^2\cdot \frac{1}{T_{ref}^2} T_{ref}^2 \\ &= \frac{1}{12F_{ref}} |1-z^{-1}|^{2L-2} 4\pi^2 \end{align}\]

with \(|1-z^{-1}| = |2\sin\frac{\pi f}{F_{ref}}|\)

\[ S_\phi(f) = \frac{1}{12F_{ref}} \cdot \left|2\sin\frac{\pi f}{F_{ref}}\right|^{2(L-1)}\cdot 4\pi^2 = \frac{\pi^2}{3F_{ref}} \cdot \left|2\sin\frac{\pi f}{F_{ref}}\right|^{2(L-1)} \]

Impulse Train Modulator (ITM)

M. H. Perrott, M. D. Trott and C. G. Sodini, "A modeling approach for /spl Sigma/-/spl Delta/ fractional-N frequency synthesizers allowing straightforward noise analysis," in IEEE Journal of Solid-State Circuits, vol. 37, no. 8, pp. 1028-1038, Aug. 2002 [https://www.cppsim.com/Publications/JNL/perrott_jssc02.pdf]

image-20250913130430564


image-20250913130708018

image-20250913130847600

\(\Delta\Sigma\) DAC

LPF (RC Filter)

Neil Robertson, Model a Sigma-Delta DAC Plus RC Filter [https://www.dsprelated.com/showarticle/1642.php]

Sigma-delta digital-to-analog converters (SD DAC’s) are often used for discrete-time signals with sample rate much higher than their bandwidth

  • Because of the high sample rate relative to signal bandwidth, a very simple DAC reconstruction filter (Analog lowpass filter) suffices, often just a one-pole RC lowpass

image-20250616000829208

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
R= 4.7e3;                 % ohms resistor value
C= .01e-6; % F capacitor value
fs= 1e6; % Hz DAC sample rate
% input signal
x= [zeros(1,20) .9*ones(1,200) .1*ones(1,200)];
% find output y of SD DAC and output y_filt of RC filter
[y,y_filt]= sd_dacRC(x,R,C,fs);

t = linspace(0,length(x)-1, length(x))*1/fs*1e3;
subplot(3,1,1)
plot(t, x, '.'); title('x'); grid on
subplot(3,1,2)
plot(t, y, '.'); title('y'); grid on
subplot(3,1,3)
plot(t, y_filt); title('y_{filt}'); xlabel('t(ms)'); grid on

image-20250621223451691


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
% https://www.dsprelated.com/showarticle/1642.php
% Neil Robertson, Model a Sigma-Delta DAC Plus RC Filter

% function [y,y_filt] = sd_dacRC(x,R,C,fs) 2/5/24 Neil Robertson
% 1-bit sigma-delta DAC with RC filter
% Model does not include a zero-order hold.
%
% x = input signal vector, 0 <= x < 1
% R = series resistor value, Ohms. Normally R > 1000 for 3.3 V logic.
% C = shunt capacitor value, Farads
% fs = sample frequency, Hz
% y = DAC output signal vector, y(n) = 0 or 1
% y_filt = RC filter output signal vector
%
function [y,y_filt] = sd_dacRC(x,R,C,fs)
N= length(x);
x= fix(x*2^16)/2^16; % quantize x to 16 bits
%I 1-bit Sigma-delta DAC
s= [x(1) zeros(1,N-1)];
for n= 2:N
u= x(n) + s(n-1);
s(n)= mod(u,1); % sum
y(n)= fix(u); % carry
end

%II One-pole RC filter model
% Matched z-Transform https://ocw.mit.edu/courses/2-161-signal-processing-continuous-and-discrete-fall-2008/cc00ac6d468dc9dcf2238fc1d1a194d4_lecture_19.pdf
Ts= 1/fs;
Wc= 1/(R*C); % rad -3 dB frequency
fc= Wc/(2*pi); % Hz -3 dB frequency
a1= -exp(-Wc*Ts);
b0= 1 + a1; % numerator coefficient
a= [1 a1]; % denominator coeffs
y_filt= filter(b0,a,y); % filter the DAC's output signal y

ZOH (Zero-Order Hold Models)

Neil Robertson, DAC Zero-Order Hold Models [https://www.dsprelated.com/showarticle/1627.php]

image-20250628204404959

The last D2C is in human vision, which connect discrete time \(y(m)\) with line, implicitly

image-20250628203216965

Sinc Corrector

Neil Robertson, Design a DAC sinx/x Corrector [https://www.dsprelated.com/showarticle/1191.php]

Dan Boschen. how to make CIC compensation filter [https://dsp.stackexchange.com/a/31596/59253]

—. Core Building Blocks for Software Defined Radio (SDR): DDC, DUC, NCO) [https://lnkd.in/p/e2MtC9QK]

Equalizing Techniques Flatten DAC Frequency Response [https://www.analog.com/en/resources/technical-articles/equalizing-techniques-flatten-dac-frequency-response.html]

aka. Inverse Sinc Compensation

TODO 📅

img

OSR & NS

maximum output signal 22kHz

image-20250906195627446

\[SNR = 16\times 6.02 + 1.76 = 98.08\]

image-20250906200230380


image-20250906205517957

1
2
3
4
5
6
7
8
9
10
11
12
OSR = 5.65e6/(2*22e3);
Nin = 16;
Nout = 1;

SNR_in = 6.02*Nin + 1.76;

SNR_ds = 6.02*Nout + 1.76 - 10*log10(pi^4/5) + 50*log10(OSR);

QN_in = 1/10^(SNR_in/10);
QN_ds = 1/10^(SNR_ds/10);

SNR_out = 10*log10(1/(QN_in + QN_ds));

image-20250906205622949


Y. Liu, J. Gao and X. Yang, "24-bit low-power low-cost digital audio sigma-delta DAC," in Tsinghua Science and Technology, vol. 16, no. 1, pp. 74-82, Feb. 2011 [https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6077939]

image-20250922224650348

1
2
3
4
5
6
7
8
9
10
11
12
13
14
snr_if = 144;
snr_ds = 135;
snr_ana = 95;

n_if = 1/10^(snr_if/10);
n_ds = 1/10^(snr_ds/10);
n_ana = 1/10^(snr_ana/10);

snr_tot = 10*log10(1/(n_if + n_ds + n_ana))

%
% snr_tot =
%
% 94.9995

MASH 1-1-1 implementaion

J. W. M. Rogers, F. F. Dai, M. S. Cavin and D. G. Rahn, "A multiband /spl Delta//spl Sigma/ fractional-N frequency synthesizer for a MIMO WLAN transceiver RFIC," in IEEE Journal of Solid-State Circuits, vol. 40, no. 3, pp. 678-689, March 2005 [https://sci-hub.se/10.1109/JSSC.2005.843604]

image-20250926204309028


(a) a fractional accumulator, and (b) a triple-loop \(\Delta\Sigma\) accumulator for \(N(z) = 100 + 1/32\)

\(n=5\)

image-20250927091310965

image-20250926205608397

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import numpy as np
import matplotlib.pyplot as plt
import scipy.fft as fft
import scipy.signal.windows as windows

def acc_nbit(din, nbit=5, ncycles=2**10):
mod = 2**nbit
acc = 0
eq = 0
colist = []
eqlist = []
for i in range(ncycles):
acc = din[i] + eq
eq = acc % mod
#print(acc, eq)
co_tmp = int(acc >= mod)
colist.append(co_tmp)
eqlist.append(eq)
return colist, eqlist

Ncyl = 2**16
cin1 = [1]*Ncyl

c1,eq1 = acc_nbit(cin1, ncycles=Ncyl)
cin2 = [0,*eq1[:-1]]
#cin2 = eq1

c2,eq2 = acc_nbit(cin2, ncycles=Ncyl)
cin3 = [0,*eq2[:-1]]
#cin3 = eq2

c3,eq3 = acc_nbit(cin3, ncycles=Ncyl)

ctot = []

for i in range(2, Ncyl):
# C1(z) + (1 − z^−1)C2(z) + (1 − z^−1)^2 C3(z)
ctot_cur = c1[i] + c2[i]-c2[i-1] + c3[i]-2*c3[i-1] + c3[i-2]
ctot.append(ctot_cur)

print(sum(c1)/len(c1)) # 0.03125
print(sum(ctot)/len(ctot)) # 0.03128147221289712

plt.figure(figsize=(20,8))
plt.subplot(1,2,1)
plt.plot(c1[:200], 'o-', label='c1')
plt.legend(loc='upper left'); plt.grid(True)
plt.subplot(1,2,2)
plt.plot(ctot[:200], 'o-', label='ctot')
plt.legend(loc='upper left'); plt.grid(True)


Ntot = int(2**np.floor(np.log2(len(ctot))))
c1_4fft = np.array(c1[:Ntot])
ctot_4fft = np.array(ctot[:Ntot])
whann = windows.hann(Ntot)
Y_c1 = abs(fft.rfft(c1_4fft*whann))/sum(whann)
Y_ctot = abs(fft.rfft(ctot_4fft*whann))/sum(whann)

print(Y_c1[0]) # 0.031250000002717625
print(Y_ctot[0]) # 0.031249999999526525

plt.figure(figsize=(20,8))
plt.subplot(2, 1, 1)
_, stemlines, _ = plt.stem(Y_c1, markerfmt=" ", label='c1')
plt.setp(stemlines, 'linewidth', 4)
plt.ylim([0,0.04]); plt.grid(True); plt.legend(loc='upper left')
plt.subplot(2, 1, 2)
_, stemlines, _ = plt.stem(Y_ctot, markerfmt=" ", label='ctot')
plt.setp(stemlines, 'linewidth', 4)
plt.ylim([0,0.04]); plt.grid(True); plt.legend(loc='upper left')

plt.show()

reference

Michael Peter Kennedy. scv-cas 2014: Digital Delta-Sigma Modulators [pdf,recording]

—, Recent advances in the analysis, design and optimization of Digital Delta-Sigma Modulators [pdf]

Kaveh Hosseini and Peter Kennedy. 2006 Hardware Efficient Maximum Sequence Length Digital MASH Delta Sigma Modulator [pdf]

Jason Sachs. Return of the Delta-Sigma Modulators, Part 1: Modulation [https://www.dsprelated.com/showarticle/1517/return-of-the-delta-sigma-modulators-part-1-modulation]


Neil Robertson, Modeling a Continuous-Time System with Matlab [https://www.dsprelated.com/showarticle/1055.php]

—, “A Simplified Matlab Function for Power Spectral Density”, DSPRelated.com, March, 2020, [https://www.dsprelated.com/showarticle/1333.php]

Rick Lyons. How Discrete Signal Interpolation Improves D/A Conversion [https://www.dsprelated.com/showarticle/167.php]

Dan Boschen. sigma delta modulator for DAC [https://dsp.stackexchange.com/a/88357/59253]

Woogeun Rhee. ISCAS 2019 Mini Tutorials: Single-Bit Delta-Sigma Modulation Techniques for Robust Wireless Systems [https://youtu.be/OEyTM4-_OyA?si=vllJ5Pe8I3lqb_Vl]

—, 2001 Phd Thesis: Multi-Bit Delta -Sigma Modulation Technique for Fractional-N Frequency Synthesizers [https://www.ime.tsinghua.edu.cn/Thesis_rhee.pdf]


S. Pamarti, J. Welz and I. Galton, "Statistics of the Quantization Noise in 1-Bit Dithered Single-Quantizer Digital Delta–Sigma Modulators," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 54, no. 3, pp. 492-503, March 2007 [https://ispg.ucsd.edu/wordpress/wp-content/uploads/2017/05/2007-TCASI-S.-Pamarti-Statistics-of-the-Quantization-Noise-in-1-Bit-Dithered-Single-Quantizer-Digital-Delta-Sigma-Modulators.pdf]

—. "LSB Dithering in MASH Delta–Sigma D/A Converters," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 54, no. 4, pp. 779-790, April 2007 [https://sci-hub.se/10.1109/TCSI.2006.888780]

—. CICC 2020 ES2-2: Basics of Closed- and Open-Loop Fractional Frequency Synthesis [https://youtu.be/t1TY-D95CY8?si=tbav3J2yag38HyZx]

Ian Galton. Delta-Sigma Fractional-N Phase-Locked Loops [https://ispg.ucsd.edu/wordpress/wp-content/uploads/2022/10/fnpll_ieee_tutorial_2003_corrected.pdf]

—. ISSCC 2010 SC3: Fractional-N PLLs [https://www.nishanchettri.com/isscc-slides/2010%20ISSCC/Short%20Course/SC3.pdf]

—. “Delta-Sigma Fractional-N Phase-Locked Loops.” (2003).

Mike Shuo-Wei Chen, ISSCC 2020 T6: Digital Fractional-N Phase Locked Loop Design [https://www.nishanchettri.com/isscc-slides/2020%20ISSCC/TUTORIALS/T6Visuals.pdf]


Pavan, Shanthi, Richard Schreier, and Gabor Temes. (2016) 2016. Understanding Delta-Sigma Data Converters. 2nd ed. Wiley.


John Rogers, Calvin Plett, and Foster Dai. 2006. Integrated Circuit Design for High-Speed Frequency Synthesis (Artech House Microwave Library). Artech House, Inc., USA. [pdf]

K. Hosseini and M. P. Kennedy, Minimizing Spurious Tones in Digital Delta-Sigma Modulators (Analog Circuits and Signal Processing). New York, NY, USA: Springer, 2011.

Rhee, W. (2020). Phase-locked frequency generation and clocking : architectures and circuits for modern wireless and wireline systems. The Institution of Engineering and Technology

Lacaita, Andrea Leonardo, Salvatore Levantino, and Carlo Samori. Integrated frequency synthesizers for wireless systems. Cambridge University Press, 2007.

Classification

  • Continuous-Time (CT) Analog Modulator
    • Sampled Quantizer: Synchronous Modulator
    • Unsampled Quantizer: Asynchronous Modulator
  • Discrete-Time (DT) Analog Modulator
    • The main application is in \(\Delta\Sigma\) ADCs
  • Discrete-Time Digital Modulators (DDSM)
    • Single Quantizer DDSMs - output feedback
    • Error feedback modulators (EFM) - error feedback
    • Multi stAge noise SHaping (MASH)

image-20250903210531360


image-20250611074830238

"Quantizers" and "truncators", and "integrators" and "accumulators" are used in delta-sigma ADCs and DACs, respectively

P. Kiss, J. Arias and Dandan Li, "Stable high-order delta-sigma DACS," 2003 IEEE International Symposium on Circuits and Systems (ISCAS), Bangkok, 2003 [https://www.ele.uva.es/~jesus/analog/tcasi2003.pdf]

Oversampling

image-20250611232612319

David Johns and Ken Martin. Oversampling Converters [https://www.eecg.toronto.edu/~johns/ece1371/slides/14_oversampling.pdf]


Over Sampling

Nyquist sampling theorem @signal: no aliasing, signal remain the same

noise folding @noise: same total noise power spread over a wider frequency

[https://dsp.stackexchange.com/a/40261/59253]


image-20250629215715378

image-20250629215830077

Noise Shaping

image-20250629232343017

image-20250629232453811

1
2
3
4
5
6
7
8
9
10
11
[h1, w1] = freqz([1 -1], 1);
[h2, w2] = freqz([1 -2 1], 1);

plot(w1/2/pi, abs(h1), LineWidth=3)
hold on
plot(w2/2/pi, abs(h2), LineWidth=3)
grid on
legend('MOD1', 'MOD2')
xlabel('fs')
ylabel('mag')
title('NTF of MOD1 & MOD2')

image-20250824151828263

SQNR improvement

In general, for an \(l\)th order modulator with \(\text{NTF}(z) = (1 − z^{−1})^l\), the SQNR increases by \((6l + 3)\) dB for every doubling of the OSR, which provides \(l+0.5\) extra bits resolution

without the delta-sigma loop

image-20250823220900699

\(10\log (2) \approx 3\)dB

first order delta-sigma modulator

image-20250823220842529

\(30\log (2) \approx 9\)dB

second order delta-sigma modulator

image-20250823220922480

\(50\log (2) \approx 15\)dB


image-20250823224500839

1
2
3
4
5
6
7
8
9
10
11
12
13
14
OSR= linspace(1,16,16);

SQNR_ovonly_delta = 10*log10(OSR);
SQNR_1st_delta = -10*log10(pi^2/3) + 30*log10(OSR);
SQNR_2st_delta = -10*log10(pi^4/5) + 50*log10(OSR);

plot(OSR, SQNR_ovonly_delta,'ro-', LineWidth=4);
hold on
plot(OSR, SQNR_1st_delta,'bo-', LineWidth=4);
plot(OSR, SQNR_2st_delta,'mo-', LineWidth=4);
grid on; grid minor;
xlim([1 16]); ylim([-20 50]);
xlabel('OSR', FontSize=16); ylabel('\DeltaSQNR (dB)', FontSize=16);
legend('Oversampling Only', '1st \Delta\Sigma', '2nd \Delta\Sigma', fontsize=16)

TI. ADC12EU050 Continuous-Time Sigma-Delta ADCs [https://www.ti.com/lit/an/snaa098/snaa098.pdf]

image-20250906192735041

where \(N\) is the number of bits in the output, \(M\) is known as the over-sampling ratio, \(L\) is loop orders

Quantizer Bits & ENOB

without the delta-sigma loop

image-20250921132712308

image-20250921102250022

image-20250921124756085

High-Order \(\Delta\Sigma\) Modulators

image-20250921133840404

image-20250921134001793

image-20250921134051906

image-20250921134312753


The greater the number of quantizer levels, the smaller quantization error

image-20250824081318669

Quantizer overload

image-20250905062939783

\(\Delta \Sigma\) vs. \(\Delta\) modulation

  • \(\Delta \Sigma\) modulators, and other noise-shaping modulators, change the spectrum of the noise but leave the signal unchanged

  • \(\Delta\) modulators and other signal-predicting modulators shape the spectrum of the modulated signal but leave the quantization noise unchanged at the receiver

output vs. error-feedback

The error-feedback architecture is problematic for analog implementation, since it is sensitive to variations of its parameters (subtractor realization)

  • The error-feedback structure is thus of limited utility in \(\Delta \Sigma\) ADCs
  • The error-feedback structure is very useful and applied in digital loops required in \(\Delta \Sigma\) DACs

ADC

image-20250618203604863

image-20250618203636417

DAC

image-20250617223537672

P. Kiss, J. Arias and Dandan Li, "Stable high-order delta-sigma DACS," 2003 IEEE International Symposium on Circuits and Systems (ISCAS), Bangkok, 2003 [https://www.ele.uva.es/~jesus/analog/tcasi2003.pdf]


output-feedback

img

[https://www.linkedin.com/posts/danboschen_signalprocessing-dsp-pythonforengineers-activity-7345777588746788866-SprG?utm_source=share&utm_medium=member_desktop&rcm=ACoAAD-cuiIBDJ62eh9q3qTSSdslYXr-XMd8TGw]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// https://github.com/hamsternz/second_order_sigma_delta_DAC

`timescale 1ns / 1ps
module second_order_dac(
input wire i_clk,
input wire i_res,
input wire i_ce,
input wire [15:0] i_func,
output wire o_DAC
);

reg this_bit;

reg [19:0] DAC_acc_1st;
reg [19:0] DAC_acc_2nd;
reg [19:0] i_func_extended;

assign o_DAC = this_bit;

always @(*)
i_func_extended = {i_func[15],i_func[15],i_func[15],i_func[15],i_func};

always @(posedge i_clk or negedge i_res)
begin
if (i_res==0)
begin
DAC_acc_1st<=16'd0;
DAC_acc_2nd<=16'd0;
this_bit = 1'b0;
end
else if(i_ce == 1'b1)
begin
if(this_bit == 1'b1)
begin
DAC_acc_1st = DAC_acc_1st + i_func_extended - (2**15);
DAC_acc_2nd = DAC_acc_2nd + DAC_acc_1st - (2**15);
end
else
begin
DAC_acc_1st = DAC_acc_1st + i_func_extended + (2**15);
DAC_acc_2nd = DAC_acc_2nd + DAC_acc_1st + (2**15);
end
// When the high bit is set (a negative value) we need to output a 0 and when it is clear we need to output a 1.
this_bit = ~DAC_acc_2nd[19];
end
end
endmodule

Time and Frequency Domain

image-20250627193435726

\(M \gt N\)

[https://web.engr.oregonstate.edu/~temes/ece627/Lecture_Notes/Intro_to_Delta_Sigma_Data_Converters.pdf]


Chun-Hsien Su ( 蘇純賢). Fundamentals of Sigma-Delta Data Converters,July, 2006 [pdf]

image-20250809235244362

image-20250809235311542

ADC

image-20250611234653738

image-20250612000925089

hackaday. Tearing Into Delta Sigma ADC’s [https://hackaday.com/2016/07/07/tearing-into-delta-sigma-adcs-part-1/]


image-20250617234727838

DAC

an interpolation filter effectively up-samples its low-rate input and lowpass-filters the resulting high-rate data to produce a high-rate output devoid of images

image-20250612000423191

P.E. Allen -CMOS Analog Circuit Design: Lecture 39 – Oversampling ADCs – Part I (6/26/14) [https://aicdesign.org/wp-content/uploads/2018/08/lecture39-140626.pdf]

P.E. Allen -CMOS Analog Circuit Design: Lecture 40 – Oversampling ADCs – Part II (7/17/15) [https://aicdesign.org/wp-content/uploads/2018/08/lecture40-150717.pdf]


image-20250720201944707

David Johns and Ken Martin. Oversampling Converters [https://www.eecg.toronto.edu/~johns/ece1371/slides/14_oversampling.pdf]


image-20250627194351778

[https://web.engr.oregonstate.edu/~temes/ece627/Lecture_Notes/Intro_to_Delta_Sigma_Data_Converters.pdf]

No delay-free loops

Any such physically feasible device will take a finite time to operate – in other words, the quantized output will only be available a small time after the quantizer has "looked" at the input - insert a one-sample delay

image-20250617231014547

there cannot be a "delay free loop" is a common idea in sequential digital state machine design


image-20241128232040924

Both integrator and quantizer are delay free

NTF realizability criterion: No delay-free loops in the modulator

image-20241128233022231

linear settling & GBW of amplifier

TODO 📅

Switched capacitor has been the common realization technique of discrete-time (DT) modulators, and in order to achieve a linear settling, the sampling frequency used in these converters needs to be significantly lower than the gain bandwidth product (GBW) of the amplifiers.

MOD1 & MOD2

MOD1: first-order noise-shaped converter (\(\Delta\Sigma\) modulator)

MOD2: second-order noise-shaped converter (\(\Delta\Sigma\) modulator)

MOD1

image-20241005120659945 \[ V(z) = U(z) +(1-z^{-1})E(z) \]

  • A binary DAC (and hence a binary modulator) is inherently linear
  • With a CT loop filter, MOD1 has inherent anti-alising

image-20241005202024498 \[\begin{align} v[1] &= u - (0) + e[1] \\ v[2] &= 2u - (v[1]) + e[2] \\ v[3] &= 3u - (v[1]+v[2]) + e[3] \\ v[4] &= 4u - (v[1]+v[2]+v[3]) + e[4] \end{align}\]

That is \[ v[n] = nu - \sum_{k=1}^{n-1}v[k] + e[n] \] Therefore, we have \(v[n-1] = (n-1)u - \sum_{k=1}^{n-2}v[k] + e[n-1]\), then \[\begin{align} v[n] &= nu - \sum_{k=1}^{n-1}v[k] + e[n] \\ &= u + \left((n-1)u - \sum_{k=1}^{n-2}v[k]\right) - v[n-1] + e[n] \\ &= u + v[n-1] - e[n-1] -v[n-1] + e[n] \\ &= u + e[n] - e[n-1] \end{align}\]


image-20250524215712688

Dout, the low frequency component of ADC out is same with Vin

MOD2

[https://web.engr.oregonstate.edu/~temes/ece627/Lecture_Notes/2nd_Higher_Order.pdf]

image-20241005160203074

MOD1 with DC Excitation

TODO 📅

Mismatch Shaping

image-20241112220458335

Data-Weighted Averaging (DWA)

image-20241113000942025 \[\begin{align} \sum_{i=0}^{n}v[i] + e_\text{DAC}[n] &= y[n] \\ \sum_{i=0}^{n-1}v[i] + e_\text{DAC}[n-1] &= y[n-1] \end{align}\]

and we have \(w[n] = y[n] - y[n-1]\), then \[ w[n] = v[n] + e_\text{DAC}[n] - e_\text{DAC}[n-1] \] i.e. \[ W = V + (1-z^{-1})e_\text{DAC} \]

Element Rotation:

image-20241112233059745

[http://individual.utoronto.ca/schreier/lectures/12-2.pdf], [http://individual.utoronto.ca/trevorcaldwell/course/Mismatch.pdf]

integrator leakage

When the integrator includes leakage (\(\alpha\))

\[ x[n-1] + \alpha y[n-1] = y[n] \]

then, \[ \frac{Y}{X} = \frac{z^{_1}}{1-\alpha z^{-1}} \]

reference

Pavan, Shanthi, Richard Schreier, and Gabor Temes. (2016). Understanding Delta-Sigma Data Converters. 2nd ed. Wiley.

Norsworthy, Steven R., Richard Schreier, Gábor C. Temes and Ieee Circuits. “Delta-sigma data converters : theory, design, and simulation.” (1997).

Horowitz, P., & Hill, W. (2015). The art of electronics (3rd ed.). Cambridge University Press. [pdf]

John Rogers, Calvin Plett, and Foster Dai. 2006. Integrated Circuit Design for High-Speed Frequency Synthesis (Artech House Microwave Library). Artech House, Inc., USA. [pdf]


R. Schreier, ISSCC2006 tutorial: Understanding Delta-Sigma Data Converters

Shanthi Pavan, ISSCC2013 T5: Simulation Techniques in Data Converter Design [https://www.nishanchettri.com/isscc-slides/2013%20ISSCC/TUTORIALS/ISSCC2013Visuals-T5.pdf]

Bruce A. Wooley , 2012, "The Evolution of Oversampling Analog-to-Digital Converters" [https://r6.ieee.org/scv-sscs/wp-content/uploads/sites/80/2012/06/Oversampling-Wooley_SCV-ver2.pdf]

Venkatesh Srinivasan, ISSCC 2019 T5: Noise Shaping in Data Converters

B. Razavi, "The Delta-Sigma Modulator [A Circuit for All Seasons]," IEEE Solid-State Circuits Magazine, Volume. 8, Issue. 20, pp. 10-15, Spring 2016. [http://www.seas.ucla.edu/brweb/papers/Journals/BRSpring16DeltaSigma.pdf]

P. M. Aziz, H. V. Sorensen and J. vn der Spiegel, "An overview of sigma-delta converters," in IEEE Signal Processing Magazine, vol. 13, no. 1, pp. 61-84, Jan. 1996 [https://sci-hub.st/10.1109/79.482138]


Richard E. Schreier, ECE 1371 Advanced Analog Circuits - 2015 [http://individual.utoronto.ca/schreier/ece1371-2015.html]

Gabor C. Temes. ECE 627-Oversampled Delta-Sigma Data Converters [https://classes.engr.oregonstate.edu/eecs/spring2017/ece627/lecturenotes.html]

Joshua Reiss. Understanding sigma delta modulation: the solved and unsolved issues

[https://www.eecs.qmul.ac.uk/~josh/documents/2008/Reiss-JAES-UnderstandingSigmaDeltaModulation-SolvedandUnsolvedIssues.pdf]

V. Medina, P. Rombouts and L. Hernandez-Corporales, "A Different View of Sigma-Delta Modulators Under the Lens of Pulse Frequency Modulation [Feature]," in IEEE Circuits and Systems Magazine, vol. 24, no. 2, pp. 80-97, Secondquarter 2024

image-20250930160758085

32 to 56 Gbps Serial Link Analysis and Optimization Methods for Pathological Channels [https://docs.keysight.com/eesofapps/files/678068240/678068273/1/1629077956000/tutorial-32-to-56-gbps-serial-link-analysis-optimization-methods-pathological-channels.pdf]

TX FFE

Jose E. Schutt-Aine, Spring 2024 ECE 546 Lecture - 27 Equalization [http://emlab.uiuc.edu/ece546/Lect_27.pdf]

Sam Palermo. Lecture 7 - Equalization Intro & TX FIR EQ [https://people.engr.tamu.edu/spalermo/ecen689/lecture7_ee720_eq_intro_txeq.pdf]

David Johns. ECE1392H - Integrated Circuits for Digital Communications - Fall 2001: Equalization [https://www.eecg.utoronto.ca/~johns/ece1392/slides/equalization.pdf]

Vivek Telang, Equalization for High-Speed Serdes: System-level Comparison of Analog and Digital Techniques 2012 [https://ewh.ieee.org/r5/denver/sscs/Presentations/2012_08_Telang.pdf]

Kevin Zheng, Boris Murmann, Hongtao Zhang, and Geoff Zhang. Feedforward Equalizer Location Study for High-Speed Serial Systems [https://www.signalintegrityjournal.com/articles/1228-feedforward-equalizer-location-study-for-high-speed-serial-systems]

—, “System-Driven Circuit Design for ADC-Based Wireline Data Links”, Ph.D. Dissertation, Stanford University, 2018 [https://purl.stanford.edu/hw458fp0168]

Hanumolu, P. K., Wei, G. Y., & Moon, Y. K. (2005). Equalizers for high-speed serial links. International Journal of High Speed Electronics and Systems [https://people.engr.tamu.edu/spalermo/ecen689/hslink_eq_overview_hanumolu_jhses05.pdf]

Gain Kim. Equalization, Architecture, and Circuit Design for High-Speed Serial Link Receiver [pdf]

image-20250928235645823

TX FIR Coefficient Selection with MMSE

Lecture 7: Equalization Introduction & TX FIR Eq [https://people.engr.tamu.edu/spalermo/ecen689/lecture7_ee720_eq_intro_txeq.pdf]

image-20251102114741833

tx-ffe-coef-conv.drawio


Lone-Pulse Equalization

image-20251102133644396

tx-ffe-coef-sel.drawio

image-20260116224051584

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
h=[0.004, 0.0010, 0.0023, 0.0052, 0.0812, 0.3437, 0.1775, 0.0917, 0.0526,...
0.0360, 0.0224, 0.0162, 0.0152, 0.0097, 0.0090, 0.0067];
k = length(h);
n = 3;
l = 1;
m2 = 5;
m1 = 1;

H = zeros([k+n+l-2, n+l-1]);
H(1:end-2,1) = h;
H(2:end-1,2) = h;
H(3:end,3) = h;

Ydes = zeros([k+n+l-2, 1]);
Ydes(m1+m2+1,1) = 1;

HT = transpose(H);

Wls = inv(HT*H)*HT*Ydes;

% Wls =
%
% -0.8177
% 3.7239
% -1.7181

Wlsnorm = Wls/sum(norm(Wls,1));

% Wlsnorm =
%
% -0.1306
% 0.5949
% -0.2745

image-20251102154213244

image-20251102154455603

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
fcsvf = readtable("hsample_pre10post20.csv");
h= fcsvf.hsample_Design_Point_1_Y;
k = length(h);
n = 8;
l = 1;
m2 = 10; % channel pre-cursor sample#
m1 = 1;

H = zeros([k+n+l-2, n+l-1]);
for i =1:n
H(i:i+k-1,i) = h;
end

Ydes = zeros([k+n+l-2, 1]);
Ydes(m1+m2+1,1) = 1;

HT = transpose(H);
Wls = inv(HT*H)*HT*Ydes;


Wlsnorm = Wls/sum(norm(Wls,1));
% Wlsnorm =
%
% -0.0926
% 0.6383
% -0.2691

TX FIR Coefficient Selection with ZFS

Zero Forcing Solution (ZFS)

image-20260208123317710

image-20260208123432755

\(k=-\text{npre}\) \(k=0\); \(y_\text{target}=1\) \(k=\text{npost}\)
\(c_{-\text{npre}}\) \(x_0\) 0
\(c_{-\text{npre}+1}\) \(x_{-1}\) 0
... ... ... ...
\(c_0\) \(x_{-\text{npre}}\) \(x_0\) \(x_{\text{npost}}\)
... ... ... ...
\(c_{\text{npost}-1}\) \(0\) \(x_1\)
\(c_{\text{npost}}\) \(0\) \(x_0\)

image-20260208122312410

TX FIR Adaptation Algorithm

Sam Palermo. ECEN720: High-Speed Links Circuits and Systems Spring 2025 Lecture 8: RX FIR, CTLE, DFE, & Adaptive Eq. [https://people.engr.tamu.edu/spalermo/ecen689/lecture8_ee720_rx_adaptive_eq.pdf]

TODO 📅

sign-sign LMS algorithm

RX FFE

TODO 📅

MMSE-based algorithms

minimum mean squared error (MMSE)

There are three major MMSE-based algorithms:

  • least mean square (LMS),
  • normalized least mean square (NLMS)
  • recursive least square (RLS)

LMS (Least-Mean-Square)

This simplified version of LMS algorithm is identical to the zero-forcing algorithm which minimizes the ISI at data samples

Sign-Sign LMS (SS-LMS)

B. Kim, "Tutorial: Basics of Equalization Techniques: Channels, Equalization, and Circuits," 2022 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2022

V. Stojanovic et al., "Autonomous dual-mode (PAM2/4) serial link transceiver with adaptive equalization and data recovery," in IEEE Journal of Solid-State Circuits, vol. 40, no. 4, pp. 1012-1026, April 2005, [https://sci-hub.ru/10.1109/JSSC.2004.842863]

Jinhyung Lee, Design of High-Speed Receiver for Video Interface with Adaptive Equalization; Phd thesis, August 2019. [thesis link]

Paulo S. R. Diniz, Adaptive Filtering: Algorithms and Practical Implementation, 5th edition

E. -H. Chen et al., "Near-Optimal Equalizer and Timing Adaptation for I/O Links Using a BER-Based Metric," in IEEE Journal of Solid-State Circuits, vol. 43, no. 9, pp. 2144-2156, Sept. 2008 [https://sci-hub.ru/10.1109/JSSC.2008.2001871]

DFE h0 Estimator

summer output \[ r_k = a_kh_0+\left(\sum_{n=-\infty,n\neq0}^{+\infty}a_{k-n}h_n-\sum_{n=1}^{\text{ntap}}\hat{a}_{k-n}\hat{h}_n\right) \] error slicer analog output \[ e_k=r_k-\hat{a}_k \hat{h}_0 \] error slicer digital output \[ \hat{e}_k=|e_k| \] It's NOT possible to implement \(e_k\), which need to determine \(\hat{a}_k=|r_k|\) in no time. One method to approach this problem is calculate \(e_k^{a_k=1}=r_k-\hat{a}_k \hat{h}_0\) and \(e_k^{a_k=-1}=r_k+\hat{a}_k \hat{h}_0\), then select the right one based on \(\hat{a}_k\)

The update equation based on Sign-Sign-Least Mean square (SS-LMS) and loss function \(L(\hat{h}_{\text{0~ntap}})=E(e_k^2)\) \[ \hat{h}_n(k+1) = \hat{h}_n(k)+\mu \cdot |e_k|\cdot \hat{a}_{k-n} \] Where \(n \in [0,...,\text{ntap}]\). This way, we can obtain \(\hat{h}_0\), \(\hat{h}_1\), \(\hat{h}_2\), ...

\(\hat{h}_0\) is used in AFE adaptation

We may encounter difficulty if the first tap of DFE is unrolled, its \(e_k\) is modified as follow \[ r_k = a_kh_0+\left(\sum_{n=-\infty,n\neq0}^{+\infty}a_{k-n}h_n-\sum_{n=2}^{\text{ntap}}\hat{a}_{k-n}\hat{h}_n\right) \] Where there is NO \(\hat{h}_1\)

To find \(\hat{h}_1\), we shall use different pattern for even and odd error slicer

MLSD (Maximum Likelihood Sequence Detection)

The process is also referred to as Maximum Likelihood Sequence Estimator (MLSE)

image-20240807233152154

image-20240812205534753

image-20240812205613467

[IBIS-AMI Modeling and Correlation Methodology for ADC-Based SerDes Beyond 100 Gb/s https://static1.squarespace.com/static/5fb343ad64be791dab79a44f/t/63d807441bcd266de258b975/1675102025481/SLIDES_Track02_IBIS_AMI_Modeling_and_Correlation_Tyshchenko.pdf]

M. Emami Meybodi, H. Gomez, Y. -C. Lu, H. Shakiba and A. Sheikholeslami, "Design and Implementation of an On-Demand Maximum-Likelihood Sequence Estimation (MLSE)," in IEEE Open Journal of Circuits and Systems, vol. 3, pp. 97-108, 2022, doi: 10.1109/OJCAS.2022.3173686.

Zaman, Arshad Kamruz (2019). A Maximum Likelihood Sequence Equalizing Architecture Using Viterbi Algorithm for ADC-Based Serial Link. Undergraduate Research Scholars Program. Available electronically from [https://hdl.handle.net/1969.1/166485]

There are several variants of MLSD (Maximum Likelihood Sequence Detection), including:

  • Viterbi Algorithm
  • Decision Feedback Sequence Estimation (DFSE)
  • Soft-Output MLSD

[Evolution Of Equalization Techniques In High-Speed SerDes For Extended Reaches. https://semiengineering.com/evolution-of-equalization-techniques-in-high-speed-serdes-for-extended-reaches/]

S. Song, K. D. Choo, T. Chen, S. Jang, M. P. Flynn and Z. Zhang, "A Maximum-Likelihood Sequence Detection Powered ADC-Based Serial Link," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 65, no. 7, pp. 2269-2278, July 2018

[http://contents.kocw.or.kr/document/lec/2012/Korea/KoYoungChai/33.pdf]

David Johns. Partial Response and Viterbi Detecti [https://www.eecg.utoronto.ca/~johns/ece1392/slides/partial_response.pdf]

image-20240824193839108


Leslie Rusch. [https://wcours.gel.ulaval.ca/GEL7114/assets/pdfs/Module4_en_1by1_1.pdf]


Vineel Kumar Veludandi. Maximum likelihood sequence estimation (MLSE) using the Viterbi algorithm [https://github.com/vineel49/mlse]

Bang-Bang CDR

alexander PD or !!PD

The alexander PD locks that edge clock (clkedge) is located at zero crossings of the data. The \(h_{-0.5}\) and \(h_{0.5}\) are equal at the lock point, where the \(h_{-0.5}\) and \(h_{0.5}\) are the cursors located at -0.5 UI and 0.5 UI.

Kwangho Lee, "Design of Receiver with Offset Cancellation of Adaptive Equalizer and Multi-Level Baud-Rate Phase Detector" [https://s-space.snu.ac.kr/bitstream/10371/177584/1/000000167211.pdf]

Shahramian, Shayan, "Adaptive Decision Feedback Equalization With Continuous-time Infinite Impulse Response Filters" [https://tspace.library.utoronto.ca/bitstream/1807/77861/3/Shahramian_Shayan_201606_PhD_thesis.pdf]

MENIN, DAVIDE, "Modelling and Design of High-Speed Wireline Transceivers with Fully-Adaptive Equalization" [https://air.uniud.it/retrieve/e27ce0ca-15f7-055e-e053-6605fe0a7873/Modelling%20and%20Design%20of%20High-Speed%20Wireline%20Transceivers%20with%20Fully-Adaptive%20Equalization.pdf]

Mueller-Muller CDR

Faisal A. Musa. "HIGH-SPEED BAUD-RATE CLOCK RECOVERY" [https://www.eecg.utoronto.ca/~tcc/thesis-musa-final.pdf]

Faisal A. Musa."CLOCK RECOVERY IN HIGH-SPEED MULTILEVEL SERIAL LINKS" [https://www.eecg.utoronto.ca/~tcc/faisal_iscas03.pdf]

Eduardo Fuentetaja. "Analysis of the M&M Clock Recovery Algorithm" [https://edfuentetaja.github.io/sdr/m_m_analysis/]

Liu, Tao & Li, Tiejun & Lv, Fangxu & Liang, Bin & Zheng, Xuqiang & Wang, Heming & Wu, Miaomiao & Lu, Dechao & Zhao, Feng. (2021). Analysis and Modeling of Mueller-Muller Clock and Data Recovery Circuits. Electronics. 10. 1888. 10.3390/electronics10161888.

Gu, Youzhi & Feng, Xinjie & Chi, Runze & Chen, Yongzhen & Wu, Jiangfeng. (2022). Analysis of Mueller-Muller Clock and Data Recovery Circuits with a Linearized Model. 10.21203/rs.3.rs-1817774/v1.

Baud-Rate CDRs [https://ocw.snu.ac.kr/sites/default/files/NOTE/Lec%206%20-%20Clock%20and%20Data%20Recovery.pdf]

F. Spagna et al., "A 78mW 11.8Gb/s serial link transceiver with adaptive RX equalization and baud-rate CDR in 32nm CMOS," 2010 IEEE International Solid-State Circuits Conference - (ISSCC), San Francisco, CA, USA, 2010, pp. 366-367, [https://sci-hub.ru/10.1109/ISSCC.2010.5433823]

K. Yadav, P. -H. Hsieh and A. C. Carusone, "Loop Dynamics Analysis of PAM-4 Mueller–Muller Clock and Data Recovery System," in IEEE Open Journal of Circuits and Systems, vol. 3, pp. 216-227, 2022 [https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9910561]

Jaeduk Han, "Design and Automatic Generation of 60Gb/s Wireline Transceivers" [https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-143.pdf]

Sam Palermo, ECEN720: High-Speed Links Circuits and Systems Spring 2025. Lecture 12: CDRs [https://people.engr.tamu.edu/spalermo/ecen689/lecture12_ee720_cdrs.pdf]

image-20240812222307061

Suppose 1-precursor, 1-postcursor — \(y_k = d_{k-1}h_1 + d_k h_0 + d_{k+1}h_{-1}\) \[ \color{magenta}E[y_k\cdot d_{k-1}] - E[y_k\cdot d_{d+1}] = E[|d_{k-1}|^2h_{1}] - E[|d_{k+1}|^2h_{-1}] =h_1-h_{-1} \] MMPD infers the channel response from baud-rate samples of the received data, the adaptation aligns the sampling clock such that pre-cursor is equal to the post-cursor in the pulse response

image-20260112220639499

image-20260112225032307

Suppose \(x_k = d_{k-1}h_1 + d_k h_0 + d_{k+1}h_{-1}\) and \(x_{k-1} = d_{k-2}h_1 + d_{k-1} h_0 + d_{k}h_{-1}\) \[ \color{magenta}E\{z_k\} = \frac{1}{2} E\{|d_{k-1}|^2h_1\} - \frac{1}{2} E\{|d_{k}|^2h_{-1}\} = \frac{1}{2}(h_1 - h_{-1}) \] image-20240808001449664

image-20260112221328785

image-20240808001501485

Mueller-Muller PD

Mueller-Muller type A timing function

image-20241019163636292

Mueller-Muller type B timing function

image-20241019163813449

SS-MM CDR

image-20240807232814202

\(h_1\) is necessary

  • without DFE

    SS-MMPD locks at the point (\(h_1=h_{-1}\)​)

  • With a 1-tap DFE

    1-tap adaptive DFE that forces the \(h_1\) to be zero, the SS-MMPD locks wherever the \(h_{-1}\)​ is zero and drifts eventually.

    Consequently, it suffers from a severe multiple-locking problem with an adaptive DFE

image-20240812232618238

Kwangho Lee, "Design of Receiver with Offset Cancellation of Adaptive Equalizer and Multi-Level Baud-Rate Phase Detector" [https://s-space.snu.ac.kr/bitstream/10371/177584/1/000000167211.pdf]

Pattern filter

pattern main cursor
011 \(s_{011}=-h_1+h_0+h_{-1}\)
110 \(s_{110}=h_1+h_0-h_{-1}\)
100 \(s_{100}=h_1-h_0-h_{-1}\)
001 \(s_{001}=-h_1-h_0+h_{-1}\)

During adapting, we make

  • \(s_{011}\) & \(s_{110}\) are approaching to each other
  • \(s_{100}\) & \(s_{001}\) are approaching to each other

Then, \(h_{-1}\) and \(h_1\) are same, which is desired

reference

Barry, John R., Edward A. Lee, and David G. Messerschmitt. Digital communication. Springer, 2003.

Hall, Stephen H., and Howard L. Heck. Advanced Signal Integrity for High-speed Digital Designs. Wiley : IEEE, 2009 [pdf]

Oh, Kyung, and Xing Yuan. High-Speed Signaling: Jitter Modeling, Analysis, and Budgeting. 1st edition. Prentice Hall, 2011. [pdf]

John M. Cioffi, Chapter 3 - Equalization [https://cioffi-group.stanford.edu/doc/book/chap3.pdf]


Stojanovic, Vladimir & Ho, A. & Garlepp, B. & Chen, Fred & Wei, J. & Alon, Elad & Werner, C. & Zerbe, J. & Horowitz, M.A.. (2004). Adaptive equalization and data recovery in a dual-mode (PAM2/4) serial link transceiver. IEEE Symposium on VLSI Circuits, Digest of Technical Papers. 348 - 351. [https://sci-hub.ru/10.1109/VLSIC.2004.1346611]

A. A. Bazargani, H. Shakiba and D. A. Johns, "MMSE Equalizer Design Optimization for Wireline SerDes Applications," in IEEE Transactions on Circuits and Systems I: Regular Papers [https://www.eecg.utoronto.ca/~johns/nobots/papers/pdf/2024_bazaragani.pdf]

Masum Hossain, ISSCC2023 T11: "Digital Equalization and Timing Recovery Techniques for ADC-DSP-based Highspeed Links" [https://www.nishanchettri.com/isscc-slides/2023%20ISSCC/TUTORIALS/T11.pdf]

—, "LOW POWER DIGITAL EQUALIZATION FOR HIGH SPEED SERDES" [https://www.ieeetoronto.ca/wp-content/uploads/2020/06/SSCS_invited_talk.pdf]

A. Sharif-Bakhtiar, A. Chan Carusone, "A Methodology for Accurate DFE Characterization," IEEE RFIC Symposium, Philadelphia, Pennsylvania, June 2018. [PDF] [Slides – PDF]

Tony Chan Carusone. High Speed Communications Part 11 – SerDes DSP Interactions [https://youtu.be/YIAwLskuVPc?si=MYIbXLwFqQj0EElU]

—, 2022 Optimization Tools for Future Wireline Transceivers [https://www.ieeetoronto.ca/wp-content/uploads/2022/12/UofT-Future-of-Wireline-Workshop-2022.pdf]

Alphawave IP CEO. How DSP is Killing the Analog in SerDes [https://youtu.be/OY2Dn4EDPiA]


S. Kiran, S. Cai, Y. Zhu, S. Hoyos and S. Palermo, "Digital Equalization With ADC-Based Receivers: Two Important Roles Played by Digital Signal Processingin Designing Analog-to-Digital-Converter-Based Wireline Communication Receivers," in IEEE Microwave Magazine, vol. 20, no. 5, pp. 62-79, May 2019 [https://sci-hub.se/10.1109/MMM.2019.2898025]

K. K. Parhi, "Design of multigigabit multiplexer-loop-based decision feedback equalizers," in IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 13, no. 4, pp. 489-493, April 2005 [http://sci-hub.se/10.1109/TVLSI.2004.842935]

T. Toifl et al., "A 3.5pJ/bit 8-tap-feed-forward 8-tap-decision feedback digital equalizer for 16Gb/s I/Os," ESSCIRC 2014 - 40th European Solid State Circuits Conference (ESSCIRC), Venice Lido, Italy, 2014 [https://sci-hub.se/10.1109/ESSCIRC.2014.6942120]


Daniel Friedman, 2018 Considerations and Implementations for High data Rate Serial Link Design [https://www.ieeetoronto.ca/wp-content/uploads/2020/06/DL-Toronto-Nov-2018.pdf]


Cathy Ye Liu, Broadcom Inc. DesignCon 2019: 100+ Gb/s Ethernet Forward Error Correction (FEC) Analysis

—, Broadcom Inc. DesignCon 2024: 200+ Gbps Ethernet Forward Error Correction (FEC) Analysis


Tony Chan Carusone Integrated Systems Laboratory, University of Toronto [https://isl.utoronto.ca/publications/]

Tony Chan Carusone 2022. Optimization Tools for Future Wireline Transceivers [https://www.ieeetoronto.ca/wp-content/uploads/2022/12/UofT-Future-of-Wireline-Workshop-2022.pdf]

Aleksey Tyshchenko, SeriaLink Systems Clinton Walker, Alphawave IP. DesignCon 2022. IBIS-AMI Modeling and Correlation Methodology for ADC-Based SerDes Beyond 100 Gb/s [https://static1.squarespace.com/static/5fb343ad64be791dab79a44f/t/63d807441bcd266de258b975/1675102025481/SLIDES_Track02_IBIS_AMI_Modeling_and_Correlation_Tyshchenko.pdf]

[https://ibis.org/summits/apr22/tyshchenko.pdf]

[https://www.mathworks.com/content/dam/mathworks/conference-or-academic-paper/ibis-ami-modeling-and-correlation.pdf]


Ali Sheikholeslami Electronics Group, University of Toronto [https://www.eecg.utoronto.ca/~ali/]


Keshab K. Parhi [http://www.ece.umn.edu/users/parhi/]

Tinoosh Mohsenin. CMPE 691: Digital Signal Processing Hardware Implementation [https://userpages.cs.umbc.edu/tinoosh/cmpe691/]


Qasim Chaudhari. Maximum Likelihood Estimation of Clock Offset [https://wirelesspi.com/maximum-likelihood-estimation-of-clock-offset/]

—. Channel Estimation in Wireless Communication. [https://wirelesspi.com/channel-estimation-in-wireless-communication/]

—. Phase Locked Loop (PLL) in a Software Defined Radio (SDR) [https://wirelesspi.com/phase-locked-loop-pll-in-a-software-defined-radio-sdr/]

—. Phase Locked Loop (PLL) for Symbol Timing Recovery [https://wirelesspi.com/phase-locked-loop-pll-for-symbol-timing-recovery/]

—. How Decision Feedback Equalizers (DFE) Work [https://wirelesspi.com/how-decision-feedback-equalizers-dfe-work/]

—. Maximum Likelihood Sequence Estimation (MLSE Equalizer) [https://wirelesspi.com/maximum-likelihood-sequence-estimation-mlse-equalizer/]

—. Least Mean Square (LMS) Equalizer – A Tutorial [https://wirelesspi.com/least-mean-square-lms-equalizer-a-tutorial/]

—. Early-Late Bit Synchronizer in Digital Communication [https://wirelesspi.com/early-late-bit-synchronizer-in-digital-communication/]

—. Gardner Timing Error Detector: A Non-Data-Aided Version of Zero-Crossing Timing Error Detectors [https://wirelesspi.com/gardner-timing-error-detector-a-non-data-aided-version-of-zero-crossing-timing-error-detectors/]

—. Mueller and Muller Timing Synchronization Algorithm [https://wirelesspi.com/mueller-and-muller-timing-synchronization-algorithm/]

—. Digital Filter and Square Timing Recovery [https://wirelesspi.com/digital-filter-and-square-timing-recovery/]

—. What is a Symbol Timing Offset and How It Distorts the Rx Signal [https://wirelesspi.com/what-is-a-symbol-timing-offset-and-how-it-distorts-the-rx-signal/]

—. How Automatic Gain Control (AGC) Works [https://wirelesspi.com/how-automatic-gain-control-agc-works/]


Hongtao Zhang, DesignCon 2016. PAM4 Signaling for 56G Serial Link Applications − A Tutorial [https://www.xilinx.com/publications/events/designcon/2016/slides-pam4signalingfor56gserial-zhang-designcon.pdf]

Noise Analysis

image-20250526201936387


image-20250526195323660


sampling (amplification) phase

image-20250526195656447

Noise Simulation

PSS + Pnoise Method

Comparator Output SNR during sampling region and decision region go up

Comparator Output SNR during regeneration region is constant, where noise is critical

image-20250526221529514

image-20241109163928889

Transient Noise Method

Noise Fmax sets the bandwidth of the random noise sources that are injected at each time point in the transient analysis


image-20241109154249513

We can identify the RMS noise value easily by looking at 15.9% or 84.1% of CDF (\(1\sigma\)), the input-referred noise in the RMS is 0.9mV

image-20241109160311684

Thus, if \(V_S\) is chosen so as to reduce the probability of zeros to 16%, then \(V_S = 1\sigma\), which is also the total root-mean square (rms) noise referred to the input.

Comparison of two methods

image-20250526225952590

here, fundamental frequency = fclk; integrated noise (0 ~ 0.5fclk)

image-20250526230126010

E. Gillen, G. Panchanan, B. Lawton and D. O'Hare, "Comparison of transient and PNOISE simulation techniques for the design of a dynamic comparator," 2022 33rd Irish Signals and Systems Conference (ISSC), Cork, Ireland, 2022, pp. 1-5

Chenguang Yang, "Comparator Design for High Speed ADC" [https://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=9164380&fileOId=9164388]

J. Conrad, J. Kauffman, S. Wilhelmstatter, R. Asthana, V. Belagiannis and M. Ortmanns, "Confidence Estimation and Boosting for Dynamic-Comparator Transient-Noise Analysis," 2024 22nd IEEE Interregional NEWCAS Conference (NEWCAS), Sherbrooke, QC, Canada, 2024, pp. 1-5

There are some ambiguity in formula in ADC Verification Rapid Adoption Kit (RAK)(Product Version: IC 6.1.8, SPECTRE 18.1 March, 2019)

  • Transient Noise Analysis: \(\sqrt{2}\sigma\), why ratio \(\sqrt{2}\) ???
  • PSS+Pnoise: why two fundamental tones fclk/2 ???

Common-Mode (Vcmi) Variation Effects

image-20240925225059596

image-20240925225823184


image-20250527202331008


image-20250609224554118

Zhaokai Liu. Time-interleaved SAR ADC Design Using Berkeley Analog Generator [https://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-109.pdf]

offset simulation

T. Caldwell. ECE 1371S Advanced Analog Circuits [http://individual.utoronto.ca/trevorcaldwell/course/comparators.pdf]

Eric Chang. EECS240-s18 Discussion 9


image-20241109092310123

Graupner, Achim & Sobe, Udo. (2007). Offset-Simulation of Comparators. [https://designers-guide.org/analysis/comparator.pdf]

1
2
3
4
Comment on "Offset-Simulation of Comparators"

If the input referred offset follows a normal distribution than it is sufficient to apply a single offset voltage to calculate the offset voltage.
See details in Razavi, B., The StrongARM Latch [A Circuit for All Seasons], IEEE Solid-State Circuits Magazine, Volume:7, Issue: 2, Spring 2015

Omran, Hesham. (2019). Fast and accurate technique for comparator offset voltage simulation. Microelectronics Journal. 89. 10.1016/j.mejo.2019.05.004.

Matthews, Thomas W. and Perry L. Heedley. “A simulation method for accurately determining DC and dynamic offsets in comparators.” 48th Midwest Symposium on Circuits and Systems, 2005. (2005): 1815-1818 Vol. 2. [https://athena.ecs.csus.edu/~pheedley/MSDL/MSDL_DOTB_cmp_test_bench_MWSCAS05.pdf]

Hysteresis

P. Bruschi: Notes on Mixed Signal Design http://www2.ing.unipi.it/~a008309/mat_stud/MIXED/archive/2019/Optional_notes/Chap_3_4_Comparators.pdf

TODO 📅

Kickback Noise

Kickback noise trades with the dimensions of the input transistors and hence with the offset voltage

  • affects the comparator's own decision
  • corrupts the input voltage while it is sensed by other circuits

image-20241110004944542

Tetsuya Iizuka,VLSI2021_Workshop3 "Nyquist A/D Converter Design in Four Days"

Figueiredo, Pedro & Vital, João. (2006). Kickback noise reduction techniques for CMOS latched comparators. Circuits and Systems II: Express Briefs, IEEE Transactions on. 53. 541 - 545. 10.1109/TCSII.2006.875308. [https://sci-hub.se/10.1109/TCSII.2006.875308]

P. M. Figueiredo and J. C. Vital, "Low kickback noise techniques for CMOS latched comparators," 2004 IEEE International Symposium on Circuits and Systems (ISCAS), Vancouver, BC, Canada, 2004, pp. I-537 [https://sci-hub.se/10.1109/ISCAS.2004.1328250]

Lei, Ka Meng & Mak, Pui-In & Martins, R.P.. (2013). Systematic analysis and cancellation of kickback noise in a dynamic latched comparator. Analog Integrated Circuits and Signal Processing. 77. 277-284. 10.1007/s10470-013-0156-1. [https://rto.um.edu.mo/wp-content/uploads/docs/ruimartins_cv/publications/journalpapers/57.pdf]

O. M. Ívarsson, "Comparator Kickback Reduction Techniques for High-Speed ADCs," Dissertation, 2024. [https://liu.diva-portal.org/smash/get/diva2:1872476/FULLTEXT01.pdf]


Current mirrors are used between stages to reduce charge kick back from the logic level swing of the latch onto the small comparator input capacitors

Mike Shuo-Wei Chen and R. W. Brodersen, "A 6-bit 600-MS/s 5.3-mW Asynchronous ADC in 0.13-μm CMOS," in IEEE Journal of Solid-State Circuits, vol. 41, no. 12, pp. 2669-2680, Dec. 2006 [pdf, slides]

K. Bult and A. Buchwald, "An embedded 240-mW 10-b 50-MS/s CMOS ADC in 1-mm/sup 2/," in IEEE Journal of Solid-State Circuits, vol. 32, no. 12, pp. 1887-1895, Dec. 1997 [https://sci-hub.st/10.1109/4.643647]

CMOS Latch

TODO 📅

image-20241215162321832 \[ V_{o,fb}^+ - V_{o,fb}^- = \frac{g_m}{sC_L}(V_o^+ - V_o^-) = A(s)\cdot(V_o^+ - V_o^-) \]

We have \[ A(s)\cdot (V_{i} + V_o) = V_o \]

that is \[ V_o = \frac{A(s)}{1-A(s)}V_{i} = \frac{1}{s - g_m/C_L}\cdot \frac{g_mV_i}{C_L} \]

therefore \[ V_o(t) = \frac{g_mV_i}{C_L}\cdot\exp\left({\frac{g_m}{C_L}t}\right) = V_o(t=0)\cdot\exp\left({\frac{g_m}{C_L}t}\right) \] image-20241215173645188

Asad Abidi, ISSCC 2023: Circuit Insights "The CMOS Latch" [https://youtu.be/sVe3VUTNb4Q?si=Pl75jWiA0kNPOlOs]

Metastability

TODO 📅

If the comparator can not generate a well-defined logical output in half of the clock period, we say the circuit is "metastable"

image-20241215162430509

Math Background

Relating \(\Phi\) and erf

Error Function (Erf) of the standard Normal distribution \[ \text{Erf}(x) = \frac{2}{\sqrt{\pi}}\int_0^x e^{-t^2} \mathrm{d}t. \] Cumulative Distribution Function (CDF) of the standard Normal distribution \[ \Phi(x) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^x e^{-z^2/2} \mathrm{d}z. \]

Figure

\[\begin{align} \Phi(x) &= \frac{\text{Erf}(x/\sqrt{2})+1}{2}. \\ \Phi(x\sqrt{2}) &= \frac{\text{Erf}(x) + 1}{2} \end{align}\]

Considering the mean and standard deviation \[ \Phi(x,\mu,\sigma)=\frac{1}{2}\left( 1+\text{Erf} \left( \frac{x-\mu}{\sigma\sqrt{2}} \right)\right) \]


image-20241109135425126

John D. Cook. Relating Φ and erf [https://www.johndcook.com/erf_and_normal_cdf.pdf]

reference

Xu, H. (2018). Mixed-Signal Circuit Design Driven by Analysis: ADCs, Comparators, and PLLs. UCLA. ProQuest ID: Xu_ucla_0031D_17380. Merritt ID: ark:/13030/m5f52m8x. Retrieved from [https://escholarship.org/uc/item/88h8b5t3]

A. Abidi and H. Xu, "Understanding the Regenerative Comparator Circuit," Proceedings of the IEEE 2014 Custom Integrated Circuits Conference, San Jose, CA, 2014, pp. 1-8. [https://picture.iczhiku.com/resource/ieee/WHiYwoUjPHwZPXmv.pdf]

T. Sepke, P. Holloway, C. G. Sodini and H. -S. Lee, "Noise Analysis for Comparator-Based Circuits," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 56, no. 3, pp. 541-553, March 2009 [https://dspace.mit.edu/bitstream/handle/1721.1/61660/Speke-2009-Noise%20Analysis%20for%20Comparator-Based%20Circuits.pdf]

Sepke, Todd. "Comparator design and analysis for comparator-based switched-capacitor circuits." (2006). [https://dspace.mit.edu/handle/1721.1/38925]

P. Nuzzo, F. De Bernardinis, P. Terreni and G. Van der Plas, "Noise Analysis of Regenerative Comparators for Reconfigurable ADC Architectures," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 55, no. 6, pp. 1441-1454, July 2008 [https://picture.iczhiku.com/resource/eetop/SYirpPPPaAQzsNXn.pdf]


J. Kim, B. S. Leibowitz, J. Ren and C. J. Madden, "Simulation and Analysis of Random Decision Errors in Clocked Comparators," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 56, no. 8, pp. 1844-1857, Aug. 2009, doi: 10.1109/TCSI.2009.2028449. URL:https://people.engr.tamu.edu/spalermo/ecen689/simulation_analysis_clocked_comparators_kim_tcas1_2009.pdf

J. Kim, B. S. Leibowitz and M. Jeeradit, "Impulse sensitivity function analysis of periodic circuits," 2008 IEEE/ACM International Conference on Computer-Aided Design, 2008, pp. 386-391, doi: 10.1109/ICCAD.2008.4681602. [https://websrv.cecs.uci.edu/~papers/iccad08/PDFs/Papers/05C.2.pdf]

Jaeha Kim, Lecture 12. Aperture and Noise Analysis of Clocked Comparators URL:https://ocw.snu.ac.kr/sites/default/files/NOTE/7038.pdf

Sam Palermo. ECEN720: High-Speed Links Circuits and Systems Spring 2023 Lecture 6: RX Circuits [https://people.engr.tamu.edu/spalermo/ecen689/lecture6_ee720_rx_circuits.pdf]


Y. Luo, A. Jain, J. Wagner and M. Ortmanns, "Input Referred Comparator Noise in SAR ADCs," in IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 66, no. 5, pp. 718-722, May 2019. [https://sci-hub.se/10.1109/TCSII.2019.2909429]

X. Tang et al., "An Energy-Efficient Comparator With Dynamic Floating Inverter Amplifier," in IEEE Journal of Solid-State Circuits, vol. 55, no. 4, pp. 1011-1022, April 2020 [https://sci-hub.se/10.1109/JSSC.2019.2960485]

Chen, Long & Sanyal, Arindam & Ma, Ji & Xiyuan, Tang & Sun, Nan. (2016). Comparator Common-Mode Variation Effects Analysis and its Application in SAR ADCs. 10.1109/ISCAS.2016.7538972. [https://labs.engineering.asu.edu/mixedsignals/wp-content/uploads/sites/58/2017/08/ISCAS_comp_long_2016.pdf]

V. Stojanovic, and V. G. Oklobdzija, "Comparative Analysis of Master–Slave Latches and Flip-Flops for High-Performance and Low-Power Systems," IEEE J. Solid-State Circuits, vol. 34, pp. 536–548, April 1999. [https://www.ece.ucdavis.edu/~vojin/CLASSES/EEC280/Web-page/papers/Clocking/Vlada-Latches-JoSSC-Apr-1999.pdf]

C. Mangelsdorf, "Metastability: Deeply misunderstood [Shop Talk: What You Didn’t Learn in School]," in IEEE Solid-State Circuits Magazine, vol. 16, no. 2, pp. 8-15, Spring 2024

Rabuske, Taimur & Fernandes, Jorge. (2014). Noise-aware simulation-based sizing and optimization of clocked comparators. Analog Integr. Circuits Signal Process.. 81. 723-728. 10.1007/s10470-014-0428-4. [https://sci-hub.se/10.1007/s10470-014-0428-4]

Rabuske, Taimur & Fernandes, Jorge. (2016). Charge-Sharing SAR ADCs for Low-Voltage Low-Power Applications. 10.1007/978-3-319-39624-8.


Masaya Miyahara, Yusuke Asada, Daehwa Paik and Akira Matsuzawa, "A low-noise self-calibrating dynamic comparator for high-speed ADCs," 2008 IEEE Asian Solid-State Circuits Conference, Fukuoka, Japan, 2008 [slides, paper]

Art Schaldenbrand, Senior Product Manager, Keeping Things Quiet: A New Methodology for Dynamic Comparator Noise Analysis URL:https://www.cadence.com/content/dam/cadence-www/global/en_US/videos/tools/custom-_ic_analog_rf_design/NoiseAnalyisposting201612Chalk%20Talk.pdf


B. Razavi, "The Design of a Comparator [The Analog Mind]," IEEE Solid-State Circuits Magazine, Volume. 12, Issue. 4, pp. 8-14, Fall 2020. [https://www.seas.ucla.edu/brweb/papers/Journals/BR_SSCM_4_2020.pdf]

—, "The StrongARM Latch [A Circuit for All Seasons]," IEEE Solid-State Circuits Magazine, Issue. 2, pp. 12-17, Spring 2015. [https://www.seas.ucla.edu/brweb/papers/Journals/BR_Magzine4.pdf]

B. Murmann. ISSCC 2011 Tutorial: Noise Analysis in Switched Capacitor Circuits [slides, transcription]

—, "Thermal Noise in Track-and-Hold Circuits: Analysis and Simulation Techniques," IEEE Solid-State Circuits Magazine, vol. 4, no. 2, pp. 46-54, June 2012 [https://sci-hub.se/10.1109/MSSC.2012.2192190]

X. Huang. Thermal noise analysis of switched-capacitor amplifier [theory, simulation]

CHUNG-CHUN (CC) CHEN. Why A Dedicated Noise Analysis for A Strong-arm Latch / Comparator? [https://youtu.be/S5GnvFxuxUA]

—. Why Transient Noise (Trannoise) Analysis for A Strong-arm Latch / Comparator? [https://youtu.be/gpQggSM9_PE]

—. Why A Periodic Steady-State (PSS), Periodic Noise (Pnoise), and Hand Calculation for A Sampler? [https://youtu.be/lGqCfg5R-rY]

Tony Chan Carusone,. 28 Comparator Specs and Characterization [https://youtu.be/mRfWM1bpr3k]

Prof. Seung-Tak Ryu (KAIST) "Advanced ADC Design Techniques" Online Course (2022) : Dynamic Latch [https://youtu.be/zE1ZdG_XzWk]

IC宇宙成长记. 动态比较器噪声仿真 [link]

discrete-time frequency: \(\hat{\omega}=\omega T_s\), units are radians per sample


Below diagram show the windowing effect and sampling

NinDFT.drawio

For general window function, we know \(W(e^{j\hat{\omega}})=\frac{1}{T_s}W_c(j\frac{\hat\omega}{T_s})\),

\[ \frac{W_c(j\frac{\hat{\omega}}{T_s})X_c(j\frac{\hat{\omega}}{T_s})}{T_s}\cdot \frac{1}{2\pi} = \frac{T_sW(e^{j\hat{\omega}})X_c(j\frac{\hat\omega}{T_s})}{T_s}\cdot \frac{1}{2\pi}=W(e^{j\hat{\omega}})X_c(j\frac{\hat\omega}{T_s})\cdot \frac{1}{2\pi} \overset{\hat{\omega}=0}{\Longrightarrow} \sum_{n=-N_w}^{+N_w}w[n] \cdot X_c(j\omega)\cdot \frac{1}{2\pi} \]

e.g. \(\frac{W_c(j\omega|\omega=0)}{T_s} = N\) for Rectangular Window, shown in above figure

warmup

Continuous-time signals \(x_c(t)\) Discrete-time signals \(x[n]\)
Aperiodic signals Continuous Fourier transform Discrete-time Fourier transform
Periodic signals Fourier series Discrete Fourier transform

Continuous Time Fourier Series (CTFS)

\[\begin{align} a_k &= \frac{1}{T}\int_T x(t)e^{-jk(2\pi/T)) t}dt \\ x(t) &= \sum_{k=-\infty}^{+\infty}a_ke^{jk(2\pi/T) t} \end{align}\]

Continuous-Time Fourier transform (CTFT)

\[\begin{align} X(j\omega) &=\int_{-\infty}^{+\infty}x(t)e^{-j\omega t}dt \\ x(t)&= \frac{1}{2\pi}\int_{-\infty}^{+\infty}X(j\omega)e^{j\omega t}d\omega \end{align}\]

[https://www.rose-hulman.edu/class/ee/yoder/ece380/Handouts/Fourier%20Transform%20Tables%20w.pdf]

image-20240831104459715

Discrete-Time Fourier Transform (DTFT)

\[\begin{align} X(e^{j\hat{\omega}}) &=\sum_{n=-\infty}^{+\infty}x[n]e^{-j\hat{\omega} n} \\ x[n] &= \frac{1}{2\pi}\int_{2\pi}X(e^{j\hat{\omega}})e^{j\hat{\omega} n}d\hat{\omega} \end{align}\]

DTFT is defined for infinitely long signals as well as finite-length signal

DTFT is continuous in the frequency domain

We could verify that is the correct inverse DTFT relation by substituting the definition of the DTFT and rearranging terms


image-20240831152155093

Discrete-Time Fourier Series (DTFS)

TODO 📅

Discrete Fourier Series (DFS)

TODO 📅

Discrete Fourier Transform (DFT)

Two steps are needed to change the DTFT sum into a computable form:

  1. the continuous frequency variable \(\hat{\omega}\) must be sampled
  2. the limits on the DTFT sum must be finite

\[\begin{align} X[k] &= \sum_{n=0}^{N-1}x[n]e^{-j(2\pi/N)kn}\space\space\space k=0,1,...,N-1 \\ x[n] &= \frac{1}{N}\sum_{k=0}^{N-1}X[k]e^{j(2\pi/N)kn} \space\space\space n=0,1,...,N-1 \end{align}\]

Part of the proof is given by the following step:

image-20240830222204470

DFT \(X[k]\) is a sampled version of the DTFT \(X(e^{j\hat{\omega}})\), where \(\hat{\omega_k} = \frac{2\pi k}{N}\)

impulse train

CTFT:

image-20240830224755336

image-20240911221811991

using time-sampling property

impulse_train.drawio


DTFT:

Given \(x[n]=\sum_{k=-\infty}^{\infty}\delta(n-k)\)

\[\begin{align} X(e^{j\hat{\omega}}) &= X_s(j\frac{\hat{\omega}}{T}) \\ &= \frac{2\pi}{T}\sum_{k=-\infty}^{\infty}\delta(\frac{\hat{\omega}}{T}-\frac{2\pi k}{T}) \\ &= \frac{2\pi}{T}\sum_{k=-\infty}^{\infty}T\delta(\hat{\omega}-2\pi k) \\ &= 2\pi\sum_{k=-\infty}^{\infty}\delta(\hat{\omega}-2\pi k) \end{align}\]

[http://courses.ece.ubc.ca/359/notes/notes_part1_set4.pdf]


Fourier series of impulse train

image-20241106232432131

Dirac delta (impulse) function

image-20241013174738030

image-20241013174801954

[https://bingweb.binghamton.edu/~suzuki/Math-Physics/LN-7_Dirac_delta_function.pdf]

Topic 3 The \(\delta\)-function & convolution. Impulse response & Transfer function [https://www.robots.ox.ac.uk/~dwm/Courses/2TF_2011/2TF-N3.pdf]

image-20241122231208806


impulse scaling

\[ \delta(\alpha t)= \frac{1}{\alpha}\delta( t) \]

where \(\alpha\) is scaling ratio

Multiplication

aka Modulation or Windowing Theorem

CTFT: \[ x_1(t)x_2(t)\overset{FT}{\longrightarrow}\frac{1}{2\pi}X_1(\omega)*X_2(\omega) \]


DTFT:

image-20240909215833750

Duality

image-20240921181908992

image-20240921182105935

Conjugate Symmetry

image-20240921181015717

image-20240921181258063

Parseval's Relation

CTFT:

image-20240830230835764


DTFT:

image-20230516022936168


DFT:

image-20241214002405992

image-20241214002606672

Eigenfunctions & frequency response

Complex exponentials are eigenfunctions of LTI systems, that is,

continuous time: \(e^{j\omega t}\to H(j\omega)e^{j\omega t}\)

discrete time: \(e^{j\hat{\omega}n} \to H(e^{j\hat{\omega}})e^{j\hat{\omega}n}\)

where \(H(j\omega)\), \(H(e^{j\hat{\omega}})\) is frequency response of continuous-time systems and discrete-time systems, which is the function of \(\omega\) and \(\hat{\omega}\) \[\begin{align} H(j\omega) &= \int_{-\infty}^{+\infty}h(t)e^{-j\omega t}dt \\ \\ H(e^{j\hat{\omega}}) &= \sum_{n=-\infty}^{+\infty}h[n]e^{-j\hat{\omega} n} \end{align}\]

The frequency response of discrete-time LTI systems is always a periodic function of the frequency variable \(\hat{\omega}\) with period \(2\pi\)

Sampling Theorem

time-sampling theorem: applies to bandlimited signals

spectral sampling theorem: applies to timelimited signals

Aliasing

The frequencies \(f_{\text{sig}}\) and \(Nf_s \pm f_{\text{sig}}\) (\(N\) integer), are indistinguishable in the discrete time domain.

image-20220626000016184

Given below sequence \[ X[n] =A e^{j\omega T_s n} \]

  1. \(kf_s + \Delta f\)

\[\begin{align} x[n] &= Ae^{j\left( kf_s+\Delta f \right)2\pi T_sn} + Ae^{j\left( -kf_s-\Delta f \right)2\pi T_sn} \\ &= Ae^{j\Delta f\cdot 2\pi T_sn} + Ae^{-j\Delta f\cdot 2\pi T_sn} \end{align}\]

  1. \(kf_s - \Delta f\)

\[\begin{align} x[n] &= Ae^{j\left( kf_s-\Delta f \right)2\pi T_sn} + Ae^{j\left( -kf_s+\Delta f \right)2\pi T_sn} \\ &= Ae^{-j\Delta f\cdot 2\pi T_sn} + Ae^{j\Delta f\cdot 2\pi T_sn} \end{align}\]

complex signal

\[\begin{align} A e^{j(\omega_s + \Delta \omega) T_s n} &= A e^{j(k\omega_s + \Delta \omega) T_s n} \\ A e^{j(\omega_s - \Delta \omega) T_s n} &= A e^{j(k\omega_s - \Delta \omega) T_s n} \end{align}\]

sampling_aliasing.drawio

CTFS & CTFT

Fourier transform of a periodic signal with Fourier series coefficients \(\{a_k\}\) can be interpreted as a train of impulses occurring at the harmonically related frequencies and for which the area of the impulse at the \(k\)th harmonic frequency \(k\omega_0\) is \(2\pi\) times the \(k\)th Fourier series coefficient \(a_k\)

image-20240830225453601

inverse CTFT & inverse DTFT

time domain frequency domain
inverse CTFT \(\delta(t)\) \(\int_{\infty}d\omega\)
inverse DTFT \(\delta[n]\) \(\int_{2\pi}d\hat{\omega}\)

inverse CTFT shall integral from \(-\infty\) to \(+\infty\) to obtain \(\delta(t)\) in time domain, e.g., \(x_s(t)\) impulse train

spectral sampling

image-20240831185532202

spectral sampling by \(\omega_0\), and \(\frac{2\pi}{\omega_0} \gt \tau\) \[ X_{n\omega_0}(\omega) = \sum_{n=-\infty}^{\infty}X(n\omega_0)\delta(\omega - n\omega_0) \] Periodic repetition of \(x(t)\) is \[ x_{n\omega_0}(t) = \frac{1}{\omega_0}\sum_{n=-\infty}^{\infty}x(t -n\frac{2\pi}{\omega_0})=\frac{T_0}{2\pi}\sum_{n=-\infty}^{\infty}x(t -nT_0) \]

Then, if \(x_{T_0} (t)\), a periodic signal formed by repeating \(x(t)\) every \(T_0\) seconds (\(T_0 \gt \tau\)​), its CTFT is \[ X_{T_0}(\omega) = \frac{2\pi}{T_0} \cdot X_{n\omega_0}(\omega) = \frac{2\pi}{T_0}\sum_{n=-\infty}^{\infty}X(n\omega_0)\delta(\omega - n\omega_0) \] Then \(x_{T_0} (t)\) can be expressed with inverse CTFT as \[\begin{align} x_{T_0} (t) &= \frac{1}{2\pi}\int_{-\infty}^{\infty}X_{T_0}(\omega)e^{j\omega t}d\omega \\ &= \frac{1}{T_0}\sum_{n=-\infty}^{\infty}X(n\omega_0)e^{jn\omega_0 t} =\sum_{n=-\infty}^{\infty}\frac{1}{T_0}X(n\omega_0)e^{jn\omega_0 t} \end{align}\]

i.e. the coefficients of the Fourier series for \(x_{T_0} (t)\) is \(D_n =\frac{1}{T_0}X(n\omega_0)\)

image-20240831190258683

alternative method by direct Fourier series

image-20240831193912709

Why DFT ?

We can use DFT to compute DTFT samples and CTFT samples

image-20240831201335531

\[ \overline{x}(t) = \sum_{n=0}^{N_0-1}x(nT)\delta(t-nT) \] applying the Fourier transform yieds \[ \overline{X}(\omega) = \sum_{n=0}^{N_0-1}x[n]e^{-jn\omega T} \] But \(\overline{X}(\omega)\), the Fourier transform of \(\overline{x}(t)\) is \(X(\omega)/T\), assuming negligible aliasing. Hence, \[ X(\omega) = T\overline{X}(\omega) = T\sum_{n=0}^{N_0-1}x[n]e^{-jn\omega T} \] and \[ X(k\omega_0) = T\sum_{n=0}^{N_0-1}x[n]e^{-jn k\omega_0 T} \] with \(\hat{\omega}_0 = \omega_0 T\) \[ X(k\omega_0) = T\sum_{n=0}^{N_0-1}x[n]e^{-jn k\hat{\omega}_0} \] i.e. the relationship between CTFT and DFT is \(X(k\omega_0) = T\cdot X[k]\), DFT is a tool for computing the samples of CTFT

C/D

Sampling with a periodic impulse train, followed by conversion to a discrete-time sequence

image-20240901155629500

image-20240830231619897

The periodic impulse train is \[ s(t) = \sum_{n=-\infty}^{\infty}\delta(t-nT) \] \(x_s(t)\) can be expressed as \[ x_s(t) = \sum_{n=-\infty}^{\infty}x_c(nT)\delta(t-nT) \] i.e., the size (area) of the impulse at sample time \(nT\) is equal to the value of the continuous-time signal at that time.

\(x_s(t)\)​ is, in a sense, a continuous-time signal (specifically, an impulse train)

samples of \(x_c(t)\) are represented by finite numbers in \(x[n]\) rather than as the areas of impulses, as with \(x_s(t)\)

Frequency-Domain Representation of Sampling

The relationship between the Fourier transforms of the input and the output of the impulse train modulator \[ X_s(j\omega) = \frac{1}{T}\sum_{k=-\infty}^{\infty}X_c(j(\omega -k\omega_s)) \] where \(\omega_s\) is the sampling frequency in radians/s


\(X(e^{j\hat{\omega}})\), the discrete-time Fourier transform (DTFT) of the sequence \(x[n]\), in terms of \(X_s(j\omega)\) and \(X_c(j\omega)\)

continuous-time Fourier transform discrete-time Fourier transform
\(x_s(t) = \sum_{n=-\infty}^{\infty}x_c(nT)\delta(t-nT)\) \(x[n]=x_c(nT)\)
\(X_s(j\omega)=\sum_{n=-\infty}^{\infty}x_c(nT)e^{-j\omega Tn}\) \(X(e^{j\hat{\omega}})=\sum_{n=-\infty}^{\infty}x_c(nT)e^{-j\hat{\omega} n}\)

\[ X(e^{j\omega T}) = \frac{1}{T}\sum_{k=-\infty}^{\infty}X_c(j(\omega-k\omega_s)) \] or equivalently, \[ X(e^{j\hat{\omega}}) = \frac{1}{T}\sum_{k=-\infty}^{\infty}X_c(j(\frac{\hat{\omega}}{T}-\frac{2\pi k}{T})) \]

\(X(e^{j\hat{\omega}})\) is a frequency-scaled version of \(X_s(j\omega)\) with the frequency scaling specified by \(\hat{\omega} =\omega T\)

Ref. 9.5 DTFT connection with the CTFT

image-20240831154638540

Here, \(\Omega = \omega T\)

The factor \(\frac{1}{T}\) in \(X(e^{j\hat{\omega}})\) is misleading, actually \(x[n]\) is not scaled by \(\frac{1}{T}\) once taking \(\hat{\omega}\) variable of integration into account \[\begin{align} x_r[n] &= \frac{1}{2\pi} \int_{2\pi}X(e^{j\hat{\omega}})e^{j\hat{\omega} n}d\hat{\omega} \\ &= \frac{1}{2\pi}\int_{2\pi}\frac{1}{T}\sum_{k=-\infty}^{+\infty}X_c \left[ j\left(\frac{\hat{\omega}}{T} - \frac{2\pi k}{T}\right)\right] e^{j\hat{\omega} n}d\hat{\omega} \\ &\approx \frac{1}{2\pi}\frac{1}{T}\int_{2\pi}X_c (\frac{\hat{\omega}}{T} ) e^{j\hat{\omega} n} d\hat{\omega} \\ &=\frac{1}{2\pi} \frac{1}{T}\int_{2\pi} \left[ \int_{\infty}X_c(\Phi)\delta (\Phi - \frac{\hat{\omega}}{T} )d\Phi \right] e^{j\hat{\omega} n} d\hat{\omega} \\ &=\frac{1}{2\pi} \frac{1}{T} \int_{\infty}X_c(\Phi)d\Phi \int_{2\pi}\delta (\Phi - \frac{\hat{\omega}}{T} )e^{j\hat{\omega} n} d\hat{\omega} \\ &=\frac{1}{2\pi} \frac{1}{T} \int_{\infty}X_c(\Phi)d\Phi \int_{2\pi}T\cdot \delta (\Phi T - \hat{\omega} )e^{j\hat{\omega} n} d\hat{\omega} \\ &=\frac{1}{2\pi} \int_{\infty}X_c(\Phi) e^{j\Phi T n}d\Phi \end{align}\]

That is \[\begin{align} x_r[n] &= \frac{1}{2\pi}\int_{2\pi} \frac{1}{T}X_c (\frac{\hat{\omega}}{T} ) e^{j\hat{\omega} n} d\hat{\omega} \\ &= \frac{1}{2\pi} \int_{\infty}X_c(\omega) e^{j\omega T n}d\omega \tag{31} \end{align}\]

assuming Nyquist–Shannon sampling theorem is met

\[\begin{align} x_r[n] &= \frac{1}{2\pi} \int_{\infty}X_c(\omega) e^{j\omega T n}d\omega \\ &= \frac{1}{2\pi} \int_{\infty}X_c(\omega) e^{j\omega t_n}d\omega \\ &= x_c(t_n) \end{align}\]

where \(t_n = T n\), then \(x_r[n] = x_c(nT)\)


Assuming \(x_c(t) = \cos(\omega_0 t)\), \(x_s(t)= \sum_{n=-\infty}^{\infty}x_c(nT)\delta(t-nT)\) and \(x[n]=x_c(nT)\), that is \[\begin{align} x_c(t) & = \cos(\omega_0 t) \\ x_s(t) &= \sum_{n=-\infty}^{\infty}\cos(\omega_0 nT)\delta(t-nT) \\ x[n] &= \cos(\omega_0 nT) \end{align}\]

  • \(X_c(j\omega)\), the Fourier Transform of \(x_c(t)\) \[ X_c(j\omega) = \pi[\delta(\omega - \omega_0) + \delta(\omega + \omega_0)] \]

  • \(X(e^{j\hat{\omega}})\), the the discrete-time Fourier transform (DTFT) of the sequence \(x[n]\) \[ X(e^{j\hat{\omega}}) =\sum_{k=-\infty}^{+\infty}\pi[\delta(\hat{\omega} - \hat{\omega}_0-2\pi k) + \delta(\hat{\omega} + \hat{\omega}_0-2\pi k)] \]

  • \(X_s(j\omega)\), the Fourier Transform of \(x_s(t)\) \[ X_s(j\omega)= \frac{1}{T}\sum_{k=-\infty}^{+\infty}\pi[\delta(\omega - \omega_0-k\omega_s) + \delta(\omega + \omega_0-k\omega_s)] \]

Express \(X(e^{j\hat{\omega}})\) in terms of \(X_s(j\omega)\) and \(X_c(j\omega)\) \[ X(e^{j\hat{\omega}}) = \frac{1}{T}\sum_{k=-\infty}^{+\infty}\pi[\delta(\frac{\hat{\omega}}{T} - \omega_0-k\omega_s) + \delta(\frac{\hat{\omega}}{T} + \omega_0-k\omega_s)] \] Inverse \(X(e^{j\hat{\omega}})\) \[\begin{align} x_r[n] &= \frac{1}{2\pi} \int_{2\pi}X(e^{j\hat{\omega}}) e^{j\hat{\omega} n} d\hat{\omega} \\ &= \frac{1}{2\pi}\int_{2\pi} \pi[\delta(\frac{\hat{\omega}}{T} - \omega_0) + \delta(\frac{\hat{\omega}}{T} + \omega_0)]e^{j\hat{\omega} n} d\frac{\hat{\omega}}{T} \\ &= \frac{1}{2\pi}\int_{2\pi} \pi[\delta(\frac{\hat{\omega}}{T} - \omega_0)e^{j\hat{\omega}_0 n} + \delta(\frac{\hat{\omega}}{T} + \omega_0)e^{-j\hat{\omega}_0 n}] d\frac{\hat{\omega}}{T} \\ &= \frac{1}{2}[ e^{j\hat{\omega}_0 n}\int_{2\pi} [\delta(\frac{\hat{\omega}}{T} - \omega_0)d\frac{\hat{\omega}}{T} + e^{-j\hat{\omega}_0 n}\int_{2\pi} [\delta(\frac{\hat{\omega}}{T} + \omega_0)d\frac{\hat{\omega}}{T}] \\ &= \frac{1}{2}[ e^{j\hat{\omega}_0 n} + e^{-j\hat{\omega}_0 n} ] \\ &= \cos(\hat{\omega}_0 n) \end{align}\]

or follow EQ.(31)

\[\begin{align} x_r[n] &= \frac{1}{2\pi} \int_{\infty}X_c(\omega) e^{j\omega T n}d\omega \\ &= \frac{1}{2\pi} \int_{\infty} \pi[\delta(\omega - \omega_0) + \delta(\omega + \omega_0)]e^{j\omega T n}d\omega \\ &= \frac{1}{2}(e^{j\omega_0 T n}+e^{-j\omega_0 T n}) \\ &= \cos(\hat{\omega}_0 n) \end{align}\]

where \(\hat{\omega}_0 = \omega_0 T\)

impulse train sampling & impulse sequence

image-20250910204320327

image-20250910204428950

if \(x_c(t) = e^{j\Omega_0t}\), thus \(X_c (j\Omega) = A\delta(\Omega - \Omega_0)\)

Then \[ X_s (j\Omega) = \frac{A}{T_s}\sum_k \delta(\Omega -\Omega_0 - k\Omega_s) \]

DTFT of \(x[n]\) \[\begin{align} X(e^{j\omega}) &= \frac{1}{T_s} \sum_k X_c\left[j(\frac{\omega}{T_s}-\frac{2\pi k}{T_s})\right] \\ &= \frac{A}{T_s} \sum_k \delta(\frac{\omega}{T_s} -\Omega_0- \frac{2\pi k}{T_s}) \\ &= A \sum_k \delta(\omega -\omega_0 - 2\pi k) \end{align}\]

yield \[ x[n] = A e^{j\omega_0 n} = A e^{j\Omega_0 nT_s} \]

1
2
3
4
5
6
7
8
9
import numpy as np
x = np.linspace(0,1,10000)
y = np.cos(2*np.pi*1*x)
rms = np.sqrt(np.power(y, 2).sum()/x.size)
print(rms)
print(1/2**0.5)

# 0.7071421356417675
# 0.7071067811865475

Example 4.1 impulse scaling \(\delta(\omega/T)=T\delta(\omega)\)

\[ \int \delta(\frac{\omega}{T})d\omega = \int T \delta(\omega)d\omega = \int T\delta(\frac{\omega}{T})d\frac{\omega}{T} = T \]

D/C

image-20240831161852787

image-20240831162625943

image-20240831162559492

image-20241024220244992

Zero Padding

Balu Santhanam. ECE-539: Digital Signal Processing: Zero padding and Resolution [http://ece-research.unm.edu/bsanthan/ece539/zero_pad.pdf]

David Castro PiñolDavid Castro Piñol. 𝗭𝗲𝗿𝗼 𝗣𝗮𝗱𝗱𝗶𝗻𝗴 𝗗𝗼𝗲𝘀𝗻’𝘁 𝗜𝗺𝗽𝗿𝗼𝘃𝗲 𝗦𝗽𝗲𝗰𝘁𝗿𝗮𝗹 𝗥𝗲𝘀𝗼𝗹𝘂𝘁𝗶𝗼𝗻 [link]

Zero padding improves frequency grid resolution, not spectral resolution

A smoother spectrum is not more information — it is better interpolation of the same information.

To truly improve spectral resolution, you must observe the signal longer (increase N).

chart, histogram

Gotcha

A remarkable fact of linear systems is that the complex exponentials are eigenfunctions of a linear system, as the system output to these inputs equals the input multiplied by a constant factor.

  • Both amplitude and phase may change
  • but the frequency does not change

For an input \(x(t)\), we can determine the output through the use of the convolution integral, so that with \(x(t) = e^{st}\) \[\begin{align} y(t) &= \int_{-\infty}^{+\infty}h(\tau)x(t-\tau)d\tau \\ &= \int_{-\infty}^{+\infty} h(\tau) e^{s(t-\tau)}d\tau \\ &= e^{st}\int_{-\infty}^{+\infty} h(\tau) e^{-s\tau}d\tau \\ &= e^{st}H(s) \end{align}\]

Take the input signal to be a complex exponential of the form \(x(t)=Ae^{j\phi}e^{j\omega t}\)

\[\begin{align} y(t) &= h(t)*x(t) \\ &= H(j\omega)Ae^{j\phi}e^{j\omega t} \end{align}\]

The frequency response at \(-\omega\) is the complex conjugate of the frequency response at \(+\omega\), given \(h(t)\) is real

\[\begin{align} H^*(t) &= \left(\int_{-\infty}^{+\infty}h(t)e^{-j\omega t}dt\right)^* \\ &= \int_{-\infty}^{+\infty}h^*(t)e^{+j\omega t}dt \\ &= \int_{-\infty}^{+\infty}h(t)e^{-j(-\omega t)}dt \\ &= H(-j\omega) \end{align}\]

The real cosine signal is actually composed of two complex exponential signals: one with positive frequency and the other with negative \[ cos(\omega t + \phi) = \frac{e^{j(\omega t + \phi)} + e^{-j(\omega t + \phi)}}{2} \]

The sinusoidal response is the sum of the complex-exponential response at the positive frequency \(\omega\) and the response at the corresponding negative frequency \(-\omega\) because of LTI systems's superposition property

  • input: \[\begin{align} x(t) &= A cos(\omega t + \phi) \\ &= \frac{1}{2}Ae^{\phi}e^{\omega t} + \frac{1}{2}Ae^{-\phi}e^{-\omega t} \end{align}\]

  • output with \(H(j\omega)=Ge^{j\theta}\): \[\begin{align} y(t) &= H(j\omega)\frac{1}{2}Ae^{\phi}e^{\omega t} + H(-j\omega)\frac{1}{2}Ae^{-\phi}e^{-\omega t} \\ &= Ge^{j\theta}\frac{1}{2}Ae^{\phi}e^{\omega t} + Ge^{-j\theta}\frac{1}{2}Ae^{-\phi}e^{-\omega t} \\ &= GAcos(\omega t + \phi + \theta) \end{align}\]

Its phase shift is \(\theta\) and gain is \(G\), which is same with \(H(j\omega)\).

reference

Alan V Oppenheim, Ronald W. Schafer. Discrete-Time Signal Processing, 3rd edition [pdf]

B.P. Lathi, Roger Green. Linear Systems and Signals (The Oxford Series in Electrical and Computer Engineering) 3rd Edition [pdf]

Alan V. Oppenheim, Alan S. Willsky, and S. Hamid Nawab. 1996. Signals & systems (2nd ed.) [pdf]

James H. McClellan, Ronald Schafer, and Mark Yoder. 2015. DSP First (2nd. ed.). Prentice Hall Press, USA

Reference Ripple

C-H Chan (U. of Macau) "Extreme SAR ADCs - Exploring New Frontiers" Online Course (2024) : Reference Buffer in SAR ADC [https://youtu.be/vj98B7AaC9E]

C. Li, C. -H. Chan, Y. Zhu and R. P. Martins, "Analysis of Reference Error in High-Speed SAR ADCs With Capacitive DAC," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 66, no. 1, pp. 82-93, Jan. 2019 [https://ime.um.edu.mo/wp-content/uploads/magazines/961546494e705f6fd16b9f785a121030.pdf]

J. Zhong, Y. Zhu, S. -W. Sin, S. -P. U and R. P. Martins, "Thermal and Reference Noise Analysis of Time-Interleaving SAR and Partial-Interleaving Pipelined-SAR ADCs," in IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 62, no. 9, pp. 2196-2206, Sept. 2015 [https://sci-hub.st/10.1109/TCSI.2015.2452331]

C. -H. Chan et al., "60-dB SNDR 100-MS/s SAR ADCs With Threshold Reconfigurable Reference Error Calibration," in IEEE Journal of Solid-State Circuits, vol. 52, no. 10, pp. 2576-2588, Oct. 2017 [https://ime.um.edu.mo/wp-content/uploads/magazines/407e580ac0218605bcf9b9bbd0ea1109.pdf]

TODO 📅

Sampling Front-End (SFE) Pulse Response

image-20250107234500537

sweep the setup time between ideal pulse input and clock, sample the output of SFE at falling edge

sample-by-sample

3rd harmonic

sample2sample-gain-distortion.drawio

bit-by-bit

The amplitude of the reference ripple is code-dependent as it is correlated with switching energy in each bit cycling

quantization error & quantization noise

image-20250910210909363

image-20250910211207655

image-20250910211034914


Notice \(e_q\in (0, \Delta)\) and its average is \(\Delta/2\). To calculate SNDR, DC component shall be excluded

Don't confuse resolution \(\Delta\) with Bounded Quantization Noise \(-\Delta/2 \sim \Delta/2\)

image-20250909233010702

Redundancy

decision level

final digital output for an \(N\)-bit \(M\)-step ADC can be calculated \[ D_{out} = s(M) + \sum_{i=1}^{M-1}(2\cdot b[i] - 1)\times s(i) + (b[0] -1)\cdot s(1) \]

i M M-1 M-2 ... 2 1 0
b[i] b[M-1] b[M-2] ... b[2] b[1] b[0]
s[i] s(M) s(M-1) s(M-2) ... s(2) s(1)

image-20250909211030234

track the decision level

For \(N\)-bit binary weighted algorithm,\(N=M\) and \(s(i)=2^{i-1}\), where \(i\in \{N, N-1,...,2,1 \}\)

\[\begin{align} D_{out} &= s(M) + \sum_{i=1}^{M-1}(2\cdot b[i] - 1)\times s(i) + (b[0] -1) \\ &= 2^{N-1} + \sum_{i=1}^{N-1}2^i\cdot b[i] - \sum_{i=0}^{N-2}2^{i} + (b[0] -1) \\ &= \sum_{i=0}^{N-1} b[i] \cdot 2^i \end{align}\]


alternative method for d2a & CDAC equivalent weight

i M-1 M-2 ... 2 1 0
b[i] b[M-1] b[M-2] ... b[2] b[1] b[0]
w[i] w[M-2] ... w[2] w[1] w[0]
W[i] 2w[M-2] 2w[M-3] ... 2w[1] 2w[0] w[0]

\[\begin{align} D_{out} &= \sum_{i=1}^{M-1}(2b_i -1)w_{i-1} + (b_0-1)w_0 \\ &= \sum_{i=1}^{M-1}b_i\cdot 2w_{i-1} + b_0\cdot w_0 -\sum_{i=1}^{M-1}w_{i-1} -w_0 \\ &= \left[\sum_{i=1}^{M-1}b_i\cdot 2w_{i-1} + b_0\cdot w_0\right] - \frac{1}{2}\left[\sum_{i=1}^{M-1}2w_{i-1} +w_0 + w_0\right] \\ &= \sum_{i=0}^{M-1}b_i\cdot W_i - \frac{1}{2}\left[\sum_{i=0}^{M-1}W_i + W_0\right] \end{align}\]

where \(W_i = 2w_{i-1}\) for \(i\in [M-1,1]\) and \(W_0 = w_0\)

Error Tolerance Window

\[ \varepsilon_t(n) = \sum_{i=1}^{n-2} s(i) - s(n-1) \]

where \(n\in [1, N]\), and \(N\)-bit SAR

etw.drawio

For the \(n\)th output bit, once a decision is made, the next decision level will either move up or down by the step size of \(s(n − 1)\)

If this decision is erroneous, then the sum of the follow-on step sizes, \(s(n − 2)\), \(s(n − 3)\), ..., \(s(1)\), must be large enough and exceed the value of the current step size to counteract this mistake

The exceeded amount is the tolerance window for that decision level

image-20250909222730303

image-20250909222310476

image-20250909231804142

image-20250909222622340

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import numpy as np
import matplotlib.pyplot as plt


def sar(xi, ss):
M = ss.size
th = ss[0]
oob = []
for i in range(M):
ocur = 1 if xi >= th else 0
oob.append(ocur)
if i + 1 < M:
th += (2 * ocur - 1) * ss[i + 1]
else:
break

binstr = ''.join([str(s) for s in oob])
decval = int(binstr, 2)
return binstr, decval


def sar_plot(ss, Npts=10000):
ss = np.asarray(ss)
ssum = np.sum(ss)
xilist = np.linspace(0, ssum + 1, Npts)
outlist = []
for i in range(Npts):
_, decval = sar(xilist[i], ss)
outlist.append(decval)
outmax = np.max(outlist)
plt.figure(figsize=(16,8))
plt.plot(xilist, outlist, '-', linewidth=4)
plt.xticks(range(0, ssum + 2))
plt.yticks(range(0, outmax + 2, 2))
plt.title('search step: {}'.format(ss), fontsize=20)
plt.xlabel('analog out', fontsize=20); plt.ylabel('digital out', fontsize=20)

plt.grid(True)

ss = [8, 4, 2, 1]
sar_plot(ss)

ss = [8, 2, 2, 2, 1]
sar_plot(ss)

plt.show()

ENOB vs. fixed radix

When the ADC is designed with a fixed radix, \(\alpha\) and the required number of conversion steps, \(M\)

the sum of all the step sizes \(s_{tot}\) \[ s_{tot} = \sum_{k=0}^{M-1} s_0 \alpha^k = s_0\frac{\alpha^M-1}{\alpha-1} \]

where \(s(i)\) is step size and \(i \in [0, 1, 2, M-1]\)

The effective number of bits, \(N\), can be calculated \[ N \leq \log 2\left(\frac{s_{tot} + s_0}{s_0}\right) = \frac{\alpha^M+\alpha-2}{\alpha-1} \]

Speed Benefit

TODO 📅

MSB with noise simualtion

image-20250924004048876

CDAC

The charge redistribution capacitor network is used to sample the input signal and serves as a digital-to-analog converter (DAC) for creating and subtracting reference voltages

sampling charge \[ Q = V_{in} C_{tot} \] conversion charge \[ Q = -C_{tot}V_c + V_{ref}C_\Delta \] That is \[ V_c = \frac{C_\Delta}{C_{tot}}V_{ref} - V_{in} \]


CDAC is actually working as a capacitive divider during conversion phase, the charge of internal node retain (charge conservation law)

assuming \(\Delta V_i\) is applied to series capacitor \(C_1\) and \(C_2\)

cap_divider.drawio \[ (\Delta V_i - \Delta V_x) C_1 = \Delta V_x \cdot C_2 \] Then \[ \Delta V_x = \frac{C_1}{C_1+C_2}\Delta V_i \]

\(V_x= V_{x,0} + \Delta V_x\)

CDAC settling accuracy

cdac-tau.drawio \[\begin{align} V_x(s) &= \frac{C_1+C_2}{RC_1C_2}\cdot \frac{1}{s+\frac{C_1+C_2}{RC_1C_2}}\cdot V_i(s) \\ &= \frac{1}{\tau}\cdot \frac{1}{s+\frac{1}{\tau}}\cdot \frac{1}{s}\\ &= \frac{1}{\tau}\cdot \tau(\frac{1}{s} - \frac{1}{s+\frac{1}{\tau}})=\frac{1}{s} - \frac{1}{s+\frac{1}{\tau}} \end{align}\]

inverse Laplace Transform is \(V_x(t) = 1 - e^{-t/\tau}\)

\[\begin{align} V_y(s) &= V_x\frac{C_1}{C_1+C_2} \\ &= \frac{C_1}{C_1+C_2} \left(\frac{1}{s} - \frac{1}{s+\frac{1}{\tau}}\right)\\ \end{align}\]

inverse Laplace Transform is \(V_y(t) = \frac{C_1}{C_1+C_2}\left(1 - e^{-t/\tau}\right)\)

\(V_x(t)\) and \(V_y(t)\) prove that the settling time is same

\(\tau = R\frac{C_1C_2}{C_1+C_2}\), which means usually worst for MSB capacitor (largest)

both \(\tau\) and \(\Delta V\) are the maximum

A popular way to improve the settling behavior, again, is to employ unit-element DACs that statistically reduce the switching activities, which, unfortunately, exhibits unnecessary complications to the power, area and speed tradeoffs of the design

CDAC Energy Consumption

\[ E_{Vref} = \int P(t)dt = \int V_{ref} I(t) dt = V_{ref}\int I(t)dt = V_{ref}\cdot \Delta Q \]

image-20240922093524720

Given \(V_{c,0}=\frac{1}{2}V_{ref}-V_{in}\) and \(V_{c,1}=\frac{3}{4}V_{ref}-V_{in}\) \[\begin{align} Q_{b0,0} &= \left(V_{ref} - V_{c,0} \right)\cdot 2C = \left(\frac{1}{2}V_{ref}+V_{in} \right)\cdot 2C \\ Q_{b1,0} &= (0 - V_{c,0})\cdot C = \left(-\frac{1}{2}V_{ref}+V_{in} \right)\cdot C \\ Q_{b0,1} &= \left(V_{ref} - V_{c,1} \right)\cdot 2C = \left(\frac{1}{4}V_{ref}+V_{in} \right)\cdot 2C \\ Q_{b1,1} &= \left(V_{ref} - V_{c,1} \right)\cdot C = \left(\frac{1}{4}V_{ref}+V_{in} \right)\cdot C \end{align}\]

Therefore \[ E_{Vref} = V_{ref}\cdot (Q_{b0,1}+Q_{b1,1} - Q_{b0,0}-Q_{b1,0}) = \frac{1}{4}C V_{ref}^2 \]


CDAC total energy change \[\begin{align} \Delta E_{tot} &= \frac{1}{2}\cdot 2C \cdot (U_{2c,1}^2 - U_{2c,0}^2) + \frac{1}{2}\cdot C \cdot (U_{c,1}^2 - U_{c,0}^2) + \frac{1}{2}\cdot C \cdot (U_{c1,1}^2 - U_{c1,0}^2) \\ &= \left(-\frac{3}{16}V_{ref}^2 - \frac{1}{2}V_{ref}V_{in} - \frac{3}{32}V_{ref}^2+\frac{3}{4}V_{ref}V_{vin} + \frac{5}{32}V_{ref}^2-\frac{1}{4}V_{ref}V_{in}\right)C \\ &= -\frac{1}{8}CV_{ref}^2 \end{align}\]

alternative method

CapEnergy.drawio \[ \Delta E_{tot} = \frac{1}{2}\cdot\frac{3}{4}C\cdot V_{ref}^2 - \frac{1}{2}\cdot C\cdot V_{ref}^2 = -\frac{1}{8}CV_{ref}^2 \]

The total energy decreases by \(-\frac{1}{8}CV_{ref}^2\), though \(V_{ref}\) provides \(\frac{1}{4}C V_{ref}^2\)


The charge redistribution change the CDAC energy

cap_redis_energy.drawio

\[ E_{c,0} = \frac{1}{2}CV^2 \] After charge redistribution \[ E_{c,1} = \frac{1}{2}\cdot 2C\cdot \left(\frac{1}{2}V\right)^2 = \frac{1}{4}CV^2 \]

That make sense, charge redistribution consume energy

CDAC structure

CDAC with constant common-mode voltage

cdac_vcm_retain.drawio

image-20250924221209720

Comparator

Comparator input cap effect

image-20240907194621524 \[ -V_{in}\cdot 2^N C = V_c (2^N C + C_p) \] Then \(V_c = -\frac{2^N C}{2^N C + C_p}V_{in}\), i.e. this capacitance reduce the voltage amplitude by the factor

During conversion \[\begin{align} V_c &= -\frac{2^N C}{2^N C + C_p}V_{in} +V_{ref}\sum_{n=0}^{N-1} \frac{b_n\cdot2^n C}{2^N C + C_p} \\ &= \frac{2^N C}{2^N C + C_p}\left(-V_{in} + V_{ref}\sum_{n=0}^{N-1}\frac{b_n }{2^{N-n}} \right) \end{align}\]

That is, it does not change the sign

Comparator offset effect

image-20240825204030645

Synchronous SAR ADC

It also divides a full conversion into several comparison stages in a way similar to the pipeline ADC, except the algorithm is executed sequentially rather than in parallel as in the pipeline case.

However, the sequential operation of the SA algorithm has traditionally been a limitation in achieving high-speed operation

image-20241021214958488

  • a clock running at least \((N + 1) \cdot F_s\) is required for an \(N\)-bit converter with conversion rate of \(F_s\)
  • every clock cycle has to tolerate the worst case comparison time
  • every clock cycle requires margin for the clock jitter

The power and speed limitations of a synchronous SA design comes largely from the high-speed internal clock

Split Arrary CDAC

Split capacitor, double-array cap

attenuation capacitance \(C_a\)

image-20240917192957721

image-20240918213856504

splitArray.drawio

\[\begin{align} \Delta V_{dac} &= \frac{1}{2}b_3+\frac{1}{4}b_2+\frac{1}{4}\left(\frac{1}{2}b_1+\frac{1}{4}b_0 \right) \\ &= \frac{1}{2}b_3+\frac{1}{4}b_2 + \frac{1}{8}b_1+\frac{1}{16}b_0 \end{align}\]

Asynchronous SAR ADC

The comparator itself trigger the next bit-conversion cycle as soon as the present bit decision has been taken

image-20241021214922564

image-20250102225355547

The maximum resolving time reduction between synchronous and asynchronous case is two fold

comparator metastable state

when the input is sufficiently small. The time needed for the comparator outputs to fully resolve may take arbitrarily long

In this case, the ready signal generator should still set the flag and the decision result is simply taken from the previous value stored in the SR latch

image-20250701231051158

both outputs (\(Q_p\) and \(Q_n\)) will drop together, NAND is inverter actually

The transition point of this NAND gate is skewed to eliminate metastability issues arising when the input differential voltage level is small (comparator)

reference

Andrea Baschirotto, "T6: SAR ADCs" ISSCC2009

Pieter Harpe, ISSCC 2016 Tutorial: "Basics of SAR ADCs Circuits & Architectures"


Mike Shuo-Wei Chen and R. W. Brodersen, "A 6-bit 600-MS/s 5.3-mW Asynchronous ADC in 0.13-μm CMOS," in IEEE Journal of Solid-State Circuits, vol. 41, no. 12, pp. 2669-2680, Dec. 2006 [pdf, slides]

—. "Power Efficient System and A/D Converter Design for Ultra-Wideband Radio" [http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-71.pdf]

—. "Asynchronous SAR ADC: Past, Present and Beyond" [https://viterbi-web.usc.edu/~swchen/index_files/async_sar_tutorial_chen_final.pdf]

C. -C. Liu, S. -J. Chang, G. -Y. Huang and Y. -Z. Lin, "A 10-bit 50-MS/s SAR ADC With a Monotonic Capacitor Switching Procedure," in IEEE Journal of Solid-State Circuits, vol. 45, no. 4, pp. 731-740, April 2010 [https://sci-hub.se/10.1109/JSSC.2010.2042254]

L. Jie et al., "An Overview of Noise-Shaping SAR ADC: From Fundamentals to the Frontier," in IEEE Open Journal of the Solid-State Circuits Society, vol. 1, pp. 149-161, 2021 [pdf]

W. Liu, P. Huang and Y. Chiu, "A 12-bit, 45-MS/s, 3-mW Redundant Successive-Approximation-Register Analog-to-Digital Converter With Digital Calibration," in IEEE Journal of Solid-State Circuits, vol. 46, no. 11, pp. 2661-2672, Nov. 2011 [https://sci-hub.st/10.1109/JSSC.2011.2163556]

1-bit DAC

TODO 📅

\(\Delta \Sigma\) ADC: Linearity

!!PD: Non-linear

Dan Boschen Why use a 1-bit ADC in a Sigma Delta Modulator?. [https://dsp.stackexchange.com/questions/53059/why-use-a-1-bit-adc-in-a-sigma-delta-modulator#comment105988_53063]

Evaluating DAC

Walt Kester. Evaluating High Speed DAC Performance [https://www.analog.com/media/en/training-seminars/tutorials/mt-013.pdf]

image-20250921140917517

THD

EE315B VLSI Data Conversion Circuits [pdf]

Harmonics can appear at "arbitrary" frequencies due to aliasing

image-20250924003112739

Dynamic Range

image-20250825215211670


image-20250825220134900

image-20250825220536821

\[ \text{SNR} = 10\log\left(\frac{V_\text{in}^2/2}{\Delta^2/12}\right) \]

FoMs

B. Murmann, "ADC Performance Survey 1997-2022," [Online]. Available: [https://github.com/bmurmann/ADC-survey]

Carsten Wulff, "Advanced Integrated Circuits 2025" [http://analogicus.com/aic2025/2025/02/20/Lecture-6-Oversampling-and-Sigma-Delta-ADCs.html#high-resolution-fom]

image-20250825173843550

Offset & Gain Error

image-20250825151821455

image-20250825152414651

Charge Injection and Clock Feedthrough

Slow Gating, Fast Gating

TODO 📅

Midrise and Midtread Quantizers

\(\Gamma_x\) is no-overload range

image-20250809170637486


image-20250907071636266

Top-Plate vs Bottom-Plate Sampling

[https://class.ece.iastate.edu/ee435/lectures/EE%20435%20Lect%2044%20Spring%202008.pdf]

Bottom-Plate Sampling

Sample signal at the "grounded" side of the capacitor to achieve signal independent sampling

image-20240825231816582

image-20240825232007848

image-20240825232717342

image-20240825233801855

image-20240825233821389


image-20240825233859540

[https://indico.cern.ch/event/1064521/contributions/4475393/attachments/2355793/4078773/esi_sampling_and_converters2022.pdf]

EE 435 Spring 2024 Analog VLSI Circuit Design - Switched-Capacitor Amplifiers Other Integrated Filters, https://class.ece.iastate.edu/ee435/lectures/EE%20435%20Lect%2044%20Spring%202008.pdf

Top-Plate Sampling

TODO 📅

image-20250622235355760

Maintain constant common-mode during conversion

D. Pfaff et al., "7.3 A 224Gb/s 3pJ/b 40dB Insertion Loss Transceiver in 3nm FinFET CMOS," 2024 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2024 [https://iccircle.com/static/upload/img20240529101747.pdf]

—, "A 224Gb/s 3pJ/bit 42dB Insertion Loss Post-FEC Error Free Transceiver in 3-nm FinFET CMOS (Invited)," 2025 IEEE Custom Integrated Circuits Conference (CICC), Boston, MA, USA, 2025, pp. 1-8, doi: 10.1109/CICC63670.2025.10983461.

E. Swindlehurst et al., "An 8-bit 10-GHz 21-mW Time-Interleaved SAR ADC With Grouped DAC Capacitors and Dual-Path Bootstrapped Switch," IEEE Journal of Solid-State Circuits, vol. 56, no. 8, pp. 2347-2359, 2021, [https://sci-hub.se/10.1109/JSSC.2021.3057372]

SFDR & INL

image-20250524172307785

Beware, this is of course only true under the same conditions at which the INL was taken, i.e. typically low input signal frequency

Track Time

image-20250729005114037


image-20250729005852740


Finite Acquisition Time - Consider a sinusoidal input

utilizing Laplace transform pair

\[\begin{align} V_\text{in}(t)=\cos{\omega t+\theta} & \overset{\mathcal{L}}{\Rightarrow} \frac{s\cos \theta-\omega \sin \theta}{s^2+\omega^2} \\ h(t) & \overset{\mathcal{L}}{\Rightarrow} \frac{\frac{1}{\tau}}{s+\frac{1}{\tau}} \end{align}\]

Then,

\[\begin{align} V_\text{out}(s) &= V_\text{in}(s)\cdot H(s) \\ &= \frac{s\cos \theta-\omega \sin \theta}{s^2+\omega^2} \cdot \frac{\frac{1}{\tau}}{s+\frac{1}{\tau}} \\ &= \frac{A}{s+\frac{1}{\tau}} + \frac{Bs+C}{s^2+\omega^2} \end{align}\]

Obtain,

\[\begin{align} A &= -\frac{\cos(\theta - \phi)}{\sqrt{\tau ^2 \omega^2 +1}} \\ B & = -A \\ C &= -\frac{\omega \sin(\theta - \phi)}{\sqrt{\tau ^2 \omega^2 +1}} \end{align}\]

That is \[ V_\text{out}(s) = -\frac{\cos(\theta - \phi)}{\sqrt{\tau ^2 \omega^2 +1}} \frac{1}{s+\frac{1}{\tau}} + \frac{1}{\sqrt{\tau ^2 \omega^2 +1}}\frac{s\cos(\theta - \phi) - \omega \sin(\theta - phi)}{s^2+\omega^2} \]

where \(\phi = \arctan(\omega \tau)\)

Boris Murmann, EE315B VLSI Data Conversion Circuits, Autumn 2013 [pdf]

Redundancy

image-20241221140840026

Max tolerance of comparator offset is \(\pm V_{FS}/4\)

  1. \(b_j\) error is \(\pm 1\)
  2. \(b_{j+1}\) error is \(\pm 2\) , wherein \(b_{j+1}\): \(0\to 2\) or \(1\to -1\)

i.e. complementary analog and digital errors cancel each other, \(V_o +\Delta V_{o}\) should be in over-/under-range comparators (\(-V_{FS}/2 \sim 3V_{FS}/2\))

\[\begin{align} V_{in,j} &= (b_j + \Delta b_j)\cdot \frac{V_{FS}}{2} + \frac{V_{out,j}+\Delta V_{out,j}}{2} \\ V_{in,{j+1}} &= (b_{j+1} + \Delta b_{j+1})\cdot \frac{V_{FS}}{2} + \frac{V_{out,j+1}+\Delta V_{out,j+1}}{2} \end{align}\]

with \(V_{in,j+1} = V_{out,j}+\Delta V_{out,j}\)

\[\begin{align} V_{in,j} &= (b_j + \Delta b_j)\cdot \frac{V_{FS}}{2} + \frac{1}{2} \left\{ (b_{j+1} + \Delta b_{j+1})\cdot \frac{V_{FS}}{2} + \frac{V_{out,j+1}+\Delta V_{out,j+1}}{2} \right\} \\ &= (b_j + \Delta b_j)\cdot \frac{V_{FS}}{2} + \frac{1}{2}(b_{j+1} + \Delta b_{j+1})\cdot \frac{V_{FS}}{2}+ \frac{1}{2}\frac{V_{in,j+2}}{2} \\ &=\tilde{b_j} \cdot \frac{V_{FS}}{2}+ \tilde{b_{j+1}}\cdot \frac{V_{FS}}{4}+ \frac{1}{4}V_{in,j+2} \end{align}\]

where \(b_j\) is 1-bit residue without redundancy and \(\tilde{b_j}\) is redundant bits

image-20241222115022613


Uniform Sub-Radix-2 SAR ADC

image-20241222130625469

Minimal analog complexity, no additional decoding effort

Chang, Albert Hsu Ting. "Low-power high-performance SAR ADC with redundancy and digital background calibration." (2013). [https://dspace.mit.edu/bitstream/handle/1721.1/82177/861702792-MIT.pdf]

Kuttner, Franz. "A 1.2V 10b 20MSample/s non-binary successive approximation ADC in 0.13/spl mu/m CMOS." 2002 IEEE International Solid-State Circuits Conference. Digest of Technical Papers (Cat. No.02CH37315) 1 (2002): 176-177 vol.1. [https://sci-hub.se/10.1109/ISSCC.2002.992993]

T. Ogawa, H. Kobayashi, et. al., "SAR ADC Algorithm with Redundancy and Digital Error Correction." IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 93-A (2010): 415-423. [paper, slides]

B. Murmann, “On the use of redundancy in successive approximation A/D converters,” International Conference on Sampling Theory and Applications (SampTA), Bremen, Germany, July 2013. [https://www.eurasip.org/Proceedings/Ext/SampTA2013/papers/p556-murmann.pdf]

Krämer, M. et al. (2015) High-resolution SAR A/D converters with loop-embedded input buffer. dissertation. Available at: [http://purl.stanford.edu/fc450zc8031].

sarthak, "Visualising redundancy in a 1.5 bit pipeline ADC“ [https://electronics.stackexchange.com/a/523489/233816]


Testing

TODO 📅

Kent H. Lundberg "Analog-to-Digital Converter Testing" [https://www.mit.edu/~klund/A2Dtesting.pdf]

Tai-Haur Kuo, Da-Huei Lee "Analog IC Design: ADC Measurement" [http://msic.ee.ncku.edu.tw/course/aic/202309/ch13%20(20230111).pdf] [http://msic.ee.ncku.edu.tw/course/aic/aic.html]

ESE 6680: Mixed Signal Design and Modeling "Lec 20: April 10, 2023 Data Converter Testing" [https://www.seas.upenn.edu/~ese6680/spring2023/handouts/lec20.pdf]

Degang Chen. "Distortion Analysis" [https://class.ece.iastate.edu/djchen/ee435/2017/Lecture25.pdf]

ADC INL/DNL

TODO 📅

  • Endpoint method
  • BestFit method

image-20241006211529077

image-20241006195931838

INL/DNL Measurements for High-Speed Analog-to Digital Converters (ADCs) [https://picture.iczhiku.com/resource/eetop/sYKTSqLfukeHSmMB.pdf]

Code Density Test

Apply a linear ramp to ADC input

image-20241214100849243

Bootstrapped Switch

image-20240825222432796

A. Abo et al., "A 1.5-V, 10-bit, 14.3-MS/s CMOS Pipeline Analog-to Digital Converter," IEEE J. Solid-State Circuits, pp. 599, May 1999 [https://sci-hub.se/10.1109/4.760369]

Dessouky and Kaiser, "Input switch configuration suitable for rail-to-rail operation of switched opamp circuits," Electronics Letters, Jan. 1999. [https://sci-hub.se/10.1049/EL:19990028]

B. Razavi, "The Bootstrapped Switch [A Circuit for All Seasons]," in IEEE Solid-State Circuits Magazine, vol. 7, no. 3, pp. 12-15, Summer 2015 [https://www.seas.ucla.edu/brweb/papers/Journals/BRSummer15Switch.pdf]

B. Razavi, "The Design of a bootstrapped Sampling Circuit [The Analog Mind]," IEEE Solid-State Circuits Magazine, Volume. 13, Issue. 1, pp. 7-12, Summer 2021. [http://www.seas.ucla.edu/brweb/papers/Journals/BR_SSCM_1_2021.pdf]

image-20241108210222043

Quantization Noise & its Spectrum

image-20240825221754959

Quantization noise is less with higher resolution as the input range is divided into a greater number of smaller ranges

This error can be considered a quantization noise with RMS

image-20240925235213137

Quantization is NOT Noise

[https://analogicus.com/aic2025/2025/02/20/Lecture-6-Oversampling-and-Sigma-Delta-ADCs.html#quantization]

N. Blachman, "The intermodulation and distortion due to quantization of sinusoids," in IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 33, no. 6, pp. 1417-1426, December 1985 [https://sci-hub.st/10.1109/TASSP.1985.1164729]

image-20250902203709226


The quantization noise is an infinite sum of input signal odd harmonics, where the amplitude of the harmonics is determined by a sum of a Bessel function

"Quantization noise is white", because for a high number of bits, it looks white in the FFT

image-20250902203921651

ENOB & SQNR

The quantization noise power \(P_Q\) for a uniform quantizer with step size \(\Delta\) is given by \[ P_Q = \frac{\Delta ^2}{12} \] For a full-scale sinusoidal input signal with an amplitude equal to \(V_{FS}/2\), the input signal is given by \(x(t) = \frac{V_{FS}}{2}\sin(\omega t)\)

Then input signal power \(P_s\) is \[ P_s = \frac{V_{FS}^2}{8} \] Therefore, the signal-to-quantization noise ratio (SQNR) is given by \[ \text{SQNR} = \frac{P_s}{P_Q} = \frac{V_{FS}^2/8}{\Delta^2/12}=\frac{V_{FS}^2/8}{V_{FS}^2/(12\times 2^{2N})} = \frac{3\times 2^{2N}}{2} \] where \(N\) is the number of quantization bits

When represented in dBs \[ \text{SQNR(dB)} = 10\log(\frac{P_s}{P_Q}) = 10\log(\frac{3\times 2^{2N}}{2})= 20N\log(2) + 10\log(\frac{3}{2})= 6.02N + 1.76 \]


image-20250705100706289

image-20250705101619687

image-20250705101635533

DAC DNL

One difference between ADC and DAC is that DAC DNL can be less than -1 LSB

In a DAC, DNL < -1LSB implies non-monotonicity

image-20241006215420568

DAC INL

image-20241215101400962

The worst INL of three DAC Architecture is same

image-20241215110708021

  • \(A = \sum_{j=1}^k I_j\), \(B=\sum_{j=k+1}^N I_j\)
  • A and B are independent with \(\sigma_A^2 = k\sigma_u^2\) and \(\sigma_B^2=(N-k)\sigma_u^2\)

Therefore \[ \mathrm{Var}\left(\frac{X}{Y}\right)\simeq \frac{k^2}{N^2}\left(\frac{\sigma_i^2}{kI_u^2} + \frac{\sigma_i^2}{NI_u^2} -2\frac{\mathrm{cov}(X,Y)}{kNI_u^2}\right) \] and \[\begin{align} \mathrm{cov}(X,Y) &= E[XY] - E[X]E[Y] = E[A(A+B)] - kNI_u^2 \\ &= E[A^2]+E[A]E[B] - kNI_u^2= \sigma_A^2+E[A]^2 + k(N-k)I_u^2 - kNI_u^2\\ &= k\sigma_i^2 + k^2I_u^2+ k(N-k)I_u^2 - kNI_u^2 \\ &= k\sigma_i^2 \end{align}\]

Finally, \[ \mathrm{Var}\left(\frac{X}{Y}\right)\simeq \frac{k^2}{N^2}\left(\frac{\sigma_i^2}{kI_u^2} + \frac{\sigma_i^2}{NI_u^2} -2\frac{k\sigma_i^2}{kNI_u^2}\right) = \frac{k^2}{N^2}\left(\frac{1}{k}- \frac{1}{N}\right)\sigma_u^2 \] i.e. \[ \mathrm{Var(INL(k))} = k^2\left(\frac{1}{k}- \frac{1}{N}\right)\sigma_u^2 = k\left(1- \frac{k}{N}\right)\sigma_u^2 \]

Standard deviation of INL is maximum at mid-scale (k=N/2)

image-20241215114755896


image-20241215101727644

Hold Mode Feedthrough

image-20240820204720277

image-20240820204959977

P. Schvan et al., "A 24GS/s 6b ADC in 90nm CMOS," 2008 IEEE International Solid-State Circuits Conference - Digest of Technical Papers, San Francisco, CA, USA, 2008, pp. 544-634

B. Sedighi, A. T. Huynh and E. Skafidas, "A CMOS track-and-hold circuit with beyond 30 GHz input bandwidth," 2012 19th IEEE International Conference on Electronics, Circuits, and Systems (ICECS 2012), Seville, Spain, 2012, pp. 113-116

Tania Khanna, ESE 568: Mixed Signal Circuit Design and Modeling [https://www.seas.upenn.edu/~ese5680/fall2019/handouts/lec11.pdf]

Coherent Sampling

image-20250705085139758


\[ \frac{f_{\text{in}}}{f_{\text{s}}}=\frac{M_C}{N_R} \]

  • \(f_\text{in}\) and \(f_s\) must be incommensurate (\(f_s/f_\text{in}\) is irrational number. btw, co-prime is sufficient but not necessary)

  • \(M_C\) and \(N_R\) must be co-prime

  • Samples must include integer # of cycles of input signal


An irreducible ratio ensures identical code sequences not to be repeated multiple times.

Given that \(\frac{M_C}{N_R}\) is irreducible, and \(N_R\) is a power of 2, an odd number for \(M_C\) will always produce an irreducible ratio

Assuming there is a common factor \(k\) between \(M_C\) and \(N_R\), i.e. \(\frac{M_C}{N_R}=\frac{k M_C'}{k N_R'}\)

The samples (\(n\in[1, N_R]\))

\[ y[n] = \sin\left( \omega_{\text{in}} \cdot t_n \right) = \sin\left( \omega_{\text{in}} \cdot n\frac{1}{f_s} \right) = \sin\left( \omega_{\text{in}} \cdot n\frac{1}{f_{\text{in}}}\frac{M_C}{N_R} \right) = \sin\left( 2\pi n\frac{M_C}{N_R} \right) \]

Then

\[ y[n+N_R'] = \sin\left( 2\pi (n+N_R')\frac{M_C}{N_R} \right) = \sin\left( 2\pi n \frac{M_C}{N_R} + 2\pi N_R'\frac{M_C}{N_R}\right) = \sin\left( 2\pi n \frac{M_C}{N_R} + 2\pi N_R'\frac{kM_C'}{kN_R'} \right) = \sin\left( 2\pi n \frac{M_C}{N_R}\right) \]

So, the samples is repeated \(y[n] = y[n+N_R']\)


\(N_R\) & \(M_C\) irreducible ratio (mutually prime)

  • Periodic sampling points result in periodic quantization errors
  • Periodic quantization errors result in harmonic distortion

image-20250705091742434

Choosing M/N non-prime repeats the signal quantization periodically and fewer quantization steps are measured. The quantization repeats periodically and creates a line spectrum that can obscure real frequency lines (e.g. the red lines in the images below, created by non-linearities of the ADC).

[https://www.dsprelated.com/thread/469/coherent-sampling-very-brief-and-simple]


image-20250705092503925


image-20250705103213974

Thermometer to Binary encoder

image-20241214152349217

Pipeline ADC

image-20241006174924686

CMP reference voltage is 0.5vref, DAC output is 0.5vref or 0

pipelineADC.drawio

residual error \[ V_{r,n} = (V_{r,n-1}-\frac{1}{2}b_{n})\cdot 2 \] and \(V_{r,-1}=V_i\) \[ V_{r,n-1} = 2^{n}V_i -\sum_{k=0}^{n-1}2^{n-k-1}b_k = 2^{n}\left(V_i - \sum_{k=0}^{n-1}\frac{b_k}{2^{k+1}}\right) \]

here, \(b_0\) is first stage and MSB

It divides the process into several comparison stages, the number of which is proportional to the number of bits

Due to the pipeline structure of both analog and digital signal path, inter-stage residue amplification is needed which consumes considerable power and limits high speed operation

Vishal Saxena, "Pipelined ADC Design - A Tutorial"[https://www.eecis.udel.edu/~vsaxena/courses/ece517/s17/Lecture%20Notes/Pipelined%20ADC%20NonIdealities%20Slides%20v1_0.pdf] [https://www.eecis.udel.edu/~vsaxena/courses/ece517/s17/Lecture%20Notes/Pipelined%20ADC%20Slides%20v1_2.pdf]

Bibhu Datta Sahoo, Analog-to-Digital Converter Design From System Architecture to Transistor-level [http://smdpc2sd.gov.in/downloads/IGF/IGF%201/Analog%20to%20Digital%20Converter%20Design.pdf]

Bibhu Datta Sahoo, Associate Professor, IIT, Kharagpur, [https://youtu.be/HiIWEBAYRJY?si=pjQnIdi03i5N7805]


image-20241214164740706

R-2R & C-2C

TODO 📅

Conceptually, area goes up linearly with number of bit slices

drawback of the R-2R DAC


\(N_b\) bit binary + \(N_t\) bit thermometer DAC

R-2R.drawio

\(N_b\) bit binary can be simplified with Thevenin Equivalent \[ V_B = \sum_{n=0}^{N_b-1} \frac{B_n}{2^{N_b-n}} \] with thermometer code

\[\begin{align} V_o &= V_B\frac{\frac{2R}{2^{N_t}-1}}{\frac{2R}{2^{N_t}-1}+ 2R}+\sum_{n=0}^{2^{N_t}-2}T_n\frac{\frac{2R}{2^{N_t}-1}}{\frac{2R}{2^{N_t}-1}+ 2R} \\ &= \frac{V_B}{2^{N_t}} + \frac{\sum_{n=0}^{2^{N_t}-2}T_n}{2^{N_t}} \\ &= \sum_{n=0}^{N_b-1} \frac{B_n}{2^{N_t+N_b-n}} + \frac{\sum_{n=0}^{2^{N_t}-2}T_n}{2^{N_t}} \end{align}\]

B. Razavi, "The R-2R and C-2C Ladders [A Circuit for All Seasons]," in IEEE Solid-State Circuits Magazine, vol. 11, no. 3, pp. 10-15, Summer 2019 [https://www.seas.ucla.edu/brweb/papers/Journals/BR_SSCM_3_2019.pdf]


4bit binary R2R DAC with Ru=1kOhm

RVB equivalent R

image-20241214190045688

Binary-Weighted (BW) DAC

image-20241215094852761

During \(\Phi_1\), all capacitor are shorted, the net charge at \(V_x\) is 0

During \(\Phi_2\), the charge at bottom plate of CDAC \[ Q_{DAC,btm} = \sum_{i=0}^{N-1}(b_i\cdot V_R - V_x)\cdot 2^{i}C_u = C_uV_R\sum_{i=0}^{N-1}b_i2^i - (2^N-1)C_uV_x \] the charge at the internal plate of integrator \[ Q_{intg} = V_x C_p + (V_x - V_o)2^NC_u \] and we know \(-V_x A = V_o\) and \(Q_{DAC,btm} = Q_{intg}\) \[ C_uV_R\sum_{i=0}^{N-1}b_i2^i - (2^N-1)C_uV_x = V_x C_p + (V_x - V_o)2^NC_u \] i.e. \[ C_uV_R\sum_{i=0}^{N-1}b_i2^i = (2^N-1)C_uV_x + V_x C_p + (V_x - V_o)2^NC_u \] therefore \[ -V_o = \frac{2^N C_u}{\frac{(2^{N+1}-1)C_u+C_p}{A}+2^NC_u}\sum_{i=0}^{N-1}b_i\left(2^i\frac{V_R}{2^N}\right)\approx \sum_{i=0}^{N-1}b_i\left(2^i\frac{V_R}{2^N}\right) \]


Midscale (MSB Transition) often is the largest DNL error

image-20241215090447383

\(C_4\) and \(C_1+C_2+C_3\) are independent (can't cancel out) and their variance is two largest (\(16\sigma_u^2\), \(15\sigma_u^2\), ), the total standard deviation is \(\sqrt{16\sigma_u^2+15\sigma_u^2}=\sqrt{31}\sigma_u\)

INL, DNL of current steering DAC

MOS mismatch

Current mirror mismatch analysis

INL/DNL analysis of current steering DAC

reference

Maloberti, F. Data Converters. Dordrecht, Netherlands: Springer, 2007.

Ahmed M. A. Ali 2016, "High Speed Data Converters" [pdf]

Razavi B. Analysis and Design of Data Converters. Cambridge University Press; 2025.


Aaron Buchwald, ISSCC2010 T1: "Specifying & Testing ADCs" [https://www.nishanchettri.com/isscc-slides/2010%20ISSCC/Tutorials/T1.pdf]

Ahmed M. A. Ali. CICC 2018: High Speed Pipelined ADCs: Fundamentals and Variants [https://picture.iczhiku.com/resource/eetop/SyIGzGRYsHFehcnX.pdf]

John P. Keane, ISSCC2020 T5: "Fundamentals of Time-Interleaved ADCs" [https://www.nishanchettri.com/isscc-slides/2020%20ISSCC/TUTORIALS/T5Visuals.pdf]

Yun Chiu, ISSCC2023 T3: "Fundamentals of Data Converters" [https://www.nishanchettri.com/isscc-slides/2023%20ISSCC/TUTORIALS/T3.pdf]

—, "Design and Calibration Techniques for SAR and Pipeline ADCs" [http://formation-old.in2p3.fr/microelectronique15/IN2P3_ADC.pdf]

—, Radiation-Tolerant SAR ADC Architecture and Digital Calibration Techniques [https://indico.cern.ch/event/385097/attachments/768706/1054353/CERN_May15.pdf]

—, Recent Advances in Multistep Nyquist ADC's [https://www.eecis.udel.edu/~vsaxena/courses/ece614/Handouts/Recent%20Advances%20in%20Nyquist%20rate%20ADCs.pdf]

Boris Murmann, ISSCC2022 SC1: Introduction to ADCs/DACs: Metrics, Topologies, Trade Space, and Applications [https://www.nishanchettri.com/isscc-slides/2022%20ISSCC/SHORT%20COURSE/SC1.pdf]

—, ISSCC2012 SC3: Introduction to ADCs/DACs: Metrics, Topologies, Trade Space, and Applications [https://www.nishanchettri.com/isscc-slides/2012%20ISSCC/SHORT%20COURSE/SC3Visuals.pdf]

—, A/D Converter Figures of Merit and Performance Trends [https://www.nishanchettri.com/isscc-slides/2015%20ISSCC/CIRCUIT%20INSIGHTS/Murmann.pdf]

Aaron Buchwald, ISSCC 2008 T2 Pipelined A/D Converters: The Basics [pdf]

Yohan Frans, CICC2019 ES3-3- "ADC-based Wireline Transceivers" [pdf]

Samuel Palermo, ISSCC 2018 T10: ADC-Based Serial Links: Design and Analysis [https://www.nishanchettri.com/isscc-slides/2018%20ISSCC/TUTORIALS/T10/T10Visuals.pdf]

Ahmed M. A. Ali. ISSCC2021 T5: Calibration Techniques in ADCs [https://www.nishanchettri.com/isscc-slides/2021%20ISSCC/TUTORIALS/ISSCC2021-T5.pdf]

Jan Mulder Broadcom. ISSCC2015 T5: High-Speed Current-Steering DACs [https://www.nishanchettri.com/isscc-slides/2015%20ISSCC/TUTORIALS/ISSCC2015Visuals-T5.pdf]


M. Gu, Y. Tao, Y. Zhong, L. Jie and N. Sun, "Timing-Skew Calibration Techniques in Time-Interleaved ADCs," in IEEE Open Journal of the Solid-State Circuits Society [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10804623]

everynanocounts. Memos on FFT With Windowing. URL: https://a2d2ic.wordpress.com/2018/02/01/memos-on-fft-with-windowing/

How to choose FFT depth for ADC performance analysis (SINAD, ENOB). URL:https://dsp.stackexchange.com/a/38201

Computation of Effective Number of Bits, Signal to Noise Ratio, & Signal to Noise & Distortion Ratio Using FFT. URL:https://cdn.teledynelecroy.com/files/appnotes/computation_of_effective_no_bits.pdf

Kester, Walt. (2009). Understand SINAD, ENOB, SNR, THD, THD + N, and SFDR so You Don't Get Lost in the Noise Floor. URL:https://www.analog.com/media/en/training-seminars/tutorials/MT-003.pdf

T. C. Hofner: Dynamic ADC testing part I. Defining and testing dynamic ADC parameters, Microwaves & RF, 2000, vol. 39, no. 11, pp. 75-84,162

T. C. Hofner: Dynamic ADC testing part 2. Measuring and evaluating dynamic line parameters, Microwaves & RF, 2000, vol. 39, no. 13, pp. 78-94

AN9675: A Tutorial in Coherent and Windowed Sampling with A/D Converters https://www.renesas.com/us/en/document/apn/an9675-tutorial-coherent-and-windowed-sampling-ad-converters

APPLICATION NOTE 3190: Coherent Sampling Calculator (CSC) https://www.stg-maximintegrated.com/en/design/technical-documents/app-notes/3/3190.html

Coherent Sampling (Very Brief and Simple) https://www.dsprelated.com/thread/469/coherent-sampling-very-brief-and-simple

Signal Chain Basics #160: Making sense of coherent and noncoherent sampling in data-converter testing https://www.planetanalog.com/signal-chain-basics-160-making-sense-of-coherent-and-noncoherent-sampling-in-data-converter-testing/

Signal Chain Basics #104: Understanding noise in ADCs https://www.planetanalog.com/signal-chain-basics-part-104-understanding-noise-in-adcs/

Signal Chain Basics #101: ENOB Degradation Analysis Over Frequency Due to Jitter https://www.planetanalog.com/signal-chain-basics-part-101-enob-degradation-analysis-over-frequency-due-to-jitter/

Clock jitter analyzed in the time domain, Part 1, Texas Instruments Analog Applications Journal (slyt379), Aug 2010 https://www.ti.com/lit/an/slyt379/slyt379.pdf

Clock jitter analyzed in the time domain, Part 2 https://www.ti.com/lit/slyt389

Measurement of Total Harmonic Distortion and Its Related Parameters using Multi-Instrument [pdf]

Application Note AN-4: Understanding Data Converters' Frequency Domain Specifications [pdf]

Belleman, J. (2008). From analog to digital. 10.5170/CERN-2008-003.131. [pdf]

HandWiki. Coherent sampling [link]

Luis Chioye, TI. Leverage coherent sampling and FFT windows when evaluating SAR ADCs (Part 1) [link]

Coherent Sampling vs. Window Sampling | Analog Devices https://www.analog.com/en/technical-articles/coherent-sampling-vs-window-sampling.html

Understanding Effective Number of Bits https://robustcircuitdesign.com/signal-chain-explorer/understanding-effective-number-of-bits/

ADC Input Noise: The Good, The Bad, and The Ugly. Is No Noise Good Noise? [https://www.analog.com/en/resources/analog-dialogue/articles/adc-input-noise.html]

Walt Kester, Taking the Mystery out of the Infamous Formula, "SNR = 6.02N + 1.76dB," and Why You Should Care [https://www.analog.com/media/en/training-seminars/tutorials/MT-001.pdf]

Dan Boschen, "How to choose FFT depth for ADC performance analysis (SINAD, ENOB)", [https://dsp.stackexchange.com/a/38201]

B. Razavi, "A Tale of Two ADCs - Pipelined Versus SAR" IEEE Solid-State Circuits Magazine, Volume. 7, Issue. 30, pp. 38-46, Summer 2015 [https://www.seas.ucla.edu/brweb/papers/Journals/BRSummer15ADC.pdf)]


Dr. Tai-Haur Kuo (郭泰豪 教授) Analog IC Design (類比積體電路設計) [http://msic.ee.ncku.edu.tw/course/aic/aic.html]


Converter Passion for data-converter professionals sharing thoughts on ADCs and DACs [https://converterpassion.wordpress.com/]

Boris Murmann, EE315B VLSI Data Conversion Circuits, Autumn 2013 [pdf]


MPScholar Analog-to-Digital Converters (ADCs) [https://www.monolithicpower.com/en/learning/mpscholar/analog-to-digital-converters]

tomverbeure. List of Analog Devices Tutorials [https://tomverbeure.github.io/2021/02/15/Analog-Devices-Tutorials.html]

replica biasing

TODO 📅

current mirror with source follower

icurrent_sf.drawio

source follower alleviate gate leakage impact on reference current

constant-gm

aka. Beta-multiplier reference

image-20240803155734754

\(I_\text{out}\) is PTAT in case temperature coefficient of \(R_s\) is less than that of \(\mu_n\)


image-20240803201548623

Body effect of M2

image-20240803201803449

image-20240803202015668

image-20240803201941683


image-20231213235846243

Boris Murmann, Systematic Design of Analog Circuits Using Pre-Computed Lookup Tables

S. Pavan, "Systematic Development of CMOS Fixed-Transconductance Bias Circuits," in IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 69, no. 5, pp. 2394-2397, May 2022

S. Pavan, "A Fixed Transconductance Bias Circuit for CMOS Analog Integrated Circuits", IEEE International Symposium on Circuits and Systems, ISCAS 2004, Vancouver , May 2004

Why MOS in saturation ?

\(g_m\), \(g_\text{ds}\) at fixed \(V_\text{GS}\)

image-20231125224714658


\(g_{ds}\) is constant in saturation region

in triode region \[ g_{ds} = \mu_nC_{ox}\frac{W}{L}(V_{GS}-V_{TH}-V_{DS}) \]

Interestingly, \(g_m\) in the saturation region is equal to the inverse of \(R_\text{on}\) in the deep triode region.

gds_vgs.drawio

image-20240727140918647

\(g_m\), \(g_\text{ds}\) at fixed \(I_d\), \(V_G\)

In triode region \[ I_D = \frac{1}{2}\mu_nC_{ox}\frac{W}{L}[2(V_{GS}-V_{TH})V_{DS}-V_{DS}^2] \] where \(I_D\) and \(V_G\) is fixed

Then \(V_S\) can be expressed with \(V_D\), that is \[ V_S = V_{GT} - \sqrt{(V_{GT}-V_D)^2+V_{dsat}^2} \] where \(V_{GT}=V_G-V_{TH}\), \(V_{dsat}\) is \(V_{DS}\) saturation voltage \[ g_m = \mu_nC_{ox}\frac{W}{L}\left(V_D-V_{GT}+\sqrt{(V_{GT}-V_D)^2+V_{dsat}^2}\right) \] Then \[ \frac{\partial g_m}{\partial V_D} \propto 1 - \frac{V_{GT}-V_D}{\sqrt{(V_{GT}-V_D)^2+V_{dsat}^2}} \gt 0 \]

That is, \(g_m \propto V_D\)


\[\begin{align} g_{ds} &= \mu_nC_{ox}\frac{W}{L}(V_{GS}-V_{TH}-V_{DS}) \\ &= \mu_nC_{ox}\frac{W}{L}(V_{GT}-V_{D}) \end{align}\]

That is, \(g_{ds} \propto -V_D\)

image-20240727171005401

Both gain and speed degrade once entering triode region, though Id is constant

Cascode MOS

The low threshold voltage of cascode MOS don't help decrease the minimum output voltage

cascode_vth.drawio

Channel-length modulation

❗ There it not channel-length modulation in the triode region

image-20240727095651984

\[\begin{align} I_D &=\frac{1}{2}\mu_nC_{ox}\frac{W}{L}(V_{GS}-V_{TH})^2(1+\frac{\Delta L}{L}) \\ I_D &=\frac{1}{2}\mu_nC_{ox}\frac{W}{L}(V_{GS}-V_{TH})^2(1+\lambda V_{DS}) \\ I_D &=\frac{1}{2}\mu_nC_{ox}\frac{W}{L}(V_{GS}-V_{TH})^2(1+\frac{V_{DS}}{V_A}) \end{align}\]

where \(\frac{\Delta L}{L}=\lambda V_{DS}\) and \(V_A=\frac{1}{\lambda}\)

\(\lambda\) is channel length modulation parameter

\(V_A\), i.e. Early voltage is equal to inverse of channel length modulation parameter

The output resistance \(r_o\)

\[\begin{align} r_o &= \frac{\partial V_{DS}}{\partial I_D} \\ &= \frac{1}{\partial I_D/\partial V_{DS}} \\ &= \frac{1}{\lambda I_D} \\ &= \frac{V_A}{I_D} \end{align}\]

Due to \(\lambda \propto 1/L\), i.e. \(V_A \propto L\) \[ r_o \propto \frac{L}{I_D} \] image-20220930001909262

image-20220930002003924

image-20220930002157365

The output resistance is almost doubled using Stacked FET in saturation region

\(V_t\) and mobility \(\mu_{n,p}\) are sensitive to temperature

  • \(V_t\) decreases by 2-mV for every 1\(^oC\) rise in temperature
  • mobility \(\mu_{n,p}\) decreases with temperature

Overall, increase in temperature results in lower drain currents

current mirror mismatch

The current mismatch consists of two components.

  • The first depends on threshold voltage mismatch and increases as the overdrive \((V_{GS} − V_t)\) is reduced.
  • The second is geometry dependent and contributes a fractional current mismatch that is independent of bias point.

\[ \Delta I_D = g_m\cdot \Delta V_{TH}+I_D\cdot \frac{\Delta(W/L)}{W/L} \]

where mismatches in \(\mu_nC_{ox}\) are neglected

\[\begin{align} \Delta V_{TH} &= \frac{A_{VTH}}{\sqrt{WL}} \\ \frac{\Delta(W/L)}{W/L} &= \frac{A_{WL}}{\sqrt{WL}} \end{align}\]

summary:

Size \(g_m\) \(\Delta V_{TH}\) \(\frac{\Delta(W/L)}{W/L}\) mismatch (%) simu (%)
W, L 1 1 1 \(I_{\Delta_{V_{TH}}}+I_{\Delta_{WL}}\) 3.44
W, 2L \(1/\sqrt{2}\) \(1/\sqrt{2}\) \(1/\sqrt{2}\) \(I_{\Delta_{V_{TH}}}/2+I_{\Delta_{WL}}/\sqrt{2}\) 1.98
2W, L \(\sqrt{2}\) \(1/\sqrt{2}\) \(1/\sqrt{2}\) \(I_{\Delta_{V_{TH}}}+I_{\Delta_{WL}}/\sqrt{2}\) 2.93
We get \(I_{\Delta_{V_{TH}}}\simeq 1.71\%\) and \(I_{\Delta_{WL}} \simeq 1.73\%\)

image-20221003001056211

image-20221002215942456

Biasing current source and global variation Monte Carlo

image-20221020225334767

image-20221020225502503

iwl: biased by mirror

iwl_ideal: biased by vdc source, whose value is typical corner


For local variation, constant voltage bias (vb_const in schematic) help reduce variation from \(\sqrt{2}\Delta V_{th}\) to \(\Delta V_{th}\)

For global variation, all device have same variation, mirror help reduce variation by sharing same \(V_{gs}\)

  1. global variation + local variation (All MC)

image-20221020225615633

  1. local variation (Mismatch MC)

image-20221020225701218

  1. global variation (Process MC)

image-20221020232515420

We had better bias mos gate with mirror rather than the vdc source while simulating sub-block.

This is real situation due to current source are always biased by mirror and vdc biasing don't give the right result in global variation Monte Carlo simulation (542.8n is too pessimistic, 13.07p is right result)

Small gain theorem

Dr. Degang Chen, EE 501: CMOS Analog Integrated Circuit Design [https://class.ece.iastate.edu/djchen/ee501/2020/References.ppt]

image-20231202102259692

For any given constant values of u and v, the constant values of variables that solve the the feed back relationship are called the operating points, or equilibrium points.

Operating points can be either stable or unstable.

An operating point is unstable if any or some small perturbation near it causes divergence away from that operating point.

If the loop gain evaluated at an operating point is less than one, that operating point is stable.

This is a sufficient condition

image-20231202105749888

image-20231202105621385

With \(m_{1\to 2} = 1\) \[ \text{Loop Gain} \simeq \frac{V_{BN}-V_{T2}}{V_{BN}-V_{T2} + V_R} \tag{$LG_0$} \] Assuming all MOS in strong inv operation, \(I\), \(V_{BN}\) and \(V_R\) is obtain \[\begin{align} I &= \frac{2\beta _1 + 2\beta _2 - 4\sqrt{\beta _1 \beta _2}}{R^2\beta _1 \beta _2} \\ V_{BN} &= V_{T2} + \frac{2}{R\beta _2}(1- \sqrt{\frac{\beta _2}{\beta _1}}) \\ IR &= \frac{2}{R}\left( \frac{1}{\sqrt{\beta_2}} - \frac{1}{\sqrt{\beta_1}} \right) \end{align}\]

Substitute \(V_{BN}\) and \(V_R\) of \(LG_0\) \[\begin{align} \text{Loop Gain} & \simeq \frac{1-\sqrt{\frac{\beta_2}{\beta_1}}}{\frac{\beta_2}{\beta_1} - 3\sqrt{\frac{\beta_2}{\beta_1}}+2} \\ &= \frac{1}{2-\sqrt{\frac{\beta_2}{\beta_1}}} \tag{$LG_1$} \end{align}\]

Alternative approach for Loop Gain

using derivation of large signal

image-20231202132310478

image-20231202134138319


❗❗❗ R should not be on the other side

image-20231202104505264

Self-Biasing Cascode

image-20231212153054247


cascode_selfbias.drawio


v2i.drawio

reference

B. Razavi, "The Design of a Low-Voltage Bandgap Reference [The Analog Mind]," in IEEE Solid-State Circuits Magazine, vol. 13, no. 3, pp. 6-16, Summer 2021, doi: 10.1109/MSSC.2021.3088963

Correlated Double Sampling (CDS)

TODO 📅

Dynamic Element Matching (DEM)

TODO 📅

image-20241112214430191

Galton, Ian. (2010). Why dynamic-element-matching DACs work. Circuits and Systems II: Express Briefs, IEEE Transactions on. 57. 69 - 74. 10.1109/TCSII.2010.2042131. [https://sci-hub.se/10.1109/TCSII.2010.2042131]

KHIEM NGUYEN. Analog Devices Inc, "Practical Dynamic Element Matching Techniques for 3-level Unit Elements" [https://picture.iczhiku.com/resource/eetop/shihEDaaoJjFdCVc.pdf]

E. Alvarez-Fontecilla, P. S. Wilkins and S. C. Rose, "Understanding High-Resolution Dynamic Element Matching DACs [Feature]," in IEEE Circuits and Systems Magazine, vol. 23, no. 4, pp. 34-43, Fourthquarter 2023

E. Alvarez-Fontecilla and P. S. Wilkins, "Linearity Through Democracy [Feature]," in IEEE Circuits and Systems Magazine, vol. 25, no. 1, pp. 58-69, Firstquarter 2025

Autozeroing

offset is sampled and then subtracted from the input

Measure the offset somehow and then subtract it from the input signal

low gain comparator

image-20241023224809158

Residual Noise of Auto-zeroing

image-20240826212343905


image-20240826213958740

pnosie Noise Type: timeaverage

image-20240826214306376

\(\Pi\)-Capacitor

pi_Cap.drawio

\[\begin{align} (V_a-V_{a0})C_0 + (\overline{V_a - V_b} - \overline{V_{a0} - V_{b0}})C_1 &= \Delta Q_a \\ (V_b-V_{b0})C_0 + (\overline{V_b - V_a} - \overline{V_{b0} - V_{a0}})C_1 &= \Delta Q_b \end{align}\]

therefore we obtain \[\begin{align} V_a + V_b &= \frac{\Delta Q_a + \Delta Q_b}{C_0} + V_{a0} + V_{b0} \\ V_a - V_b &= \frac{\Delta Q_a - \Delta Q_b}{C_0+2C_1} + V_{a0} - V_{b0} \end{align}\] Then \[\begin{align} V_a &= \frac{\Delta Q_a(C_0+C_1)+\Delta Q_b C_1}{C_0(C_0+2C_1)} + V_{a0} \\ V_b &= \frac{\Delta Q_aC_1+\Delta Q_b (C_0+C_1)}{C_0(C_0+2C_1)} + V_{b0} \end{align}\]

rearrange the above equation \[\begin{align} V_a &= \frac{\Delta Q_a}{C_0} + \frac{\Delta Q_b-\Delta Q_a}{C_0(\frac{C_0}{C_1}+2)} + V_{a0} \\ V_b &= \frac{\Delta Q_b}{C_0} + \frac{\Delta Q_a-\Delta Q_b}{C_0(\frac{C_0}{C_1}+2)} + V_{b0} \end{align}\]

The difference between \(V_a\) and \(V_b\) \[ V_a - V_b = \frac{I_a-I_b}{C_0+2C_1}t + V_{a0} - V_{b0} \]

\(C_1\) save total capacitor area while retaining the same \(V_a - V_b\) due to \(\Delta I_{a,b}\), in comparison to \(C_0\)


image-20250802170659120

at autozero phase \[\begin{align} I_{a0} &= \frac{1}{2}\mu C_{OX}\frac{W}{L}(V_{a0} - V_{TH})^2 \\ I_{Rb} &= \frac{1}{2}\mu C_{OX}\frac{W}{L}(V_{b0} - V_{TH})^2 \end{align}\]

then \[ \Delta I_0 = \frac{1}{2}(V_{a0} - V_{b0})(g_{m,a0}+g_{m,b0}) \] where \(g_{m,a0}+g_{m,b0} = \mu C_{OX}\frac{W}{L}(V_{a0}+V_{b0} - 2V_{TH})\)

at comparison phase \[\begin{align} I_{a1} &= \frac{1}{2}\mu C_{OX}\frac{W}{L}(V_{a1} - V_{TH})^2 \\ I_{b1} &= \frac{1}{2}\mu C_{OX}\frac{W}{L}(V_{b1} - V_{TH})^2 \end{align}\]

then \[ \Delta I_1 = \frac{1}{2}(V_{a1} - V_{b1})(g_{m,a1}+g_{m,b1}) \] That is, \(g_{m,a1}+g_{m,b1} = \mu C_{OX}\frac{W}{L}(V_{a1}+V_{b1} - 2V_{TH})\)

To minimize the difference between \(\Delta I_1\) and \(\Delta I_0\), the drift of both differential and common mode between \(V_a\) and \(V_b\) shall be alleviated

Chopping

offset is modulated away from the signal band and then filtered out

Modulate the offset away from DC and then filter it out

Good: Magically reduces offset, 1/f noise, drift

Bad: But creates switching spikes, chopper ripple and other artifacts …

Chopping in the Frequency Domain

Square-wave Modulation

definition of convolution \(y(t) = x(t)*h(t)= \int_{-\infty}^{\infty} x(\tau)h(t-\tau)d\tau\)

for real signal \(H(j\omega)^*=H(-j\omega)\)

image-20240903222441433

\[ H(j\hat{\omega})*H(j\hat{\omega}) = \int_{-\infty}^{\infty}H(j\omega)H(j(\hat{\omega}-\omega))d\omega \]

sq_mod.drawio


The Fourier Series of squarewave \(x(t)\) with amplitudes \(\pm 1\), period \(T_0\)

\[ C_n = \left\{ \begin{array}{cl} 0 &\space \ n=0 \\ 0 &\space \ n=\text{even} \\ |\frac{2}{n\pi}| &\space n=\pm 1,\pm 5,\pm9, ... \\ -|\frac{2}{n\pi}| &\space n=\pm 3,\pm 7,\pm11, ... \end{array} \right. \]

The Fourier transform of \(s(t)=x(t)x(t)\), and we know \[\begin{align} S(j2n\omega_0) &= \frac{1}{2\pi}\int X(j(2n\omega_0 -\omega))X(j\omega) d\omega\\ &= \frac{1}{2\pi}\int X(j(\omega-2n\omega_0))X(j\omega) d\omega \end{align}\]

Therefore \(n=0\) \[ S(j0) = \frac{1}{2\pi} (2\pi)^2\cdot \frac{4}{\pi ^2}2\sum_{n=0}^{+\infty}\frac{1}{(2n+1)^2} \delta(\omega) = 2\pi \delta(\omega) \]

if \(n=1\)

\[\begin{align} S(j2\omega_0) &= \frac{1}{2\pi} (2\pi)^2\cdot \frac{4}{\pi ^2}\left(1 - 2\sum_{n=0}^{+\infty}\frac{1}{(2n+1)(2n+3)} \right) \\ &= \frac{1}{2\pi} (2\pi)^2\cdot \frac{4}{\pi ^2}\left(1 - 2\sum_{n=0}^{+\infty}\frac{1}{2}\left[\frac{1}{2n+1}- \frac{1}{2n+3}\right] \right) \\ &= 0 \end{align}\]

image-20241013125713945

\(n=2\) \[\begin{align} \sum &= -\frac{2}{3} + 2\left(\frac{1}{1\times 5}+ \frac{1}{3\times 7}+ \frac{1}{5\times 9} + \frac{1}{7\times 11}+...\right) \\ &= -\frac{2}{3} + 2\cdot \frac{1}{4}\left(\frac{1}{1}-\frac{1}{5}+ \frac{1}{3}- \frac{1}{7}+ \frac{1}{5} - \frac{1}{9} +\frac{1}{7}-\frac{1}{11}+...\right) \\ &= -\frac{2}{3} + 2\cdot \frac{1}{4}\frac{4}{3} = 0 \end{align}\]

That is, the input signal remains the same after chopping or squarewave up/down modulation

EXAMPLE 2.7 in R. E. Ziemer and W. H. Tranter, Principles of Communications, 7th ed., Wiley, 2013 [pdf]

Prove that \(\pi^2/8 = 1 + 1/3^2 + 1/5^2 + 1/7^2 + \cdots\) [https://math.stackexchange.com/a/2348996]

Bandwidth & Gain Accuracy

image-20240903225224732

  • lower effective gain: DC level at the output of the amplifiers is a bit less than what it should be

  • chopping artifacts at the even harmonics: frequency of output is \(2f_{ch}\)

Below we justify \(A_\text{eff} = A(1-4\tau/T_\text{ch})\) \[\begin{align} V_o(t) &= A + (V_0-A)e^{-t/\tau} \\ V_o(T/2) &= -V_0 \end{align}\]

then \[ V_0 = -A\frac{1-e^{-T/2\tau}}{1+e^{-T/2\tau}} \] Then DC level is \[ A_\text{eff} = \frac{1}{T/2}\int_0^{T/2} V_o(t)dt = A\left(1-\frac{4\tau}{T}\cdot \frac{1-e^{-T/2\tau}}{1+e^{-T/2\tau}}\right)\approx A\left(1-\frac{4\tau}{T}\right) \]

where assuming \(\tau \ll T\)

REF. [https://raytroop.github.io/2023/01/01/insight/#rc-charge-discharge]


chopping_OTA_limitedBW.drawio

Residual Offset of Chopping

image-20240903222425730

assume input spikes can be expressed as \[ V_\text{spike}(t) = V_o e^{-\frac{t}{\tau}} \]

Then, residual offset is

\[\begin{align} \overline{V_\text{os}} &= \frac{2\int_0^{T_{ch}/2}V_\text{spike}(t)dt}{T_{ch}} \\ &= 2f_{ch}V_o\int_0^{T_{ch}/2} e^{-\frac{t}{\tau}}dt\\ &= 2f_{ch}V_o\tau\int_0^{T_{ch}/2\tau} e^{-\frac{t}{\tau}}d\frac{t}{\tau} \\ &\approx 2f_{ch}V_o\tau \end{align}\]

Ripple Cancellation after Chopping

On-chip analog filter is not good enough due to limited cutoff frequency

rippleCancel.drawio

at \(\Phi_+\) phase \[ \left\{ \begin{array}{cl} \Delta V_\text{os}[n] &= \frac{I_l[n]-I_r[n-1]}{G_m} \\ \left(I_0+\frac{V_\text{os0}-\Delta V_\text{os}[n]}{R_E}\right)\beta &= I_l[n]+I_r[n-1] \end{array} \right. \] Then \[ \left\{ \begin{array}{cl} I_r[n-1] &= \frac{-G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \\ I_l[n] &= \frac{G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \end{array} \right. \] at \(\Phi_-\) phase \[ \left\{ \begin{array}{cl} \Delta V_\text{os}[n] &= \frac{I_l[n-1]-I_r[n]}{G_m} \\ \left(I_0+\frac{-V_\text{os0}+\Delta V_\text{os}[n]}{R_E}\right)\beta &= I_l[n-1]+I_r[n] \end{array} \right. \] Then \[ \left\{ \begin{array}{cl} I_r[n] &= \frac{-G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \\ I_l[n-1] &= \frac{G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \end{array} \right. \] \(\Phi_+ \to \Phi_-\) state transformation \[ \left\{ \begin{array}{cl} I_r[n-1] &= \frac{-G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \\ I_l[n] &= \frac{G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \end{array} \right. \to \left\{ \begin{array}{cl} I_r[n+1] &= \frac{-G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n+1] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \\ I_l[n] &= \frac{G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n+1] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \end{array} \right. \] Two \(I_l[n]\) shall be equal, that is \[ \frac{G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 = \frac{G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n+1] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \] Rearrange the above equation \[ \Delta V_\text{os}[n+1] = \frac{G_mR_E-\beta}{G_mR_E+\beta}\Delta V_\text{os}[n] + \frac{2\beta}{G_mR_E+\beta}V_\text{os0} \] \(\Phi_- \to \Phi_+\) state transformation \[ \left\{ \begin{array}{cl} I_r[n] &= \frac{-G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \\ I_l[n-1] &= \frac{G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \end{array} \right. \to \left\{ \begin{array}{cl} I_r[n] &= \frac{-G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n+1] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \\ I_l[n+1] &= \frac{G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n+1] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \end{array} \right. \] Two \(I_r[n]\) shall be equal, that is \[ \frac{-G_mR_E+\beta}{2R_E}\cdot \Delta V_\text{os}[n] - \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 = \frac{-G_mR_E-\beta}{2R_E}\cdot \Delta V_\text{os}[n+1] + \frac{\beta}{2R_E}V_\text{os0}+\frac{\beta}{2}I_0 \] Rearrange the above equation \[ \Delta V_\text{os}[n+1] = \frac{G_mR_E-\beta}{G_mR_E+\beta}\Delta V_\text{os}[n] + \frac{2\beta}{G_mR_E+\beta}V_\text{os0} \]

Both State-transition equations are same \[ \Delta V_\text{os}[n+1] = \frac{G_mR_E-\beta}{G_mR_E+\beta}\Delta V_\text{os}[n] + \frac{2\beta}{G_mR_E+\beta}V_\text{os0} \] With geometric progression sum formula \[ \Delta V_\text{os}[n] = \left(\frac{G_mR_E-\beta}{G_mR_E+\beta}\right)^n\cdot \Delta V_\text{os}[0] + \left[1-\left(\frac{G_mR_E-\beta}{G_mR_E+\beta}\right)^n\right]\cdot V_\text{os0} \] during \(n \to \infty\) \[ \lim_{n\to \infty} \Delta V_\text{os}[n] = V_\text{os0} \] As expected \[ \lim_{n\to \infty} V_\text{os}[n] =\lim_{n\to \infty} V_\text{os0}-\Delta V_\text{os}[n] = 0 \]


Assuming that begainning from \(\Phi_+\) phase \[ \left\{ \begin{array}{cl} \Delta V_\text{os}[0] &= \frac{I_l[0]-I_r[-1]}{G_m} \\ \left(I_0+\frac{V_\text{os0}-\Delta V_\text{os}[0]}{R_E}\right)\beta &= I_l[0]+I_r[-1] \end{array} \right. \overset{\mathcal{I_r[-1]=0}}{\Longrightarrow} \Delta V_\text{os}[0]=\frac{(I_0R_E+V_\text{os0})\beta}{G_mR_E+\beta} \] With \(I_0=10\mu A\), \(R_E=5k \Omega\), \(V_\text{os0}=20mV\), \(G_m=500\mu S\), \(\beta=0.5\) \[ \left\{ \begin{array}{cl} \Delta V_\text{os}[0] &= 167mV \\ \frac{G_mR_E-\beta}{G_mR_E+\beta} &= 0.667 \end{array} \right. \]

image-20250803231213438

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DVos0 = 167;  % mV
Vos0 = 20; % mV
Rr = 0.667;

n = 1:1:50;
DVosn_DVos0 = Rr.^n*DVos0;
DVosn_Vos0 = (1-Rr.^n)*Vos0;
DVosn = DVosn_DVos0 + DVosn_Vos0;

plot(n, DVosn_DVos0,'--r', LineWidth=2);
hold on
plot(n, DVosn_Vos0, '--g', LineWidth=2);
plot(n, DVosn, 'b', LineWidth=3);
plot(-5:1:55, ones(1,61)*Vos0, '--k', LineWidth=2)

grid on;
xlim([-5, 55]);ylim([-5, 120]);
xlabel('n', FontSize=16); ylabel('mV', FontSize=16);
legend('$\Delta V_{os}[0]$ decaying','$V_{os0}$ decaying','$\Delta V_{os}[n]$', '$V_{os0}$', 'Interpreter','latex', fontsize=16)

reference

C. C. Enz and G. C. Temes, "Circuit techniques for reducing the effects of op-amp imperfections: autozeroing, correlated double sampling, and chopper stabilization," in Proceedings of the IEEE, vol. 84, no. 11, pp. 1584-1614, Nov. 1996, doi: 10.1109/5.542410. [http://www2.ing.unipi.it/~a008309/mat_stud/MIXED/archive/2019/Articles/Offset_canc_Enz_Temes_96.pdf]

R. Gregorian and G. C. Temes. Analog MOS Integrated Circuits for Signal Processing. Wiley-Interscience, 1986 [pdf]

Christian-Charles Enz. "High precision CMOS micropower amplifiers" [pdf]

Kofi Makinwa. Precision Analog Circuit Design: Coping with Variability, [https://youtu.be/nA_DZtRqrTQ] [https://youtu.be/uwRpP20Lprc]

Chung-chun Chen, Why Design Challenge in Chopping Offset & Flicker Noise? [https://youtu.be/ydjca2KrXgc]

—, Why Needs A Low Ripple after Chopping Amplifier for A Very Low DC Offset & Flicker Noise? [https://youtu.be/y7TzJtHE7IA]

Qinwen Fan, Evolution of precision amplifiers

Kofi Makinwa, ISSCC 2007 Dynamic-Offset Cancellation Techniques in CMOS [https://picture.iczhiku.com/resource/eetop/sYkywlkpwIQEKcxb.pdf]

Axel Thomsen, Silicon Laboratories ISSCC2012 T8: "Managing Offset and Flicker Noise" [slides,transcript]


CC Chen. Why Dynamic Offset or Mismatch Cancellation with Auto-zeroing Technique? [https://youtu.be/PQJwzd1tyO0]

—. Why Dynamic Offset or Mismatch Cancellation with Chopping Technique? [https://youtu.be/x5FS8jEKu_g]

—. Why Design Challenge in Chopping Offset & Flicker Noise? [https://youtu.be/ydjca2KrXgc]

—. Why Needs A Low Ripple after Chopping Amplifier for A Very Low DC Offset & Flicker Noise? [https://youtu.be/y7TzJtHE7IA]

Qinwen Fan, Kofi Makinwa. IEEE Sensors 2018: Capacitively-Coupled Chopper Instrumentation Amplifiers : an Overview [https://youtu.be/NoGHJfCFCks]

0%