PS and PSD

The spectral density format is appropriate for random or noise signals but inappropriate for discrete frequency components because the latter theoretically have zero bandwidth

Amplitude Correction

  1. A finite-duration window \(w[n]\)

    DTFT is \(W[e^{j\omega}]\) and the maximum magnitude is is at DC frequency, which \(\sum_n w_n\)

  2. Sinusoidal signal \(x[n]\)

    DFS is \(X_k\), and DTFT shall be \(\frac{2\pi}{N}X_k(e^{j\omega})\)

  3. the windowed sequence \(v[n] = x[n]w[n]\)

    with multiplication property, DTFT of \(v[n]\) shall be \(\frac{X_k(e^{j\omega})}{N}\sum_n w_n\)

    As we know, DFT of \(v[n]\) is samples of its DTFT, that is \[ \frac{X_k(e^{j\omega})}{N}\sum_n w_n = X_v[k] \] Therefore, \[ \frac{X_k(e^{j\omega})}{N} = \frac{X_v[k]}{\sum_n w_n} \]

Effective Noise BandWidth (ENBW)

General derivation

The relationship between a power spectrum (\(PS, V^2\)) and a power spectral density (\(PSD, V^2/Hz\)) is given by the effective noise bandwidth (ENBW), which can easily be determined at the time when the DFT is computed.

ENBW should always be recorded when a spectrum or spectral density is computed, such that the result can be converted to the other form at a later stage, when the information about the frequency resolution \(f_{res}\) and the window that was used is normally not easily available any more.

The normalized equivalent noise bandwidth (NENBW) of the window is given by

\[ \text{NENBW} = \frac{NS_2}{S_1^2} \] where \(S_1 = \sum _{k=0}^{N-1}w_k\) and \(S_2 = \sum _{k=0}^{N-1}w_k^2\)

The ENBW is given by

\[ \text{ENBW} = \text{NENBW}\cdot f_{res} = \text{NENBW}\cdot \frac{f_s}{N} = f_s\frac{S_2}{S_1^2} \]

Equivalent noise bandwidth (ENBW) compares a window to an ideal, rectangular time-window. It is the bandwidth of the rectangular window's frequency-domain shape that passes the same amount of white noise energy as the frequency-domain shape defined by the other window.

enbw

Therefore, the equivalent noise bandwidth \(B_{enbw}\) is given by

\[ B_{enbw} = \frac{\int_{-f}^{f} |W(f)|^2 df}{|W(f_0)|^2} \]

Translating to discrete domain, the equivalent noise bandwidth can be computed using DFT samples as

\[ B_{enbw} =\frac{\sum_{k=0}^{N-1}|W[k]|^2}{|W[k_0]|^2} \]

where \(k_0\) is the index at which the magnitude of FFT output is maximum and \(N\) is the window length, i.e. \(k_0=0\).

Applying Parseval's theorem and \(W[0]=\sum_{n}w[n]\), \(B_{enbw}\) can also be computed using time domain samples as

\[ B_{enbw} = N \frac{\sum_{n}|w[n]|^2}{ \left| \sum_{n} w[n] \right|^2} \]

scale \(w[n]\) don't change \(B_{enbw}\)

Noise power inside window: \(\int_{-f}^{f} |W(f)|^2 df \to N\cdot\sum_{n}|w[n]|^2\)

peak amplitude: \(|W(f_0)|^2 \to \left| \sum_{n} w[n] \right|^2\)

An alternative derivation

coherence-incoherence.drawio.svg

Assuming the windowed sequence \(v[n] = x[n]w[n]\)

  • \(W[k]\): Fourier Transform of finite sequence window

  • \(X_{sig}\): Fourier Transform of signal

  • \(X_{n}\): Fourier Transform of noise

  • \(X_{v,sig}\): Fourier Transform of windowed signal

  • \(X_{v,n}\): Fourier Transform of windowed noise

From Fig. 6,, we observe that the amplitude of the harmonic estimate at a given frequency is biased by the accumulated broad-band noise included in the bandwidth of the window.

image-20240517195407690

In this sense, the window behaves as a filter, gathering contributions for its estimate over its bandwidth

The Fourier Transform of windowed signal can be expressed as

\[\begin{align} X_{v,sig} &= W_{max}\cdot X_{sig} \\ &= W[0]\cdot X_{sig} \end{align}\]

For a typical window, \(W_{max}\) occurs at \(\omega = 0\)

And the Fourier Transform of windowed noise can be expressed as

\[ X_{v,n}^2 = \sum_k (W[k])^2 \cdot X_n^2 \]

divided by \((W[0])^2\) on both sides of the above equation

\[ \frac{X_{v,n}^2}{(W[0])^2} = \frac{\sum_k (W[k])^2}{(W[0])^2} \cdot X_n^2 \]

By Parseval's theorem

\[ \frac{X_{v,n}^2}{\left(\sum_n w[n]\right)^2} = \frac{N\sum_n w^2[n]}{\left(\sum_n w[n]\right)^2} \cdot X_n^2 \]

where \(X^2_n\) is what is deserved and

\[ X_n^2 = \frac{PS_{n}}{B_{enbw}} \]

where \(B_{enbw} = N \frac{\sum_{n}|w[n]|^2}{ \left| \sum_{n} w[n] \right|^2}\) and \(PS_{n}=\left| \frac{X_{v,n}}{\sum_n w[n]}\right|^2\)

code example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
lw = 128;
win = hann(lw);
lt = 2048;
windft = fftshift(fft(win,lt));

ad = abs(windft).^2;
mg = max(ad);

fs = 1000;

bw = enbw(win,fs);

bdef = sum((win).^2)/sum(win)^2*fs;
fprintf("bw: %.3f\n", bw);
fprintf("bdef: %.3f\n", bdef);

freq = -fs/2:fs/lt:fs/2-fs/lt;

plot(freq,ad, bw/2*[-1 -1 1 1],mg*[0 1 1 0],'--')
xlim(bw*[-1 1])

Adiff = trapz(freq,ad)-bw*mg;
fprintf("Adiff: %.3e\n", Adiff);

Verify that the area of the rectangle contains the same total power as the window.

1
Adiff = trapz(freq,ad)-bw*mg
output:
1
2
3
bw: 11.811
bdef: 11.811
Adiff: 7.276e-12

image-20230530230434715

Noise Floor

[http://individual.utoronto.ca/schreier/lectures/2015/1.pdf]

image-20241202212412428

General Formula

signal tone power \[ P_{\text{sig}} = 2 \frac{X_{w,sig}^2}{S_1^2} \]

noise power \[ P_n = \frac{X_{w,n}^2}{N\cdot S_2}N=\frac{X_{w,n}^2}{S_2} \]

where white noise, \(X_n(i) = X_n(j)\) for any \(i \neq j\)

Therefore, displayed SNR is obtained \[\begin{align} \mathrm{SNR} &= 10\log10\left(\frac{X_{w,sig}^2}{X_{w,n}^2}\right) \\ &= 10\log_{10}\left(\frac{P_{\text{sig}}}{P_n}\right) + 10\log_{10}\left(\frac{S_1^2}{2S_2}\right) \\ &= \mathrm{SNR}'-10\log_{10}\left(\frac{2S_2}{S_1^2}\right) \\ &= \mathrm{SNR}'-10\log_{10}(2\cdot\mathrm{NBW}) \end{align}\]

DFT's output \(\mathrm{SNR}\)

Rectangular Window

DFT bin's output noise standard deviation (rms) value is proportional to \(\sqrt{N}\), and the DFT's output magnitude for the bin containing the signal tone is proportional to \(N\)

signal tone power \[ P_{\text{sig}} = 2 \frac{X_{w,sig}^2}{N^2} \]

noise power \[ P_n = \frac{X_{w,n}^2}{N} \]

The displayed SNR \[ \mathrm{SNR} = \mathrm{SNR}' - 10\log_{10}(2/N) \] If we increase a DFT's size from \(N\) to \(2N\), the DFT's output SNR increased by 3dB. So we say that a DFT's processing gain increases by 3dB whenever \(N\) is doubled.


1
2
3
4
5
6
for N=[2^6 2^8 2^10 2^12]
wd = rectwin(N);
nbw = enbw(wd)/N;
snr_shift = 10*log10(nbw * 2);
disp(snr_shift);
end

output:

1
2
3
4
5
6
7
-15.0515

-21.0721

-27.0927

-33.1133

image-20241202212221239

image-20241202213152360

How spectrum analyzer work?

We tried to plot a power spectral density together with something that we want to interpret as a power spectrum

  • spectrum of a periodic signal
  • spectral density of a broadband signal such as noise

Sine-wave components are located in individual FFT bins, but broadband signals like noise have their power spread over all FFT bins!

The noise floor depends on the length of the FFT

Nonzero FFT bins

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

The problem with sine-wave scaling is that the noise power is, on average, evenly distributed over all FFT bins, whereas the sine-wave power is concentrated in only a few bins. With sine-wave scaling, the power of individual sine-wave components can be read directly from the spectral plot, but in order to determine the noise power, the powers of all the noise bins must be added together.

snr_final.drawio

We can't use Fourier transform of random signal

[https://raytroop.github.io/2023/11/10/random/#lti-systems-on-wss-processes]

\[\begin{align} \mathrm{SNR} &= \frac{X_\text{sig}^2}{X_\text{n}^2N} \\ &= \frac{X_\text{sig}^2\cdot \sum_k W_k^2}{X_\text{n}^2N\cdot \sum_k W_k^2} \\ &= \frac{\sum_\text{nb} X_\text{w,sig}^2}{N X_\text{w,n}^2} \end{align}\]

The number of nonzero signal bins for the Hann window is \(\mathrm{nb} = 3\)

image-20240522213736493

where \(\mathrm{NBW} = \frac{\sum_{n}|w[n]|^2}{ \left| \sum_{n} w[n] \right|^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
% excerpt of A.4 An Example in Pavan, Schreier and Temes, "Understanding Delta-Sigma Data Converters, Second Edition" ISBN 978-1-119-25827-8
%
% Compute modulator output and actual NTF
%
OSR = 32;
ntf0 = synthesizeNTF(5,OSR,1);
N = 64*OSR;
fbin = 11;
u = 1/2*sin(2*pi*fbin/N*[0:N-1]);
[v tmp1 tmp2 y] = simulateDSM(u,ntf0);
k = mean(abs(y)/mean(y.^2))
ntf = ntf0 / (k + (1-k)*ntf0);
%
% Compute windowed FFT and NBW
%
w = hann(N); % or ones(1,N) or hann(N).^2
nb = 3; % 1 for Rect; 5 for Hann^2
w1 = norm(w,1);
w2 = norm(w,2);
NBW = (w2/w1)^2
V = fft(w.*v)/(w1/2);
%
% Compute SNR
%
signal_bins = fbin + [-(nb-1)/2:(nb-1)/2];
inband_bins = 0:N/(2*OSR);
noise_bins = setdiff(inband_bins,signal_bins);
snr = dbp(sum(abs(V(signal_bins+1)).^2)/sum(abs(V(noise_bins+1)).^2))

demo

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
%https://aaronscher.com/Course_materials/Communication_Systems/documents/PSD_Autocorrelation_Noise.pdf

%Clear variables. clear command window, close all figures:
clc;
clear all;
close all;
%%%Setup and define variables
f0=10; %frequency of sinusoidal signal (Hz)
fs=100; %sampling frequency (Hz)
Ts=1/fs; %sampling period (seconds)
N0=3000; %number of samples
t=[0:Ts:Ts*(N0-1)]; %Sample times
noise_PSD=.5; %This is the desired noise power spectral density in W/Hz.
variance=noise_PSD*fs;% Variance = sigma^2
sigma=sqrt(variance);
noise=transpose(sigma*randn(N0,1));%create sampled white Gaussian noise.
xsignal=20*sin(2*pi*f0*t); %create sampled sinusoidal signal
x=xsignal+noise; %Add signal to noise
figure(1)
histogram(noise,30) %plot histogram
set(gca,'FontSize',14) %set font size of axis tick labels to 18
xlabel('Noise amplitude','fontsize',14)
ylabel('Frequency of occurance','fontsize',14)
title('Simulated histogram of white Gaussian noise','fontsize',14)
SNR_try1=snr(xsignal,noise); %calculate SNR using built in "snr" function.
SNR_try2=10*log10(sum(xsignal.^2)/sum(noise.^2)); %manually calculate SNR.
%If everything is correct, the two SNR calculations above should agree.
%Plot noise in time-domain
figure(2)
plot(t,x)
set(gca,'FontSize',14) %set font size of axis tick labels to 18
xlabel('Time (s)','fontsize',14)
ylabel('Amplitude','fontsize',14)
title('Noisey sinusoid','fontsize',14)
grid on
%Plot power spectral density (PSD) of noise using three different methods:
%
%Method 1. Calcululate PSD from amplitude spectrum
N=2^16; %Number of discrete points in the FFT
y=fft(x,N)/fs; %fft of noise
z=fftshift(y);%center noise spectrum
f_vec=[0:1:N-1]*fs/N-fs/2; %designate sample frequencies
amplitude_spectrum=abs(z); %compute two-sided amplitude spectrum
ESD1=amplitude_spectrum.^2; %ESD = |F(w)|^2;
PSD1=ESD1/((N0-1)*Ts);% PSD=ESD/T where T = total time of sample
figure(3)
plot(f_vec,10*log10(PSD1));
xlabel('Frequency [Hz]','fontsize',14)
ylabel('dB/Hz','fontsize',14)
title('Power spectral density - method 1','fontsize',14)
grid on
set(gcf,'color','w'); %set background color from grey (default) to white
axis tight
%calculate average power using PSD calclated from method 1:
Average_power_method_1=sum(PSD1)*fs/N; % Pav=sum(PSD)*delta_f where delta_f=fs/N;
%
%Method 2 - Calculate PSD from autocorrelation
time_lag=((-length(x)+1):1:(length(x)-1))*Ts;
auto_cor=xcorr(x,x)/fs; %Use xcorr function to find PSD
y=1/fs*fft(auto_cor,N); %fft of auto correlation function
PSD2=abs(1/(N0-1)*fftshift(fft(auto_cor,N)));
figure(4)
plot(f_vec,10*log10(PSD2));%use convolution
xlabel('Frequency [Hz]','fontsize',14)
ylabel('dB/Hz','fontsize',14)
title('Power spectral density - method 2','fontsize',14)
grid on
set(gcf,'color','w'); %set background color from grey (default) to white
axis tight
%calculate average power using PSD calclated from method 1:
Average_power_method_2=sum(PSD2)*fs/N; %Pav=sum(PSD)*delta_f where delta_f=fs/N;
%
%Method 3 - Calculate PSD using built in pwelch function
figure(5)
PSD3=periodogram(x,[],N,fs,'centered');
plot(10*log10(PSD3))
xlabel('Frequency [Hz]','fontsize',14)
ylabel('dB/Hz','fontsize',14)
title('Power spectral density - method 3','fontsize',14)
grid on
set(gcf,'color','w'); %set background color from grey (default) to white
axis tight
Average_power_method_3=sum(PSD3)*fs/N; %Pav=sum(PSD)*delta_f where delta_f=fs/N;
%
%Calculate mean and average PSD of noise:
PSD_noise=periodogram(noise,[],N,fs,'centered');
Average_noise_PSD=mean(PSD_noise);
Mean_noise=mean(noise);

image-20230531004822838

image-20230531005008418

The power spectral density plots for methods 2 and 3 exactly match that for method 1 (shown above).

reference

enbw Matlab URL:https://www.mathworks.com/help/signal/ref/enbw.html

1
2
3
4
5
6
7
N = 256;
wn = hanning(N);
s1 = sum(wn)^2;
s2 = sum(wn.^2);

(N*s2)/s1
enbw(wn)
1
2
3
4
5
6
7
8
ans =

1.4942


ans =

1.4942

Schmid, H. (2012). How to use the FFT and Matlab's pwelch function for signal and noise simulations and measurements. URL:http://www.schmid-werren.ch/hanspeter/publications/2012fftnoise.pdf

Bonnie C.Baker. Reading and Using Fast Fourier Transforms (FFT) URL:http://ww1.microchip.com/downloads/en/appnotes/00681a.pdf

FFT analysis: SNR and Noise level vary with FFT Window size URL:https://www.virtins.com/forum/viewtopic.php?f=7&t=1382

Lyons, R. G. (2011). Understanding digital signal processing (3rd ed.). Prentice Hall

Stefan Scholl, "Exact Signal Measurements using FFT Analysis",Microelectronic Systems Design Research Group, TU Kaiserslautern, Germany. [pdf]

Aaron Scher. PSD, Autocorrelation, and Noise in MATLAB [pdf]

Aaron Scher. FFT, total energy, and energy spectral density computations in MATLAB [pdf]

Amplitude Estimation and Zero Padding URL:https://www.mathworks.com/help/signal/ug/amplitude-estimation-and-zero-padding.html

Harris, F. (1978). On the use of windows for harmonic analysis with the discrete Fourier transform. Proceedings of the IEEE, 66, 51-83. [pdf]

Harris, F. J. . (1976). Windows, harmonic analysis and the discrete fourier transform. [pdf]

Wang Hongwei. Virtins. Evaluation of Various Window Functions using Multi-Instrument [pdf]

Properties of FFT Windows Used in Stable32 [pdf]

Solomon, Jr, O M. PSD computations using Welch's method. [Power Spectral Density (PSD)]. United States. https://doi.org/10.2172/5688766 [pdf]

Measure Power of Deterministic Periodic Signals [https://www.mathworks.com/help/signal/ug/measuring-the-power-of-deterministic-periodic-signals.html]

Mathuranathan. Equivalent noise bandwidth (ENBW) of window functions. [https://www.gaussianwaves.com/2020/09/equivalent-noise-bandwidth-enbw-of-window-functions/]

recordingblogs, Equivalent noise bandwidth [https://www.recordingblogs.com/wiki/equivalent-noise-bandwidth]

unpingco, Python for Signal Processing [https://github.com/unpingco/Python-for-Signal-Processing/blob/master/Windowing_Part2.ipynb]

Pavan, Schreier and Temes, "Understanding Delta-Sigma Data Converters, Second Edition" ISBN 978-1-119-25827-8

A finite-length data record = an infinite record multiplied by a rectangular window

Windowing is unavoidable


Applying the Hanning window (or any window) to a periodic signal creates leakage.

leakage:

​ The component at one frequency leaks into the vicinity of another compnent owing to the spectral smearing introdued by window.

Notice side lobes adding out of phase can reduce the heights of the peaks

Windowed Signal

Short transient signals in the time domain produce high, broadband frequency content.

sharpTransient

To reduce leakage, a mathematical function called a window is applied to the data. Windows are designed to reduce the sharp transient in the re-created signal as much as possible.

windowedsignal

Because the sharp transients are reduced and smoothed, the broadband frequency of the spectral leakage is also reduced.

Periodic versus Non-Periodic Background

When performing a Fourier Transform on measurement data, a window affects periodic and non-periodic data differently:

  • Periodic (No Window needed): A signal captured in a periodic manner does not require a window, and a resulting Fourier Transform has no leakage. Applying a window alters the resulting Fourier transform, and even creates spectral leakage where there would have been no leakage otherwise.

  • Non-periodic (Window needed): Windows are used on signals that are captured in a non-periodic manner to reduce spectral leakage and get closer to the periodic results. A window can minimize the leakage present in a non-periodic signal, but cannot eliminate it.

The signal is repeated and appended mathematically because the measured data is assumed to be representative of the entire original signal

Periodic

When a measurement signal is captured in a periodic manner, the Fourier Transform of the captured signal will have no leakage in the frequency domain.

A window is not recommended for a periodic signal as it will distort the signal in an unnecessary manner, and actually creates spectral leakage.

captured-periodic

Non-periodic

The same sine wave, with a different measurement time, results in a non-periodic captured signal. Here, when the captured signal is repeated, the original sine wave signal is not re-created.

captured-nonperiodic

In fact, several broadband transient events (circled in red) are introduced. These transients create a broadband response, or leakage.

Windows are used to minimize this leakage effect in the frequency domain.

leakage-vs-nonleakage

Hanning

When doing operational noise and vibration measurements, the Hanning window is commonly used.

Random data has spectral leakage due to the abrupt cutoff at the beginning and end of the time block. It is non-periodic.

There is no way to ensure that the captured random signal is periodic by varying the measurement time.

Hanning windows are often used with random data because they have moderate impact on the frequency resolution and amplitude accuracy of the resulting frequency spectrum.

  • The maximum amplitude error of a Hanning window is 15%

    In the cited article, all spectral data had an amplitude correction factor applied.

  • while the frequency leakage is typically confined to 1.5 spectral lines to each side of the original sine wave signal

hanning.png

periodic signal

Applying the Hanning window (or any window) to a periodic signal creates leakage.

hanning-periodicsignal

The periodically captured sine wave with the Hanning window (blue) is wider in frequency than the original signal (red)

In the figure, the sine wave with the Hanning window (blue) is wider in frequency than the original signal (red).

non-periodic signal

When a Hanning window is applied to a non-periodic signal, the leakage is greatly reduced and the amplitude is higher.

hanning-nonperiodicsignal

A non-periodically captured sine wave (magenta) has a spectral leakage over the entire bandwidth, applying a Hanning window minimized the leakage (green)

RMS calculation

A RMS calculation sums up the energy within a frequency range.

rms-cal

  • both the RMS of the periodic and non-periodic signals with a Hanning window are equal to the RMS of the leakage-free sine wave.

  • Only the RMS of the non-periodic sine wave without a window applied is not equal to the others

With the leakage spread over a smaller frequency range, doing analysis calculations like RMS yields more accurate results.

Flattop

  • The Flattop window has a better amplitude accuracy in frequency domain compared to the Hanning window,

    The maximum amplitude error of a Flattop window is less than 0.01%. By contrast, the Hanning window maximum amplitude error is 15%.

  • A Flattop window confines leakage to 3.43 spectral lines to each side of the original signal.

amplitude errors

These maximum amplitude errors assume that amplitude correction factors are applied to the frequency spectrums. These amplitude correction factors compensate for any reduction caused by applying a window.

flattop-amplitude

leakage

The frequency accuracy of the Flattop window is more coarse compared to a Hanning window. As a result, the Flattop window is typically employed on data where frequency peaks are distinct and well separated from each other.

flattop-leakage

When the frequency peaks are not guaranteed to be well separated, the Hanning window is preferred because it is less likely to cause individual peaks to be lost in the spectrum

flattop-2tone

Spectrum of two periodically captured tones that are \(4Hz\) apart with a \(1Hz\) frequency resolution. The spectrum with a Hanning window (green) shows two peaks while the spectrum with a Flattop window (blue) shows one peak.

Note that at the original frequencies of the tones the amplitude is correct and equal to one for both windows.

One common application for a flattop window is performing calibration. For example, a sound pistonphone only produces one single and distinct frequency during microphone calibration.

Uniform

A Uniform window has a value of 1.0 across the entire measurement time. In reality, a Uniform window could be called no window.

Depending on the data acquisition system used, sometimes the term Rectangular window is also used.

  • A Uniform window creates no frequency or amplitude distortion when the measured signal is periodic.

  • When a measured signal is not periodic, the amplitude is reduced by a maximum of 36% and the frequency content is spread over the entire bandwidth of the measurement.

    This is due to sharp transients that are created by repeating and appending the measured signal.

Whenever a measurement signal is periodic, a Uniform window is preferred.

Applying a Hanning or Flattop window to a periodic signal will actually create amplitude and frequency distortion.

uniformwindow

Benefit of Reducing Leakage

The benefit is not that the captured signal is perfectly replicated.

The main benefit is that the leakage is now confined over a smaller frequency range, instead of affecting the entire frequency bandwidth of the measurement.

With the leakage spread over a smaller frequency range, doing analysis calculations like RMS yields more accurate results.

rms-windowed

It is impossible to calculate the proper RMS amplitude estimate over a limited frequency range of the un-windowed sine wave, since the leakage is over the full frequency range. Therefore the RMS amplitude is not correct.

Two tones

In the case of two closely spaced sine tones, without a window being applied, two tones frequencies would leak into each other, which make determining the true amplitude of individual peaks very difficult.

The window makes it easier to separate and distinguish each tone so a proper analysis could be performed.

windowed-2tone

window function in frequency domain

The transfer function \(a(f)\) of a window \(w_j, j \in [0, N-1]\) expresses the response of the window to a sinusoidal signal at an offset of \(f\) frequency bins, i.e. DFT .

real part: \[ a_r(f)=\sum_{j=0}^{N-1}w_j\cos (2\pi f j/N) \]

imaginary part: \[ a_i(f)=\sum_{j=0}^{N-1}w_j\sin (2\pi f j/N) \]

frequency response can be obtained as \[ a(f) = \frac{\sqrt{a_r^2+a_i^2}}{S_1} \] where \(S_1 = \sum _{k=0}^{N-1}w_k\)

rectangle window example

aka. Uniform window, "Rectangular" window, "no window"

Whenever a measurement signal is periodic, a Uniform window is preferred. Applying a Hanning or Flattop window to a periodic signal will actually create amplitude and frequency distortion.

  1. When \(f=0\)

\[ a_r(f) + ja_i(f) = \sum_{k=0}^{N-1}w_k = N \]

  1. When \(f \neq 0\)

\[\begin{align} a_r(f) + ja_i(f) &= \sum_{k=0}^{N-1} e^{\frac{j2\pi k f}{N}} \\ &= \sum_{k=0}^{N/2} e^{\frac{j2\pi k f}{N}} + e^{\frac{j2\pi (k+N/2) f}{N}} \\ &= \sum_{k=0}^{N/2} e^{\frac{j2\pi k f}{N}} + e^{j\pi} e^{\frac{j2\pi k f}{N}} \\ &= \sum_{k=0}^{N/2} e^{\frac{j2\pi k f}{N}} - e^{\frac{j2\pi k f}{N}} \\ &= 0 \end{align}\]

A Uniform window creates no frequency or amplitude distortion when the measured signal is periodic.

However, if the signal cannot be guaranteed to be periodic, a Uniform window should be avoided.

Window Properties

There is no possibility of trade-off between main-lobe width and sied-lobe amplitude, since the window length is the only variable parameter.

The rectangular window has the narrowest main lobe for a given length, i.e. \(\Delta _{ml}=4\pi/L\)

Other windows include the Bartlett, Hann, and Hamming windows. The DTFTs of all these windows have main-lobe width \(\Delta _{ml}=8\pi/(L-1)\), which is approximately twice that of the rectangular window, but they have significantly smaller side-lobe amplitudes.

Demo

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
clc;
clear all;

N = 512;
fs = 40*1e3; % 40kHz
fres = fs/N; % 78.125
tt = (0:N-1)*1/fs;
ff = (0:N/2)*fres;
fin = 390.625;

whan = hanning(N); % hanning window
wrect = rectwin(N); % rect window


% fin/fs = 5/N, periodically captured sine wave
wv = cos(2*pi*fin*tt);
power = periodogram(wv, whan, N, fs, 'power');
X = (power).^0.5*2^0.5;
psd = periodogram(wv, whan, N, fs, 'psd');
rms = sum(psd*fres)^0.5;
fprintf('RMS@periodic & hanning: %.5f\n', rms);

power_rect = periodogram(wv, wrect, N, fs, 'power');
X_rect = (power_rect).^0.5*2^0.5;
psd_rect = periodogram(wv, wrect, N, fs, 'psd');
rms_rect = sum(psd_rect*fres)^0.5;
fprintf('RMS@periodic & rect: %.5f\n', rms_rect);


figure(1)
plot(ff, X, 'r-o', ff, X_rect, 'b-s');
xlabel('Frequency(Hz)');
ylabel('|X|')
title('Amplitude spectrum of periodically captured sine wave');
legend('w/ hanning', 'w/ rect');
grid on
grid minor
% rectangular window provide higher frequency resolution
% hanning window induce leakage for the periodically captured sine wave



% fin - 0.5fres
fin_lkg0d5 = fin - 0.5*fres;
wv_lkg0d5 = cos(2*pi*fin_lkg0d5*tt);
power_lkg0d5 = periodogram(wv_lkg0d5, whan, N, fs, 'power');
X_lkg0d5 = (power_lkg0d5).^0.5*2^0.5;
psd_lkg0d5 = periodogram(wv_lkg0d5, whan, N, fs, 'psd');
rms_lkg0d5 = sum(psd_lkg0d5*fres)^0.5;
fprintf('RMS@-0.5fres & hanning: %.5f\n', rms_lkg0d5);

power_lkg0d5_rect = periodogram(wv_lkg0d5, wrect, N, fs, 'power');
X_lkg0d5_rect = (power_lkg0d5_rect).^0.5*2^0.5;
psd_lkg0d5_rect = periodogram(wv_lkg0d5, wrect, N, fs, 'psd');
rms_lkg0d5_rect = sum(psd_lkg0d5_rect*fres)^0.5;
fprintf('RMS@-0.5fres & rect: %.5f\n', rms_lkg0d5_rect);

figure(2)
plot(ff, X_lkg0d5, 'r-o', ff, X_lkg0d5_rect, 'b-s');
xlabel('Frequency(Hz)');
ylabel('|X|')
title('Amplitude spectrum of -0.5fres');
legend('w/ hanning', 'w/ rect');
grid on
grid minor
% hanning reduce leakage and max amplitude error 15%



% fin - 0.25fres
fin_lkg0d25 = fin - 0.25*fres;
wv_lkg0d25 = cos(2*pi*fin_lkg0d25*tt);
power_lkg0d25 = periodogram(wv_lkg0d25, whan, N, fs, 'power');
X_lkg0d25 = (power_lkg0d25).^0.5*2^0.5;
psd_lkg0d25 = periodogram(wv_lkg0d25, whan, N, fs, 'psd');
rms_lkg0d25 = sum(psd_lkg0d25*fres)^0.5;
fprintf('RMS@-0.25fres & hanning: %.5f\n', rms_lkg0d25);

power_lkg0d25_rect = periodogram(wv_lkg0d25, wrect, N, fs, 'power');
X_lkg0d25_rect = (power_lkg0d25_rect).^0.5*2^0.5;
psd_lkg0d25_rect = periodogram(wv_lkg0d25, wrect, N, fs, 'psd');
rms_lkg0d25_rect = sum(psd_lkg0d25_rect*fres)^0.5;
fprintf('RMS@-0.25fres & rect: %.5f\n', rms_lkg0d25_rect);

figure(3)
plot(ff, X_lkg0d25, 'r-o', ff, X_lkg0d25_rect, 'b-s');
xlabel('Frequency(Hz)');
ylabel('|X|')
title('Amplitude spectrum of -0.25fres');
legend('w/ hanning', 'w/ rect');
grid on
grid minor
% hanning reduce leakage

output

1
2
3
4
5
6
RMS@periodic & hanning: 0.70711
RMS@periodic & rect: 0.70711
RMS@-0.5fres & hanning: 0.70711
RMS@-0.5fres & rect: 0.70711
RMS@-0.25fres & hanning: 0.70711
RMS@-0.25fres & rect: 0.70780

image-20230526005823613

rectangular window provide higher frequency resolution

image-20230526005934411

hanning reduce leakage and max amplitude error 15%

image-20230526010047826

hanning reduce leakage and reduce amplitude error

reference

Windows and Spectral Leakage. URL:https://community.sw.siemens.com/s/article/windows-and-spectral-leakage

Article (20416822) Title: How to Utilize a Windowing Technique for Accurate DFT URL: https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od000000050UrEAI

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

Window Types: Hanning, Flattop, Uniform, Tukey, and Exponential URL:https://community.sw.siemens.com/s/article/window-types-hanning-flattop-uniform-tukey-and-exponential

Window Correction Factors URL:https://community.sw.siemens.com/s/article/window-correction-factors

Root Mean Square (RMS) and Overall Level. URL:https://community.sw.siemens.com/s/article/root-mean-square-rms-and-overall-level

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

Stefan Scholl, "Exact Signal Measurements using FFT Analysis",Microelectronic Systems Design Research Group, TU Kaiserslautern, Germany. [ pdf ]

Harris, F. (1978). On the use of windows for harmonic analysis with the discrete Fourier transform. Proceedings of the IEEE, 66, 51-83. [pdf]

Equivalent noise bandwidth (ENBW) of window functions URL:https://www.gaussianwaves.com/2020/09/equivalent-noise-bandwidth-enbw-of-window-functions/

Why should I zero-pad a signal before taking the Fourier transform? URL:https://dsp.stackexchange.com/q/741

enbw function in MATLAB URL:https://www.mathworks.com/help/signal/ref/enbw.html

Window function – figure of merits URL:https://www.gaussianwaves.com/2020/09/window-function-figure-of-merits/

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

Jens Ahrens, "Some Notes on Windows in Spectral Analysis," Tech. Report, Chalmers Univeristy of Technology, 2020. URL:https://appliedacousticschalmers.github.io/scaling-of-the-dft/notes_on_windows/

Traditional RC Corners

image-20230511232521956

DPT effect

When using two masks per layer (Double Patterning Technology, DPT) there is an issue of mask alignment where any mis-alignment will cause layer spacing values to change, therefore changing the parasitic coupling capacitance values.

Misalignment scale and direction are not deterministic facts: coupling cap and total cap may be increased or decreased.

Five new corners are added in a DPT flow to account for RC variations accurately:

sapced-dependent side-wall dielectric constant also affect coupling cap

and CC_worst means to increase both K1 and K2

CC_best means to decrease both K1 and K2

  • Setup time sign-off would use:

    Cworst_CCworst / RCworst_CCworst

  • Hold time sign-off would use:

    Cbest_CCbest / RCbest_CCbest / Cworst_CCworst / RCworst_CCworst

image-20230416143108231

Signoff corner

with misalignment effect without misalignment effect
cworst_CCworst, cworst_CCworst_T cworst, cworst_T
cbest_CCbest, cbest_CCbest_T cbest, cbest_T
rcworst_CCworst, rcworst_CCworst_T rcworst, rcworst_T
rcbest_CCbest, rcbest_CCbest_T rcbest, rcbest_T

BEOL Target: typical

The recommended RC corner:

cworst_CCworst, cbest_CCbest, rcworst_CCworst, rcbest_CCbest and typical

The others are for pre-color RC calculation purpose

**_T** stands for "Tighten DPT corner"; these are less pessimistic 1.5 sigma corners

image-20230513001426737

tmp_fohu0q4

Below table is caputre of Aragio's TSMC16: LVDS datasheet

image-20230416130433181

BEOL corner

image-20230416144136870

Spacing variation is implicitly defined by \(\Delta W_m\).

We denote the conductor width and thickness of the layer m by \(W_m\) and \(T_m\), respectively.

Similarly, we denote the thickness of the layer's interlayer dielectric (i.e., the distance between layer m and layer m +1) by \(H_m\)

  • C-based means worst and best caps
  • RC-based means worst and best R in adjustment with C (RC product)

Based on experience, it was found that C-based extraction provides worst and best case over RC for internal timing paths because Capacitance dominates short wire.

However, for large design, inter-block timing paths were often worst with RC worst parasitic since R dominates for long wires.

image-20230416155654008

signoff corners for setup and hold

tmpwlgwrlq0

reference

Modeling Sub-90nm On-Chip Variation Using Monte Carlo Method for DFM https://www.aspdac.com/aspdac2007/pdf/archive/2D-1.pdf

Double Patterning for IC Design, Extraction and Signoff https://semiwiki.com/eda/synopsys/1974-double-patterning-for-ic-design-extraction-and-signoff/

抽刀断水水更流,RC Corner不再愁:STA之RC Corner URL: http://mp.weixin.qq.com/s?__biz=MzUzODczODg2NQ==&mid=2247484115&idx=1&sn=de99f27aadf58ea316c284dad9000b7c&chksm=fad26b0dcda5e21b8c9750f738b55053f695843a66c3c202ff0ba586c738f45aa270254c3722&scene=21#wechat_redirect

一曲新词酒一杯,RC Corner继续飞: STA之RC Corner拾遗 URL:https://mp.weixin.qq.com/s?__biz=MzUzODczODg2NQ==&mid=2247484135&idx=2&sn=bddc632850bd10c32b5688fd7af46218&chksm=fad26b39cda5e22f1c3970f8c8c2e1287c9492c526c4caf02b61f61faffdf829381c392d6ea1&scene=21#wechat_redirect

且将新火试新茶,深究趁年华:STA之RC Corner再论 URL:https://mp.weixin.qq.com/s?__biz=MzUzODczODg2NQ==&mid=2247484144&idx=1&sn=059843381e77cd4008d25166db388d02&chksm=fad26b2ecda5e23816b33b3a949f34d4ca09118bad76f1089dfcb228b7da6491f423a5f4e703&cur_album_id=1326356275000705025&scene=189#wechat_redirect

LDP_IN_800_25V_DN: 1.2GHz LVDS Receiver http://aragiosolutions.com/pdf/rgo_tsmc16_18v25_lvds_product_brief_rev_1a.pdf

Parasitic extraction technologies Advanced node and 3D-IC design https://static.sw.cdn.siemens.com/siemens-disw-assets/public/81845/en-US/Siemens-SW-Parasitic-extraction-technologies-for-advanced-WP-81845-C2.pdf

New Game, New Goal Posts: A Recent History of Timing Closure https://pdfs.semanticscholar.org/9360/5ce48f9bd3b7527ae8979f41a9c7e310efa4.pdf

The Evolution, Pitfalls, and Cargo Cult Engineering of Advanced Digital Timing Sign-off https://www.tauworkshop.com/2021/speaker_slides/christian_l.pdf

T. -B. Chan, S. Dobre and A. B. Kahng, "Improved signoff methodology with tightened BEOL corners," 2014 IEEE 32nd International Conference on Computer Design (ICCD), Seoul, Korea (South), 2014, pp. 311-316, doi: 10.1109/ICCD.2014.6974699.

Chan, T. (2014). Mitigation of Variability and Reliability Margins in IC Implementation /. UC San Diego. ProQuest ID: Chan_ucsd_0033D_14269. Merritt ID: ark:/20775/bb52916761. Retrieved from https://escholarship.org/uc/item/35r1m001

Dr. Adam Temanm, Digital VLSI Design:Lecture 10: Routing https://www.eng.biu.ac.il/temanad/files/2017/02/Lecture-10-Routing.pdf

Article (20487193) Title: Setting Pegasus - LVS to Quantus av_extracted view Flow with TSMC16 packages URL: https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009MprZUAS

Clock Gating is defined as: "Clock gating is a technique/methodology to turn off the clock to certain parts of the digital design when not needed".

Clock Gating Overview

AND gate-based clock gating

In simplest form a clock gating can be achieved by using an AND gate as shown in picture below

clock gating

However, this simplest form of clock gating technique has some problem of generating glitches in the clock provide to the FF, which are not desirable.

img

Glitches in enable/gated clock

Latch based clock gating

These glitches can be removed by introducing a negative edge triggered FF (assuming downstream FFs are positive edge) or low-level sensitive latch at the output of the clock enable signal.

clock gating

This will make sure that any glitch in the clock enable signal will not be visible to the gated clock output. The Latch output will only be updated during the negative clock cycle and thus input to AND gate will be stable high.

clock gating

Glitch Free Gated Clock

reference

The Ultimate Guide to Clock Gating https://anysilicon.com/the-ultimate-guide-to-clock-gating/

To preserve the hand-instantiated cells

1
set_dont_touch [get_cells -hierarchical *dont_touch_*]

The instances whose name contain "dont_touch_" shall be preserved during synthesis

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
// no performace concerns, rest sync use sync3 is enough

module CN_resetb_sync_cell
(
input resetb_in,
input clkdst,
output resetb_out
);

`ifdef USE_VERILOG
reg [2:0] resetb_dly;
`else
wire [2:0] resetb_dly;
`endif

`ifdef USE_VERILOG
always @(posedge clkdst or negedge resetb_in)
if (~resetb_in) resetb_dly <= 3'b000;
else resetb_dly <= {resetb_dly[1:0], 1'b1};
`else
SDFCNQD4 dont_touch_sync_flop0 (
.SI(1'b0),
.SE(1'b0),
.CP(clkdst),
.CDN(resetb_in),
.D(1'b1),
.Q(resetb_dly[0])
);
SDFCNQD4 dont_touch_sync_flop1 (
.SI(1'b0),
.SE(1'b0),
.CP(clkdst),
.CDN(resetb_in),
.D(resetb_dly[0]),
.Q(resetb_dly[1])
);
SDFCNQD4 dont_touch_sync_flop2 (
.SI(1'b0),
.SE(1'b0),
.CP(clkdst),
.CDN(resetb_in),
.D(resetb_dly[1]),
.Q(resetb_dly[2])
);
`endif

assign resetb_out = resetb_dly[2];

endmodule

Generic circuit in textbook

In addition to lowering the required capacitor value, Miller compensation entails a very important property: it moves the output pole away from the origin. This effect is called pole splitting

image-20230103223438823

The 1st stage is replaced with Thevenin equivalent circuit , \(V_i \cong V_i \cdot g_{m1}R_{o1}\)

\[\begin{align} \frac{V_i-V_{o1}}{R_{o1}} &= V_{o1}\cdot sC_{o1}+(V_{o1}-V_o)\cdot sC_c \\ V_{o1} &= \frac{V_i+sR_{o1}C_cV_o}{1+sR_{o1}(C_{o1}+C_c)} \end{align}\] \[ (V_{o1}-V_o)sC_c=g_{m2}V_{o1}+V_o(\frac{1}{R_{o2}+sC_L}) \] substitute \(V_{o1}\), we get

\[\begin{align} \frac{V_o}{V_i} &= \frac{(sC_c-g_{m2})R_{o2}}{s^2R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)+s\left\{ R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c) \right\} +1} \\ &= \frac{g_{m2}R_{o2}(s\frac{C_c}{g_{m2}}-1)}{s^2R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)+s\left\{ R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c) \right\} +1} \end{align}\]

left hand plane poles

\[\begin{align} \omega_1 &= \frac{1}{R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c)} \\ \omega_2 &= \frac{R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c)}{R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)} \end{align}\]

and RHP (right-hand plane) zero \[ \omega_z=\frac{g_{m2}}{C_c} \]

The circuit with series switch

image-20230103230122637

replace \(sC_L\) with \(1/(R_{sw}+\frac{1}{sC_L})\) \[\begin{align} \frac{V_{o2}}{V_i} &= \frac{g_{m2}R_{o2}(s\frac{C_c}{g_{m2}}-1)(1+sR_{sw}C_L)}{s^3R_{o1}R_{o2}R_{sw}C_{o1}C_cC_L+s^2\left\{R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)+ \left[ R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+0)+R_{o1}(C_{o1}+C_c)\right]R_{sw}C_L \right\}+s\left\{ R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c) +R_{sw}C_L\right\} +1} \end{align}\] Due to \[ \frac{V_o}{V_{o2}} = \frac{\frac{1}{sC_L}}{R_{sw}+\frac{1}{sC_L}}=\frac{1}{1+sR_{sw}C_L} \] Then \[\begin{align} \frac{V_o}{V_i} &= \frac{V_{o2}}{V_i} \cdot \frac{V_o}{V_{o2}} \\ &= \frac{g_{m2}R_{o2}(s\frac{C_c}{g_{m2}}-1)}{s^3R_{o1}R_{o2}R_{sw}C_{o1}C_cC_L+s^2\left\{R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)+ \left[ R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+0)+R_{o1}(C_{o1}+C_c)\right]R_{sw}C_L \right\}+s\left\{ R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c) +R_{sw}C_L\right\} +1} \end{align}\]

\(R_{sw}\) and \(R_c\)

image-20230103232837318

\[\begin{align} \frac{V_{o2}}{V_i} &=-g_{m2}R_{o2}\frac{sC_c(R_c-1/g_{m2})+1}{(1+sR_{o1}C_{o1})sR_{o2}C_c+sR_{o1}\cdot g_{m2}R_{o2}C_c+\frac{s(R_{o2}+R_{sw})C_L+1}{sR_{sw}C_L+1}\left[(1+sR_{o1}C_{o1})(1+sR_cC_c)+sR_{o1}C_c \right]} \\ &=-g_{m2}R_{o2}\frac{sC_c(R_c-1/g_{m2})+1}{s^2R_{o1}R_{o2}C_{o1}C_c+sR_{o2}C_c+sR_{o1}\cdot g_{m2}R_{o2}C_c+\frac{s(R_{o2}+R_{sw})C_L+1}{sR_{sw}C_L+1}\left[(1+sR_{o1}C_{o1})(1+sR_cC_c)+sR_{o1}C_c \right]} \\ &=-g_{m2}R_{o2}\frac{\left[ sC_c(R_c-1/g_{m2})+1 \right](sR_{sw}C_L+1)}{s^2R_{o1}R_{o2}C_{o1}C_c(sR_{sw}C_L+1)+sR_{o2}C_c(sR_{sw}C_L+1)+sR_{o1}\cdot g_{m2}R_{o2}C_c(sR_{sw}C_L+1)+\left[s(R_{o2}+R_{sw})C_L+1\right]\left[(1+sR_{o1}C_{o1})(1+sR_cC_c)+sR_{o1}C_c \right]} \end{align}\]

\(s^3\) terms in denominator \[ H_3 = s^3\cdot(R_{o1}R_{o2}R_c+R_{o1}R_{o2}R_{sw} +R_{o1}R_cR_{sw})\cdot C_{o1}C_cC_L \] \(s^2\) terms in denominator \[\begin{align} H_2 &=s^2\cdot(R_{o1}R_{o2}C_{o1}C_c+R_{o1}R_{o2}C_{o1}C_L+R_{o2}R_cC_cC_L+R_{o1}R_{o2}C_cC_L+R_{o1}R_cC_{o1}C_c\\ &+R_{o2}R_{sw}C_cC_L+R_{o1}R_{sw}C_cC_L\cdot g_{m2}R_{o2}+R_{o1}R_{sw}C_{o1}C_L+R_{sw}R_cC_cC_L+R_{o1}R_{sw}C_cC_L) \end{align}\]

\(s^1\) term in denominator \[ H_1=s(R_{o1}\cdot g_{m2}R_{o2}C_c+R_{o1}C_{o1}+R_cC_c+R_{o1}C_c+R_{o2}C_c+R_{o2}C_L+R_{sw}C_L) \] \(s^0\) term in denominator \[ H_0=1 \] set \(R_c=0\) and \(R_{sw}=0\), the \(H_*\) reduced to \[\begin{align} H_3 &= 0 \\ H_2 &=s^2R_{o1}R_{o2}(C_{o1}C_c+C_{o1}C_L+C_cC_L) \\ H_1&=s(R_{o1}\cdot g_{m2}R_{o2}C_c+R_{o1}C_{o1}+R_{o1}C_c+R_{o2}C_c+R_{o2}C_L) \\ H_0&=1 \end{align}\] That is \[ H=s^2R_{o1}R_{o2}(C_{o1}C_c+C_{o1}C_L+C_cC_L)+s(R_{o1}\cdot g_{m2}R_{o2}C_c+R_{o1}C_{o1}+R_{o1}C_c+R_{o2}C_c+R_{o2}C_L)+1 \]

which is same with our previous analysis of Generic circuit in textbook

And we know \[ \frac{V_o}{V_{o2}}=\frac{1}{1+sR_{sw}C_L} \] Finally, we get \(\frac{V_o}{V_i}\) \[\begin{align} \frac{V_o}{V_i} &= \frac{V_{o2}}{V_i} \cdot \frac{V_o}{V_{o2}} \\ &= -g_{m2}R_{o2}\frac{\left[ sC_c(R_c-1/g_{m2})+1 \right](sR_{sw}C_L+1)}{H_3+H_2+H_1+1} \cdot \frac{1}{1+sR_{sw}C_L} \\ &= -g_{m2}R_{o2}\frac{ sC_c(R_c-1/g_{m2})+1}{H_3+H_2+H_1+1} \end{align}\]

The loop transfer function is \[ \frac{V_o}{V_i} =-g_{m1}R_{o1}g_{m2}R_{o2}\frac{ sC_c(R_c-1/g_{m2})+1}{H_3+H_2+H_1+1} \]

vccs model

image-20230106214027323

simplify the transfer function

omit \(C_{o1}\)

We omit \(C_{o1}\) in frequency range of interest

\[\begin{align} H_3 &= 0 \\ H_2 &=s^2(R_{o2}R_c+R_{o1}R_{o2}+R_{o2}R_{sw}+R_{o1}R_{sw}\cdot g_{m2}R_{o2}+R_{sw}R_c+R_{o1}R_{sw})\cdot C_cC_L \\ H_1 &=s(R_{o1}\cdot g_{m2}R_{o2}C_c+R_cC_c+R_{o1}C_c+R_{o2}C_c+R_{o2}C_L+R_{sw}C_L) \\ H_0 &= 1 \end{align}\]

two poles and 1 zero

image-20230105221058404

more simplification

Then, some terms can be omitted

\[\begin{align} H_2 &=s^2R_{o1}R_{o2}(1+g_{m2}R_{sw})\cdot C_cC_L \\ H_1 &=sR_{o1}\cdot g_{m2}R_{o2}C_c \\ H_0 &= 1 \end{align}\]

The poles can be deduced \[\begin{align} \omega_1 &= \frac{1}{R_{o1}\cdot g_{m2}R_{o2}C_c} \\ \omega_2 &= \frac{1}{1+g_{m2}R_{sw}}\cdot \frac{g_{m2}}{C_L} \\ &= \frac{1}{(gm_2^{-1}+R_{sw})C_L} \end{align}\]

The pole \(\omega_2=\frac{1}{gm_2^{-1}C_L}\) is changed to \(\omega_2=\frac{1}{(gm_2^{-1}+R_{sw})C_L}\)

In order to cancell \(\omega_2\) with \(\omega_z\), \(R_c\) shall be increased

\[ R_{eq}=g_{m2}^{-1}+R_{sw} \] fndRsw.drawio.svg

image-20230105221201876

image-20230105220034632

image-20230105220102170

image-20230105220119502

image-20230105221805322

omit \(C_{o1}\) is same with 2nd system simplification

non-dominant pole in Sansen's book

image-20230103231300609

Following demonstrate how derive \(f_{nd}\) from Razavi's equation. We copy \(\omega_2\) here \[ \omega_2 = \frac{R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c)}{R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)} \] which can be reduced as below

\[\begin{align} \omega_2 &= \frac{R_{o1}C_c\cdot g_{m2}R_{o2}+R_{o2}(C_c+C_L)+R_{o1}(C_{o1}+C_c)}{R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)} \\ &= \frac{R_{o1}C_c\cdot g_{m2}R_{o2}}{R_{o1}R_{o2}(C_cC_{o1}+C_LC_{o1}+C_LC_c)} \\ &= \frac{C_c\cdot g_{m2}}{C_cC_{o1}+C_LC_{o1}+C_LC_c} \\ &= \frac{g_{m2}}{C_{o1}+C_L\frac{C_{o1}}{C_c}+C_L} \\ &= \frac{g_{m2}}{C_L\frac{C_{o1}}{C_c}+C_L} \\ &= \frac{g_{m2}}{C_L} \cdot \frac{1}{1+\frac{C_{o1}}{C_c}} \end{align}\]

image-20230129221424763

Exercise of 2-stage opamp

image-20230105001747174

image-20230105001758050

image-20230105001812304

image-20230105001849554

\(R_{o1}\) and \(R_{o2}\) don't affect stability, if \(f_{nd}>3\text{GBW}\)

DC gain: \(g_{m1}g_{m2}R_{o1}R_{o2}\)

dominant pole: \(\omega_d=\frac{1}{R_{o1}\cdot g_{m2}R_{o2}C_c}\)

image-20230105001923985

image-20230105002653735

\(20log_{10}(1.414^2)=6\text{dB}\)

reference

Razavi, Behzad. Design of Analog CMOS Integrated Circuits. India: McGraw-Hill, 2017.

Sansen, Willy M. Analog Design Essentials. Germany: Springer US, 2006.

Gain-boosted cascode

TODO 📅

Zero-Value Time Constant Analysis

TODO 📅

Transmission Gate

Equivalent Resistance is defined by large signal

[https://www.ece.ucdavis.edu/~ramirtha/EEC116/F11/TGlecture.pdf]

Noise and Distortion

TODO 📅

Ali Sheikholeslami, University of Toronto, A-SSCC 2024 Circuit Insights:FT1 Noise and Distortion [link]

Response Speed in Analog Circuits

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

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

Slew Rate vs. Bandwidth

image-20250105085449759

Device Current Components

image-20250101101419687

common gate amplifiers

No alt text provided for this image

[https://www.linkedin.com/posts/chembiyan-t-0b34b910_analog-analogdesign-rfdesign-activity-7126946716938878976-GeW6?utm_source=share&utm_medium=member_desktop]

Shot Noise

Any dc current flowing through a diode generates the so-called "shot noise" due to the random nature of the hole and electron transitions across the pn junction

Shot noise is not relevant in CMOS devices since it is only present in bipolar transistors and junction diodes

Level Shifter

image-20241003224949171

TIA

image-20240824111517140

\[\begin{align} I_{in} &= \frac{V_i}{R_S} + \frac{V_i - V_o}{R_F} \\ \frac{V_i - V_o}{R_F} &= g_m V_i \end{align}\]

Then

\[\begin{align} V_o &= \frac{I_{in}R_F}{\frac{R_S+R_F}{R_S}\frac{1}{1-g_mR_F}- 1} \\ V_i &= \frac{I_{in}R_F}{\frac{R_F}{R_S}+g_mR_F} \end{align}\] If \(R_S \gg R_F\) \[\begin{align} V_o &= \frac{I_{in}}{g_m}(1-g_mR_F) \\ V_i &= \frac{I_{in}}{g_m} \end{align}\]

linearity

TIA stage allows for improved gain with better linearity, as mostly signal current passes through \(R_F\) TODO 📅 ??? Quantitative analysis

Switched-Capacitor Resistor

\[ R_{eq} = \frac{1}{f_sC} \]

image-20240905202145206

Channel-Length Modulation & Pinched off

  • \(\lambda \propto \frac{1}{L_g}\)
  • \(\lambda \propto \frac{1}{V_{DS}}\)

image-20241116080122184

  • If \(V_{DS}\) is slightly greater than \(V_{GS} - V_{TH}\), then the inversion layer stops at \(x \leq L\), and we say the channel is "pinched off"
  • Upon passing the pinchoff point, the electrons simply shoot through the depletion region near the drain junction and arrive at the drain terminal

\(L^{'}\) is the function of \(V_{DS}\)

with \(\frac{1}{L^{'}} = \frac{1}{L-\Delta L}=\frac{L+\Delta L}{L^2-\Delta L^2}\approx \frac{1}{L}\left(1+\frac{\Delta L}{L}\right)\), we have \[ I_D \approx \frac{1}{2}\mu_n C_{ox}\frac{W}{L}\left(1+\frac{\Delta L}{L}\right)(V_{GS}-V_{TH})^2 = \frac{1}{2}\mu_n C_{ox}\frac{W}{L}(V_{GS}-V_{TH})^2 (1+\lambda V_{DS}) \] assuming \(\frac{\Delta L}{L} = \lambda V_{DS}\)

\(\lambda\) represents the relative variation in length for a given increment in \(V_{DS}\). Thus, for longer channels, \(\lambda\) is smaller


In reality, however, \(r_O\) varies with \(V_{DS}\). As \(V_{DS}\) increases and the pinch-off point moves toward the source, the rate at which the depletion region around the source becomes wider decreases, resulting in a higher incremental output impedance.

image-20241116084353713

Early Voltage indicator

\[ g_m r_o = \frac{g_m}{I_D}I_D \cdot \frac{V_A}{I_D} = \frac{g_m}{I_D} \cdot V_A \]

$g_m r_o $ is the indicator of \(V_A\), if \(\frac{g_m}{I_D}\) is same

Resonator

image-20240826223955851

image-20240826224132736

image-20240826224317197


image-20240826224651954

image-20240826224823886

bandpass filter

Hossein Hashemi, RF Circuits, [https://youtu.be/0f3yZMvD2Jg?si=2c1Q4y6WJq8Jj8oN]

Cgd of Common-Source Stage

Miller effect of Cgd during layout

Nonlinearity of Differential Circuits

image-20240804173949430

\[ \cos^3\omega t = \frac{3\cos \omega t + \cos(3\omega t)}{4} \]

image-20240804174042088

Zero in differential pair with active current mirror

image-20240629103021286

Noting the circuit consists of a "slow path" (M1, M3, M4) in parallel with a "fast path" (M2)

  • "slow path" \[ H_\text{slow}(s) = \frac{A_0}{(1+s/\omega _{pE})(1+s/\omega _{pO})} \]

  • "fast path" \[ H_\text{fast}(s) = \frac{A_0}{1+s/\omega _{pO}} \]

Then \[\begin{align} \frac{V_\text{out}}{V_\text{in}} &= H_\text{slow}(s) + H_\text{fast}(s) \\ &= \frac{A_0}{1+s/\omega _{pO}}\left(\frac{1}{1+s/\omega _{pE}} + 1 \right) \\ &= \frac{A_0(1+s/2\omega _{pE})}{(1+s/\omega _{pO})(1+s/\omega _{pE})} \end{align}\]

That is, the system exhibits a zero at \(2\omega_{pE}\)


signals traveling through two paths within an amplifier may cancel each other at one frequency, creating a zero in the transfer function

image-20240629104408168

\[ \omega_z = \frac{(A_1+A_2)\omega_{p1}\omega_{p2}}{A_1\omega_{p1}+A_2\omega_{p2}} \] noting \(\omega_{p1}\lt \omega_z \lt \omega_{p2}\)

"Zero" by Inspection

a method to predict the existence of "zero" by inspection, based on the concept of "Analog Phase Interpolation"

TODO 📅

Debashis Dhar, How to Recognize "Zero" by Inspection (Utilizing Analog Phase Interpolation) [https://www.linkedin.com/posts/debashis-dhar-12487024_how-to-recognize-zero-by-inspection-activity-7163364364329160704-9qOq?utm_source=share&utm_medium=member_desktop]

Random offset

The dependence of offset voltage and current mismatches upon the overdrive voltage is similar to our observations for corresponding noise quantities

differential pair

image-20240624222306837

In reality, since mismatches are independent statistical variables

image-20240624222417564

Above shows that the input transistors must be designed for high gain (\(g_mr_o = \frac{2}{V_{OV}\lambda}\)), which means they must be designed for small \(V_{GS}-V_{TH}\).

It is desirable to minimize \(V_{GS}-V_{TH}\) by lowering the tail current or increasing the transistor widths


For \(\frac{\Delta K}{K}\)

\[\begin{align} v_{os} g_m &= \Delta K \frac{W}{L}(V_{GS}-V_{TH})^2 \\ v_{os} 2K\frac{W}{L}(V_{GS}-V_{TH}) &= \Delta K \frac{W}{L}(V_{GS}-V_{TH})^2 \\ v_{os} &= \frac{V_{GS}-V_{TH}}{2} \frac{\Delta K}{K} \end{align}\]

The derivation for \(\frac{\Delta W/L}{W/L}\) is same with \(\frac{\Delta K}{K}\)


alternative derivation

\[\begin{align} \Delta V_\beta \cdot g_m &= \frac{\partial I_D}{\partial \beta} \Delta \beta \\ &= I_D \frac{\Delta \beta}{\beta} \end{align}\]

That is \(\Delta V_\beta = \frac{I_D}{g_m}\frac{\Delta \beta}{\beta}\)

\[ \Delta V_R \cdot g_m R = I_D \cdot \Delta R \]

That is \(\Delta V_R = \frac{I_D}{ g_m} \cdot \frac{\Delta R}{R}\)

[https://electronicengineering.phd.upc.edu/en/courses-and-seminars/courses-materials/2008-2009/slides-makinwa-1]


current mirror

image-20240624224944377

image-20240624225010443

To minimize current mismatch, the overdrive voltage must be maximized, a trend opposite to that in differential pair.

This is because as \(V_{GS}-V_{TH}\) increases, threshold mismatch has a lesser effect on the device currents

\(\Delta I_D= g_m \Delta V_{TH} = \frac{2I_D}{V_{OV}}\Delta V_{TH}\)

Effect of Feedback on Noise

Feedback does not improve the noise performance of circuits.

image-20240508205903213

The input-referred noise voltage and current remain the same if the feedback network introduces no noise.

Burn-in & High-temperature operating life (HTOL)

  • HTOL:
    • characterization test
    • characterize the life expectancy
  • Burn-in:
    • production test
    • weed out defective products

HTOL and Burn-in Testing capture the two ends of the reliability characterization graph known as the "bathtub curve"

importance-of-htol-figure-1

[https://arworld.us/the-importance-of-htol-and-burn-in-testing-methods/]

RC charge & discharge

  • charge: \[ V_o(t) = V_{X}(1-e^{-\frac{t}{\tau}}) + V_{o,0}\cdot e^{-\frac{-t}{\tau}} \]

  • discharge: \[ V_o(t) = V_{o,0}\cdot e^{-\frac{t}{\tau}} + V_{o,\infty}\cdot(1-e^{-\frac{t}{\tau}}) \]

  1. \(e^{-\frac{t}{\tau}}\) item determine the initial state
  2. \((1-e^{-\frac{t}{\tau}})\) item determine the final state

image-20231104231640290

image-20231104232000036

AC coupling

\(V_m=\frac{1}{4},\space \frac{3}{4}\) and its common voltage \(\frac{1}{2}\)

\(V_o=-\frac{1}{4},\space \frac{1}{4}\) and its common voltage \(0\)

image-20231121224940814

image-20231121225358509


\[ \tau = 200 \text{nF} \times (50+50)\text{ohm} = 20 \mu s \]

high level envelope:

image-20231121230155083

image-20231121230225895

Current mirror with source degeneration

image-20231103213308081

image-20231103213327501

degeneration

Razavi 2nd, problem 14.15

Monitored Analog Critical Parameters

monitor_parameters.drawio

Parameter Definition:

\[\begin{align} I_{\text{D,lin}} &= I_D \mid _{V_G=V_{DD},V_D=0.05V} \\ I_{\text{D,sat}} &= I_D \mid _{V_G=V_D=V_{DD}} \\ V_{\text{t,lin}} &= V_G \mid _{I_D=I_{\text{thx}}\cdot \frac{W}{L}@\{V_D=0.05V\}} \end{align}\]

\(I_{\text{thx}}\) could be different for technologies. (For N16, \(I_{\text{thx}}=10\)nA)


Constant Current Threshold Voltage

Extraction of constant current threshold voltage

gm-Maximum Method

Extraction of threshold voltage

[Inspect 4. Extracting Standard Parameters]

STB and PSTB in Spectre/RF

All credits to my colleague, Zhang Wenpian. > F. Wiedmann, "Loop gain simulation," Online:[https://sites.google.com/site/frankwiedmann/loopgain]

STB analysis

Spectre stb's "loopgain" is negative of "T" in paper[1] \[ T = \frac{2(AD-BC) - A + D}{2(AD-BC)-A+D-1} \]

AC simulation testbench, shown as below,

stb_pstb.drawio

  1. \(I_{inj}\) = 0, \(V_{inj}\) = 1

    B = if, D = ve

  2. \(I_{inj}\) = 1, \(V_{inj}\) = 0

    A = if, C = ve

PSTB analysis

Spectre pstb is similar to stb, just set pac as 1 instead of ac in current source and voltage source.

This analysis just use harmonic 0 transfer function in pac analysis, which has limitation.

Thevenin and Norton Equivalent Circuits

戴维南定理

image-20231021084850078

等效电阻的计算方法

image-20231021085151943

使用外加电源法时, 全部独立电源需要置零

诺顿定理

image-20231021090448282

Lemma of Razavi

\[ A_V = -G_m R_{out} \]

image-20231021092407849

Design of Analog CMOS Integrated Circuits, Second Edition - Behzad Razavi

Miller's Approximation: right-half-plane zero

image-20231021101204165

A quick inspection of this circuit reveals that a zero lies at a frequency where the current through \(C_{12}\) becomes equal to \(g_2V_1\).

When this occurs, the current through the parallel combination of \(C_2\) and \(R_2\) becomes zero, creating a zero in the transfer function.

In other words, we can write

\[\begin{align} g_2V_1 &= V_1sC_{12} \\ s &= \frac{g_2}{C_{12}} \end{align}\]

Nonoverlapping clock

Classical

image-20241016212042812

DWC

C2PHIa is important to ensure nonoverlapping and DelayA2B is due to level shifter

image-20241016212100040

Single ended Amplifier Offset Voltage

unity gain buffer

image-20220917115231508

\[\begin{align} V_o &= V_{o,dc}+A(V_p-V_m) \\ V_o' &= V_{o,dc}+A(V_p+V_{os}-V_m') \end{align}\]

Then, we get \[ V_{os}=\frac{V_o'-V_o}{A}+(V_m'-V_m) \] Due to \(V_o=V_m\) and \(V_o'=V_m'\) \[ V_{os}=(1/A+1)\Delta{V_m} \] or \[ V_{os}=(1/A+1)\Delta{V_o} \] if \(A \gg 1\) \[ V_{os}=\Delta{V_o} \]

non-inverting amplifier

image-20220917115308699 \[\begin{align} V_o &= V_{o,dc}+A(V_p-V_m) \\ V_o' &= V_{o,dc}+A(V_p+V_{os}-V_m') \\ V_m &= \beta V_o \\ V_m' &= \beta V_o' \end{align}\]

we get \[ V_{os}=\frac{V_o'-V_o}{A}+(V_m'-V_m) \] or \[ V_{os}=\frac{\Delta V_o}{A}+\beta \Delta V_o \] if \(A \gg 1\) \[ V_{os}=\beta \Delta V_o \] or \[ V_{os}=\Delta V_m \]


Lecture 22 Variability and Mismatch of Dr. Hesham A. Omran's Analog IC Design

image-20221022010448797

URL: https://www.master-micro.com/professional-courses/analog-ic-design/course-resources

Gotcha MOS ron

There is discrepancy between model operating point and \(V_{ds}/I_{ds}\)

I believe that the equation \(V_{ds}/I_{ds}\) is more appropriate where mos is used as switch, though \(V_{ds}=0\) is an outlier.

image-20230104230757729

image-20230104230837829

image-20230104230851475

Schmitt Inverter

image-20231021232912529

gm/ID Intuition

image-20230103220933081

small gm/ID for High ro, or high Early voltage \(V_A\)

Transit Frequency \(f_T\)

Defined as the frequency at which the small-signal current gain of a device is unity

image-20231213234524075


image-20240116233951006

MOSFET ZTC Condition Analysis

zero temperature coefficient (ZTC)

image-20231212195536754

MOM cap of wo_mx

Monte Carlo model:

  • \(C_{pa}=C_{pa1}\), \(C_{pb}=C_{pb1}\) for each iteration during Process Variation
  • different variation is applied to \(C_{ab}\) and \(C_{a1b1}\) each iteration during Mismatch Variation, though \(C_{pa}\), \(C_{pb}\), \(C_{pa1}\) and \(C_{pb1}\) remain constant

image-20230220230434891

image-20230220230331505

Active Inductor

activeInd

\[\begin{align} A &= \frac{g_mR_L}{1+(g_\text{m\_dio}+ g_\text{ds\_tot})R_L}\cdot \frac{1+R_pC_Ps}{1+\frac{(1+g_\text{ds\_tot}R_L)R_PC_P+C_PR_L+R_LC_L}{1+(g_\text{m\_dio}+g_\text{ds\_tot})R_L}s + \frac{R_LC_LR_PC_P}{1+(g_\text{m\_dio}+g_\text{ds\_tot})R_L}s^2} \\ &= \frac{g_mR_L}{1+(g_\text{m\_dio}+ g_\text{ds\_tot})R_L}\cdot \frac{R_PC_P}{ \frac{R_LC_LR_PC_P}{1+(g_\text{m\_dio}+g_\text{ds\_tot})R_L}}\cdot \frac{1/(R_PC_P)+s}{s^2 + \frac{(1+g_\text{ds\_tot}R_L)R_PC_P+C_PR_L+R_LC_L}{R_PC_P}s + \frac{1+(g_\text{m\_dio}+g_\text{ds\_tot})R_L}{R_LC_LR_PC_P}} \\ &= A_0 \cdot A(s) \end{align}\]

That is

\[\begin{align} \omega_z &= \frac{1}{R_PC_P} \tag{1} \\ \omega_n &= \sqrt{\frac{1+(g_\text{m\_dio}+g_\text{ds\_tot})R_L}{R_LC_LR_PC_P}} = \sqrt{\omega_{p0}\omega_z} \\ \zeta & = \frac{(1+g_\text{ds\_tot}R_L)R_PC_P+C_PR_L+R_LC_L}{R_PC_P} \frac{1}{2 \omega_n} \end{align}\]

Where \[\begin{align} \omega_{p0} &= \frac{1}{(R_L||\frac{1}{g_\text{m\_dio}}||\frac{1}{g_\text{ds\_tot}})C_L} \tag{2} \end{align}\]

Here, relate \(\omega_{p0}\) and \(\omega_z\) by coefficient \(\alpha\) \[ \omega_{p0} = \alpha \cdot \omega_z \tag{3} \] This way \[ \omega_n= \sqrt{\alpha}\cdot \omega_z \]

\[ \zeta = \frac{1}{2}(K\sqrt{\alpha}+\frac{1+C_P/C_L}{\sqrt{\alpha}}) \tag{4} \] where \[ K = \frac{R_L||\frac{1}{g_\text{m\_dio}}||\frac{1}{g_\text{ds\_tot}}}{R_L||g_\text{ds\_tot}} \]

And \(A(s)\) can be expressed as \[ A(s) = \frac{\frac{s}{\omega_z}+1}{\frac{s^2}{\omega_n^2}+2\frac{\zeta}{\omega_n}s+1} \] It magnitude in dB \[ A_\text{dB} = 10\log\frac{1+(\omega/\omega_z)^2}{1+(\omega/\omega_n)^4+2\omega^2(2\zeta^2-1)/\omega_n^2} \] Substitute \(\omega_n\) with Eq (2), followed is obtained \[ A_\text{dB} = 10\log{\frac{\alpha^2(\omega_z^4 + \omega_z^2\omega^2)}{\alpha^2\omega_z^4+\omega^4+2\alpha\omega_z^2(2\zeta^2-1)\omega^2}} \] peaking frequency \[ \omega_\text{peak} = \omega_z\cdot \sqrt{\sqrt{(\alpha+1)^2 - 4\alpha \zeta^2}-1} \] If \(\zeta=1\) \[\begin{align} \omega_{A_\text{dB = 0dB} }&= \sqrt{1-2/\alpha}\cdot \omega_{p0} \\ \omega_\text{peak} &= \omega_z\sqrt{\alpha-2} \\ A_\text{dB,peak} &= 10\log\frac{\alpha^2}{4(\alpha-1)} \end{align}\]

Miller multiplication of Capacitor

Positive Cap

image-20231220225508580

image-20231220225450481

Negative Cap

image-20231220225910283

image-20231220230015868


gain has limited bandwidth

image-20231224212914366

image-20231224212541383

image-20231224212625409

\(V_o = V_i |A|e^{j\theta}\), and \(A_r = |A|\cos\theta\), \(A_i = |A|\sin\theta\)

Then \(I_i = (V_i - V_o)sC_f= V_i(1-|A|e^{j\theta})sC_f\), impedance is shown as below

\[\begin{align} Z &= \frac{V_i}{I_i} \\ &= \frac{1}{(1-|A|e^{j\theta})j\omega C_f} \\ &= -\frac{j}{\omega C_f\frac{1+|A|^2-2|A|\cos\theta}{1-|A|\cos\theta}} + \frac{|A|\sin\theta}{\omega C_f (1+|A|^2-2|A|\cos\theta)} \\ \end{align}\]

\(C_\text{eq}\) and \(R_\text{eq}\) are obtained \[\begin{align} C_\text{eq} &= \frac{1+|A|^2-2A_r}{1-A_r}\cdot C_f \\ R_\text{eq} &= \frac{A_i}{1+|A|^2-2A_r}\cdot \frac{1}{\omega C_f} \end{align}\]

D/S small signal model

image-20240106161059584

The Drain and Source of MOS are determined in DC operating point, i.e. large signal.

That is, top of \(M_2\) is drain and bottom is source, \[\begin{align} R_\text{eq2} &= \frac{r_\text{o2}+R_L}{1+g_\text{m2}r_\text{o2}} \\ & \simeq \frac{1}{g_\text{m2}} \end{align}\]

PMOS small signal model polarity

The small-signal models of NMOS and PMOS transistors are identical

A negative \(\Delta V_\text{GS}\) leads to a negative \(\Delta I_D\).

Recall that \(I_D\), in the direction shown here, is negative because the actual current of holes flows from the source to the drain.

image-20240106170315177

Conversely, a positive \(\Delta V_\text{GS}\) produces a positive \(\Delta I_D\), as is the case for an NMOS device.

image-20240106164923917

Leakage in MOS

image-20241109195527005

  • Subthreshold leakage
    • Drain-Induced Barrier Lowering (DIBL)
  • Reverse-bias Source/Drain junction leakages
  • Gate leakage
  • two other leakage mechanisms
    • Gate Induced Drain Leakage (GIDL)
    • Punchthrough

image-20241110001311117

W. M. Elgharbawy and M. A. Bayoumi, "Leakage sources and possible solutions in nanometer CMOS technologies," in IEEE Circuits and Systems Magazine, vol. 5, no. 4, pp. 6-17, Fourth Quarter 2005, doi: 10.1109/MCAS.2005.1550165.

X. Qi et al., "Efficient subthreshold leakage current optimization - Leakage current optimization and layout migration for 90- and 65- nm ASIC libraries," in IEEE Circuits and Devices Magazine, vol. 22, no. 5, pp. 39-47, Sept.-Oct. 2006, doi: 10.1109/MCD.2006.272999.

P. Monsurró, S. Pennisi, G. Scotti and A. Trifiletti, "Exploiting the Body of MOS Devices for High Performance Analog Design," in IEEE Circuits and Systems Magazine, vol. 11, no. 4, pp. 8-23, Fourthquarter 2011, doi: 10.1109/MCAS.2011.942751.

Andrea Baschirotto, ISSCC2015 "ADC Design in Scaled Technologies"

Joachim Assenmacher Infineon Technologies, "BSIM4 Modeling and Parameter Extraction" [https://ewh.ieee.org/r5/denver/sscs/References/2003_03_Assenmacher.pdf]

Stefan Rusu, Intel ISSCC 2008 Tutorial: "Leakage Reduction Techniques" [https://www.nishanchettri.com/isscc-slides/2008%20ISSCC/Tutorials/T06_Pres.pdf]

Drain-Induced Barrier Lowering (DIBL)

As a result of DIBL, threshold voltage is reduced with shorter channel lengths and, consequently, the subthreshold leakage current is increased

image-20240901231532412

impact on output impedance

The principal impact of DIBL on circuit design is the degraded output impedance.

In short-channel devices, as \(V_{DS}\) increases further, drain-induced barrier lowering becomes significant, reducing the threshold voltage and increasing the drain current

image-20240901232709711

Impact Ionization and GIDL are different, however both increase drain current, which flowing from the drain into the substrate

image-20241120210915254

Gate induced drain leakage (GIDL)

image-20241110001118250

Figure 4.3

The large current flows from the drain to bulk and this drain leakage current is named gate-induced drain leakage (GIDL) since it is due to a gate-induced high electric field present in the gate-to-drain overlap region

gate-induced drain leakage (GIDL) increases exponentially due to the reduced gate oxide thickness

image-20240902000820459

Chauhan, Yogesh Singh, et al. FinFET modeling for IC simulation and design: using the BSIM-CMG standard. Academic Press, 2015.


image-20240901225754731

\[ \frac{g_m}{I_D} = \frac{2}{V_{GS}-V_{TH}} \] Decrease of gm/Id results from decrease in VT.

GIDL (Gate induced drain leakage) as at weak inversion may results in a weak lateral electric field causing leakage current between drain and bulk, which degrade the efficiency of the transistor (gm/ID).

[https://www.linkedin.com/posts/master-micro_mastermicro-mastermicro-adt-activity-7214549962833989632-ZoV_?utm_source=share&utm_medium=member_desktop]

Voltage Dependence

image-20241111224955193

Temperature Dependence

image-20241111225025277


In advanced node, gate leakage is also a strong function of temperature

image-20241111230519009

signal detection circuit

sc_sigdet.drawio

phase I

\[\begin{align} Q_a &= (V_{a0} - 0.5*(V_{ip} + V_{im}))*C + (V_{a0} - V_{th})*C \\ Q_b &= (V_{b0} - 0.5*(V_{ip} + V_{im}))*C + V_{b0}*C \end{align}\]

Phase II

\[\begin{align} Q_a &= (V_{a} - V_{ip})*C + (V_{a} - V_{b})*0.5C \\ Q_b &= (V_{b} - V_{im})*C + (V_{b} - V_{a})*0.5C \end{align}\]

With the law of charge conservation, we get

\[\begin{equation} V_a - V_b = (V_{a0} - V_{b0}) + 0.5*(V_{ip} - V_{im} - V_{th}) \end{equation}\]

REF: D. A. Yokoyama-Martin et al., "A Multi-Standard Low Power 1.5-3.125 Gb/s Serial Transceiver in 90nm CMOS," IEEE Custom Integrated Circuits Conference 2006, 2006, pp. 401-404, doi: 10.1109/CICC.2006.320970.

Power/Ground and I/O Pins

Power / Ground Pin Information

In both digital and analog I/O, power and ground pins appear at the sub-circuit definiton, allowing user to use the I/O in voltage islands. They follow certain naming conventions.

  1. digital I/O sub-circuit
  • VDD: pre-driver core voltage (supplied by PVDD1CDGM)
  • VSS: pre-driver ground and also global ground (supplied by PVDD1CDGM)
  • VDDPST: I/O post-driver voltage, i.e. 1.8V (supplied by PVDD2CDGM or PVDD2POCM)
  • VSSPOST: I/O post-driver ground (supplied by PVDD2CDGM or PVDD2POCM)
  • POCCTRL: POCCTRL signal (supplied by PVDD2POCM)
  1. analog I/O placed in a core voltage domain, the convention is
  • TACVDD: analog core voltage (supplied by PVDD3ACM)
  • TACVSS: analog core ground (supplied by PVDD3ACM)
  • VSS: global core ground
  1. analog I/O placed in an I/O voltage domain, the convention is:
  • TAVDD: analog I/O voltage, i.e. 1.8V (supplied by PVDD3AM)
  • TAVSS: analog I/O ground (supplied by PVDD3AM)
  • VSS: global core ground

Power/Ground Combo Cells

power/ground combo pad cell pins to be connected to bump to core side pin name
PVDD1CDGM VDD VSS VDD VSS
PVDD2CDGM PVDD2POCM VDDPST VSSPST N/A
PVDD3AM TAVDD TAVSS AVDD AVSS
PVDD3ACM TACVDD TACVSS AVDD AVSS

Note for the retention mode

  1. At initial state, IRTE must be 0 when VDD is off.
  2. IRTE must be kept >= 10us after VDD turns on again (from the retention mode to the normal operation mode).
  3. IRTE can be switched only when both VDD and VDDPST are on.

rention_seq.drawio

When the rention function is needed, IRTE signal must come from an "always-on" core power domain. If you don't need the rention function, it is required to tie IRTE to ground. In other words, no matter the rention feature is needed or not, it is required to have PCBRTE in each domain.

PCBRTE_in_digital_domain.drawio

Note: PCBRTE does not need PAD connection.

Internal Pins

There are 3 internal global pins, i.e. ESD, POCCTRL, RTE, in all digital domain cells.

In real application,

  • ESD pin is an internal signal and active in ESD event happening
  • POCCTRL is an internal signal and active in Power-on-control event.

However, these special events (i.e. ESD event and Power-on-control event) are not modeled in NLDM kit (.lib), only normal function is covered, so ESD and POCCTRL pins are simply defined as ground in NLDM kit (.lib).

These 3 global pins will be connected automatically after cell-to-cell abutting in physical layout.

Power-Up sequence in Digital Domain

Power up the I/O power (VDDPST) first, then the core power (VDD)

pocctrl_seq.drawio

  1. PVDDD2POCM cell would generate Power-On-Control signal (POCCTRL) to have the post-driver NMOS and PMOS off, so that the crowbar current would not occur in the post-driver fingers when the I/O voltage is on while the core voltage remains off. As such, I/O cell would be in the Hi-Z state. when POCCTRL is on, the pll-up/down resistor is disabled and C is 0.
  2. The POCCTRL signal is transmitted to I/O cells through cell abutment. There is no need to have routing for POCCTTRL nor give a control signal to the POCCTRL pin any of I/O cells. Note that the POCCTRL signal would be cut if inserting a power-cut (PRCUT) cell.

power-on-control-ciruit.drawio

Power-Down sequence in Digital Domain

It's the reverse of power-up sequence.

Use model in Innovus

1
2
3
4
5
6
7
8
9
10
11
12
set init_gnd_net "vss_core vss DUMMY_ESD DUMMY_POCCTRL"

addInst -moduleBased u_io -ori R270 -physical -status fixed -loc 135 994 -inst u_io/VDDIO_1 -cell PVDD2CDGM_H

addNet u_io_RTE
attachTerm FILLER_6 RTE u_io_RTE
attachTerm VDDIO_1 RTE u_right_RTE
setAttribute -skip_routing true -net u_io_RTE

clearGlobalNets
globalNetConnect DUMMY_POCCTRL -type pgpin -pin POCCTRL -singleInstance u_io/VDDDIO_1 -override
globalNetConnect DUMMY_ESD -type pgpin -pin ESD -singleInstance u_io/VDDDIO_1 -override
1
2
3
4
5
6
7
8
9
10
11
12
13
14
set pins [get_object_name [get_ports *]]
foreach pin $pins {
set netPtr [dbGetNetByName $pin]
if { $netPtr == "0x0" } {
puts "INFO: can't find the port: $pin"
} else {
setAttribute -net $pin -skip_routing true
}
}

foreach net [get_object_name [get_nets -of_objects [get_pins */RTE -hierarchical]]] {
setAttribute -net $net -skip_routing true
dbSet [dbGetNetByName $net].dontTouch true
}

Metastability & Synchronizer

Clock Domain Crossing (CDC)

When a flip-flop samples an input that is changing during its aperture, the output Q may momentarily take on a voltage between 0 and VDD that is in the forbidden zone. This is called a metastable state. Eventually, the flip-flop will resolve the output to a stable state of either 0 or 1. However, the resolution time required to reach the stable state is unbounded

image-20240803075025846

Mean Time Between Failure (MTBF)

TODO 📅

Steve Golson. Synchronization and Metastability [https://trilobyte.com/pdf/golson_snug14.pdf]

R. Ginosar, "Metastability and Synchronizers: A Tutorial," in IEEE Design & Test of Computers, vol. 28, no. 5, pp. 23-35, Sept.-Oct. 2011, doi: 10.1109/MDT.2011.113. [https://webee.technion.ac.il/~ran/papers/Metastability-and-Synchronizers.IEEEDToct2011.pdf]

Kinniment, D. J. Synchronization and arbitration in digital systems. John Wiley & Sons Ltd (2007).

Amr Adel Mohammady, Clock Domain Crossing [https://fpga-systems.ru/library/cdc/cdc_all_patrs.pdf]

Yvain Thonnart, CEA-LIST. ISSCC2021 T8: On-Chip Interconnects: Basic Concepts, Designs and Future Opportunities [https://www.nishanchettri.com/isscc-slides/2021%20ISSCC/TUTORIALS/ISSCC2021-T8.pdf]

Slewing of 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\)

reference

M. Tian, V. Visvanathan, J. Hantgan and K. Kundert, "Striving for small-signal stability," in IEEE Circuits and Devices Magazine, vol. 17, no. 1, pp. 31-41, Jan. 2001, doi: 10.1109/101.900125.

Open loop gain analysis and "STB" method [https://www.linkedin.com/pulse/open-loop-gain-analysis-stb-method-jean-francois-debroux]

The Analog Designer's Toolbox (ADT) | Invited Talk by IEEE Santa Clara Valley Section CAS Society, https://youtu.be/FT6kKC5OdE0

ESSCIRC2023 Circuit Insights Ali Sheikholeslami [https://youtu.be/2xFIZM5_FPw?si=XWwSzDgKWZGB0rX1]

Ali Sheikholeslami, Circuit Intuitions: Thevenin and Norton Equivalent Circuits, Part 3 IEEE Solid-State Circuits Magazine, Vol. 10, Issue 4, pp. 7-8, Fall 2018.

—, Circuit Intuitions: Thevenin and Norton Equivalent Circuits, Part 2 IEEE Solid-State Circuits Magazine, Vol. 10, Issue 3, pp. 7-8, Summer 2018.

—, Circuit Intuitions: Thevenin and Norton Equivalent Circuits, Part 1 IEEE Solid-State Circuits Magazine, Vol. 10, Issue 2, pp. 7-8, Spring 2018.

—, Circuit Intuitions: Miller's Approximation IEEE Solid-State Circuits Magazine, Vol. 7, Issue 4, pp. 7-8, Fall 2015.

—, Circuit Intuitions: Miller's Theorem IEEE Solid-State Circuits Magazine, Vol. 7, Issue 3, pp. 8-10, Summer 2015.

Shanthi Pavan, "Demystifying Linear Time Varying Circuits"

ecircuitcenter. Switched-Capacitor Resistor [http://www.ecircuitcenter.com/Circuits/SWCap/SWCap.htm]

Jørgen Andreas Michaelsen. INF4420 Switched-Capacitor Circuits. [https://www.uio.no/studier/emner/matnat/ifi/INF4420/v13/undervisningsmateriale/inf4420_v13_07_switchedcapacitor_print.pdf]

chembiyan T. OC Lecture 10: A very basic introduction to switched capacitor circuits [https://youtu.be/SaYtemYp4rQ?si=q2qovTKJrLy65pnu

Robert Bogdan Staszewski, Poras T. Balsara. "All‐Digital Frequency Synthesizer in Deep‐Submicron CMOS"

Mayank Parasrampuria, Sandeep Jain, Burn-in 101 [link]

Mismatch between the pole and zero frequencies leads to the “doublet problem”. If the pole and the zero do not exactly coincide, we say that they constitute a doublet

Problem 10.19 in Razavi 2nd book

Suppose the open-loop transfer function of a two-stage op amp is expressed as \[ H_{open}(s)=\frac{A_0(1+\frac{s}{\omega_z})}{\left( 1+ \frac{s}{\omega_{p1}}\right)\left( 1+ \frac{s}{\omega_{p2}}\right)} \] Ideally, \(\omega_z=\omega_2\) and the feedback circuit exhibits a first-order behavior, i.e., its step response contains a single time constant and no overshoot.

Then the transfer function of the amplifier in a unity-gain feedback loop is given by \[\begin{align} H_{closed}(s) &=\frac{A_0\left(1+\frac{s}{\omega_z}\right)}{\frac{s^2}{\omega_{p1}\omega_{p2}}+\left( \frac{1}{\omega_{p1}} + \frac{1}{\omega_{p2}}+\frac{A_0}{\omega_{z}}\right)s+A_0+1} \\ &=\frac{\frac{A_0}{A_0+1}(1+\frac{s}{\omega_z})}{\frac{s^2}{\omega_{p1}\omega_{p2}(A_0+1)}+\left( \frac{1}{\omega_{p1}} + \frac{1}{\omega_{p2}}+\frac{A_0}{\omega_{z}}\right)\frac{s}{A_0+1}+1} \end{align}\]


The denominator part of \(H_{closed}(s)\) is \[ D(s) = \frac{s^2}{\omega_{p1}\omega_{p2}}+\left( \frac{1}{\omega_{p1}} + \frac{1}{\omega_{p2}}+\frac{A_0}{\omega_{z}}\right)s+A_0+1 \]

Assuming two poles (\(\omega_{pA} \ll\omega_{pB}\)) of \(H_{closed}(s)\) are widely spaced, \[\begin{align} D(s) &= \left( 1+ \frac{s}{\omega_{pA}}\right)\left( 1+ \frac{s}{\omega_{pB}}\right)\\ &\cong \frac{s^2}{\omega_{pA}\omega_{pB}}+\frac{s}{\omega_{pA}} + 1 \end{align}\]

Thus, the two poles of the closed-loop transfer function of system are \[\begin{align} \omega_{pA} &= \frac{A_0+1}{\frac{1}{\omega_{p1}} + \frac{1}{\omega_{p2}}+\frac{A_0}{\omega_{z}}} \\ &= \frac{(A_0+1)\omega_{p1} \omega_{p2}}{\omega_{p1} + \omega_{p2} + \frac{A_0}{\omega_z}\omega_{p1} \omega_{p2}} \\ \omega_{pB} &= \omega_{p1} + \omega_{p2} + \frac{A_0}{\omega_z}\omega_{p1} \omega_{p2} \end{align}\]


Assuming \(\omega_z \simeq \omega_{p2}\) and \(\omega_{p2}\ll (1+A_0)\omega_{p1}\) \[ \omega_{pA} = \omega_{p2} \] and \[ \omega_{pB} = (1+A_0)\omega_{p1} \] The closed-loop transfer function is \[ H_{closed}(s) = \frac{\frac{A_0}{A_0+1}\left(1+\frac{s}{\omega_z}\right)}{\left(1+\frac{s}{(1+A_0)\omega_{p1}}\right)\left( 1+\frac{s}{\omega_{p2}} \right)} \]


The step response of the closed-loop amplifier

Consider the Laplace transform function of step response, \(X(s)=\frac{1}{s}\) \[ Y(s)=\frac{1}{s}\times H_{closed}(s) \] Thus, the small-signal step response of the closed-loop amplifier is \[ y(t)=\frac{A_0}{A_0+1}\left[1-e^{-(A_0+1)\omega_{p1}t}-\left(1-\frac{\omega_{p2}}{\omega_z}\right)e^{-\omega_{p2}t} \right]u(t) \] Since, \(\omega_{p2}\ll (1+A_0)\omega_{p1}\). Therefore, rewrite the \(y(t)\) \[ y(t)\cong \frac{A_0}{A_0+1}\left[1-\left(1-\frac{\omega_{p2}}{\omega_z}\right)e^{-\omega_{p2}t} \right]u(t) \] The step response contains an exponential term of the form \(\left(1-\frac{\omega_{p2}}{\omega_z}\right)e^{-\omega_{p2}t}\). This is an important result, indicating that if the zero does not exactly cancel the pole, the step response exhibits an exponential with an amplitude proportional to \(\left(1-\frac{\omega_{p2}}{\omega_z}\right)\), which depends on the mismatch between \(\omega_z\) and \(\omega_{p2}\) and a time constant \(\tau\) of \(\frac{1}{\omega_{p2}}\) or \(\frac{1}{\omega_{z}}\)

perfect pole-zero cancellation

\[\begin{align} y(t) &=\frac{A_0}{A_0+1}\left[1-e^{-(A_0+1)\omega_{p1}t}-\left(1-\frac{\omega_{p2}}{\omega_z}\right)e^{-\omega_{p2}t} \right]u(t) \\ &= \frac{A_0}{A_0+1}\left[1-e^{-(A_0+1)\omega_{p1}t}\right]u(t) \end{align}\]


image-20230108233523345

image-20230108234123707

The zero comes from the mirror node

Thanks to unity gain buffer, zero is alleviated for \(C_c\)

reference

Elad Alon, Lecture 10: Settling-Limited Amplifier Design Methodology, EE 240B – Spring 2018, Advanced Analog Integrated Circuits https://inst.eecs.berkeley.edu/~ee240b/sp18/lectures/Lecture10_Settling_Design_2up.pdf

Eric Chang, Prof. Elad Alon EE240B HW3 https://inst.eecs.berkeley.edu/~ee240b/sp18/homeworks/hw3.pdf and https://inst.eecs.berkeley.edu/~ee240b/sp18/homeworks/hw3_soln.pdf

Prof. Tai-Haur Kuo, Analog IC Design ( 類比積體電路設計 ), Operational Amplifiers http://msic.ee.ncku.edu.tw/course/aic/201809/chapter5.pdf

SERGIO FRANCO, Demystifying pole-zero doublets URL:https://www.edn.com/demystifying-pole-zero-doublets/


B. Y. T. Kamath, R. G. Meyer and P. R. Gray, "Relationship between frequency response and settling time of operational amplifiers," in IEEE Journal of Solid-State Circuits, vol. 9, no. 6, pp. 347-352, Dec. 1974, [https://sci-hub.se/10.1109/JSSC.1974.1050527]

P. R. Gray and R. G. Meyer, "MOS operational amplifier design-a tutorial overview," in IEEE Journal of Solid-State Circuits, vol. 17, no. 6, pp. 969-982, Dec. 1982, [https://sci-hub.se/10.1109/JSSC.1982.1051851]

—. 2024. Analysis and Design of Analog Integrated Circuits, 6th Edition. Wiley Publishing

image-20231106232135180

Terminology

The most accurate method to calculate the degradation of transistors is the SPICE-level simulation of the whole netlist with application programming interface (API) and industry-standard stress process models

MOSRA: MOSFET reliability analysis Synopsys

RelXpert: Cadence

TMI: TSMC Model Interface, TSMC

OMI: Open Model Interface, Si2 standard,

The Silicon Integration Initiative (Si2) Compact Model Coalition has released the Open Model Interface, an Si2 standard, C-language application programming interface that supports SPICE compact model extensions.OMI allows circuit designers to simulate and analyze such important physical effects as self-heating and aging, and perform extended design optimizations. It is based on TMI2, the TSMC Model Interface, which was donated to Si2 by TSMC in 2014.

  • TDDB: Time-Dependent Dielectric Breakdown
  • HCI: Hot Carrier injection
  • BTI: Bias Temperature Instability
    • NBTI: Negative Bias Temperature Instability
    • PBTI: Positive Bias Temperature Instability
  • SHE: Self-Heating Effect

4645.reliability.png

Aging & SHE in FinFET

image-20230513215602865

SHE

image-20221214001912093

image-20230513110032603

image-20221214001940656

Self-Heating & EM

image-20230513220047241

Heat Sink (HS)

  1. guard ring

    closer OD help reduce dT

  2. extended gate

  3. source/drain metal stack

Bias Temperature Instability (BTI)

image-20250105132044116


img

BTI occurs predominantly in PMOS (or p-type or p channel) transistors and causes an increase in the transistor's absolute threshold voltage.

Stress in the case of NBTI means that the PMOS transistor is in inversion; that means that its gate to body potential is substantially below 0 V for analogue circuits or at VGB = −VDD for digital circuits

Higher voltages and higher temperatures both have an exponential impact onto the degradation, induced by NBTI.

NBTI will be accelaerated with thinner gate oxide, at a high temperature and at a high electric field across the oxide region.

During recovery phase where the gate voltage of pMOS is high and stress is removed, the H atoms in the gate oxiede diffuse back to Si-SiO2 interface and the recombination of Si-H bonds reduces the threshold voltage of pMOS.

image-20230513111525657

image-20230513111657285

The net result is an increase in the magnitude of the device threshold voltage |Vt|, and a degradation of the channel carrier mobility.

Caution: The aging model provided by fab may NOT contain recovry effect

image-20230513104621962

image-20230513104654501

image-20230513105016631

image-20230513105100239

HCI

Short-channel MOSFETs may exprience high lateral electric fields if the drain-source voltage is large. while the average velocity of carriers saturate at high fields, the instantaneous velocity and hence the kinetic energy of the carriers continue to increase, especially as they accelerate toward the drain. These are called hot carriers.

In nanometer technologies, hot carrier effects have subsided. This is because the energy required to create an electron-hole pair, \(E_g \simeq 1.12 eV\), is simply not available if the supply voltage is around 1V.

\[ F_E= E \cdot q \]

\[\begin{align} E_k &= F_E \cdot s \\ &= E \cdot q \cdot s \end{align}\]

Electrons and holes gaining high kinetic energies in the electric field (hot carriers) may be injected into the gate oxide and cause permanent changes in the oxide-interface charge distribution, degrading the current-voltage characteristics of the MOSFET.

The channel hot-electron (CHE) effect is caused by electons flowing in the channel region, from the source to the drain. This effect is more pronounced at large drain-to-source voltage, at which the lateral electric field in the drain end of the channel accelerates the electrons.

Four different hot carrier injectoin mechanisms can be distinguished: - channel hot electron (CHE) injection - drain avalanche hot carrier (DAHC) injection - secondary generated hot electron (SGHE) injection - substrate hot electron (SHE) injection

HCI is more of a drain-localized mechanism, and is primarily a carrier mobility degradation (and a Vt degradation if the device is operated bi-directionally).

image-20230512213236023

For smaller transistor dimensions, CHE dominates the hot carrier degradation effect

The hot-carrier induced damage in nMOS transistors has been found to result in either trapping of carriers on defect sites in the oxide or the creation of interface states at the silicon-oxide interface, or both.

The damage caused by hot-carrier injection affects the transistor characteristics by causing a degradation in transconductance, a shift in the threshold voltage, and a general decrease in the drain current capability.

HCI seems to have just a weak temperature dependency. Unlike BTI, it seems to be no or just little recovery. As holes are much "cooler" (i.e. heavier) than electrons, the channel hot carrier effect in nMOS devices is shown to be more significant than in pMOS devices.

image-20231106224938502

Degradation saturation effect

HCI model can reproduce the saturation effect if stress time is long enough

image-20230513112108262

TDDB

TDDB effect is also related to oxide traps. In general, TDDB refers to the loss of isolating properties of a dielectric layer. If this dielectric layer is the gate oxide, TDDB will initially lead to an increase in the gate tunnelling current.

This soft breakdown can already lead to a parametric degradation. After a long accumulation period, TDDB leads to a catastrophic reduction of the channel to gate insulation and thus a functional failure of the transistor.

image-20230513105908505

Scaling drive more concerns in TDDB

img

img

waveform-dependent nature

The figure below illustrates the waveform-dependent nature of these mechanisms – as described earlier, BTI and HCI depend upon the region of active device operation. The slew rate of the circuit inputs and output will have a significant impact upon these mechanisms, especially HCI.

  • Negative bias temperature instability (NBTI). This is caused by constant electric fields degrading the dielectric, which in turn causes the threshold voltage of the transistor to degrade. That leads to lower switching speeds. This effect depends on the activity level of the circuits, with heavier impact on parts of the design that don’t switch as often, such as gated clocks, control logic, and reset, programming and test circuitry.
  • Hot carrier injection (HCI). This is caused by fast-moving electrons inserting themselves into the gate and degrading performance. It primarily occurs on higher-voltage modes and fast switching signals.

image-20230513110202915

  • longer channel length help both BTI and HCI
  • larger \(V_{ds}\) help BTI, but hurt HCI
  • lower temperature help BTI of core device, but hurt that of IO device for 7nm FinFET

MOSRA

MOSRA is a 2-step simulation: 1) Age computation, 2) Post-age analysis

TMI

BTI recovery effect NOT included for N7

Stochastic Nature of Reliability Mechanisms

A fraction of devices will fail

img

img

Circuit Simulations

image-20231106230145351

image-20231106230226203

Heat transfer, thermal resistance

image-20241120222920258


image-20241120221254833

image-20241120221405337

image-20241120223053280

reference

Spectre Tech Tips: Device Aging? Yes, even Silicon wears out - Analog/Custom Design (Analog/Custom design) - Cadence Blogs - Cadence Community https://shar.es/afd31p

S. Liao, C. Huang, and A. C. J. X. T. Guo, "New Generation Reliability Model," Dec 2016. [Online]. Available: http://www.mos-ak.org/berkeley_2016/publications/T11_Xie_MOS-AK_Berkeley_2016.pdf. [Accessed Aug 2018]

Tianlei Guo, Jushan Xie, "A Complete Reliability Solution: Reliability Modeling, Applications, and Integration in Analog Design Environment" [https://mos-ak.org/beijing_2018/presentations/Tianlei_Guo_MOS-AK_Beijing_2018.pdf]

FinFET Reliability Analysis with Device Self-Heating via @DanielNenni https://semiwiki.com/eda/synopsys/5085-finfet-reliability-analysis-with-device-self-heating/

Chris Changze Liu 刘长泽,Hisilicon, Huawei, "Reliability Challenges in Advanced Technology Node" https://www.tek.com.cn/sites/default/files/2018-09/reliability-challenges-in-advanced-technology-node.pdf

Ben Kaczer, imec. FEOL reliability: from essentials to advanced and emerging devices and circuits. 2016 IRPS Tutorial

Ben Kaczer, imec. Present and Future of FEOL Reliability—from Dielectric Trap Properties to Reliable Circuit Operation. 2016 IEDM 2016 [link]

Kang, Sung-Mo Steve, Yusuf Leblebici and Chulwoo Kim. “CMOS Digital Integrated Circuits: Analysis & Design, 4th Edition.” (2014).

Behzad Razavi. "Design of Analog CMOS Integrated Circuits" (2016)

Basel Halak. Ageing of Integrated Circuits : Causes, Effects and Mitigation Techniques. Cham, Switzerland: Springer, 2020. ‌

Elie Maricau, and Georges Gielen. Analog IC Reliability in Nanometer CMOS. Springer Science & Business Media, 2013. ‌

Transistor Aging Intensifies At 10/7nm And Below https://semiengineering.com/transistor-aging-intensifies-10nm/

Modeling Effects of Dynamic BTI Degradation on Analog and Mixed-Signal CMOS Circuits. MOS-AK/GSA Workshop, April 11-12, 2013, Munich https://www.mos-ak.org/munich_2013/presentations/05_Leonhard_Heiss_MOS-AK_Munich_2013.pdf

Challenges and Solutions in Modeling and Simulation of Device Self-heating, Reliability Aging and Statistical Variability Effects https://www.mos-ak.org/beijing_2018/presentations/Dehuang_Wu_MOS-AK_Beijing_2018.pdf

New Generation Reliability Model https://www.mos-ak.org/berkeley_2016/publications/T11_Xie_MOS-AK_Berkeley_2016.pdf

FinFET SPICE Modeling: Synopsys Solutions to Simulation Challenges of Advanced Technology Nodes https://www.mos-ak.org/washington_dc_2015/presentations/T03_Joddy_Wang_MOS-AK_Washington_DC_2015.pdf

A. Zhang et al., "Reliability variability simulation methodology for IC design: An EDA perspective," 2015 IEEE International Electron Devices Meeting (IEDM), Washington, DC, USA, 2015, pp. 11.5.1-11.5.4, doi: 10.1109/IEDM.2015.7409677.

W. -K. Lee et al., "Unifying self-heating and aging simulations with TMI2," 2014 International Conference on Simulation of Semiconductor Processes and Devices (SISPAD), Yokohama, Japan, 2014, pp. 333-336, doi: 10.1109/SISPAD.2014.6931631.

Aging and Self-Heating in FinFETs - Breakfast Bytes - Cadence Blogs - Cadence Community https://community.cadence.com/cadence_blogs_8/b/breakfast-bytes/posts/aging-and-self-heating

Article (20482350) Title: Measure the Impact of Aging in Spectre Technology URL: https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009ESBFUA4

Karimi, Naghmeh, Thorben Moos and Amir Moradi. “Exploring the Effect of Device Aging on Static Power Analysis Attacks.” IACR Trans. Cryptogr. Hardw. Embed. Syst. 2019 (2019): 233-256.[link]

Self-Heating Issues Spread https://semiengineering.com/self-heating-issues-spread/

Y. Zhao and Y. Qu, "Impact of Self-Heating Effect on Transistor Characterization and Reliability Issues in Sub-10 nm Technology Nodes," in IEEE Journal of the Electron Devices Society, vol. 7, pp. 829-836, 2019, doi: 10.1109/JEDS.2019.2911085.

timing_aocv_derate_mode

1
timing_aocv_derate_mode{aocv_multiplicative | aocv_additive}

Default: aocv_multiplicative

Controls the AOCV derating mode.

When set to aocv_multiplicative, the derating factor will be calculated as AOCV derating * OCV derating, which is set using the set_timing_derate command.

When set to aocv_additive, the derating factor will be calculated as AOCV derating + OCV derating values.

When you use this global variable, the report_timing command shows the total_derate column in the timing report output, which allows you to view and cross-check the calculated total derate factor.

To set this global variable, use the set_global command.

image-20221210143256639

reference

Genus Attribute Reference 22.1

Innovus Text Command Reference 22.10

Article (20416394) Title: Analysis with Advanced On-chip Variation (AOCV) derating in EDI system and ETS URL: https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od000000050NxEAI

0%