⭐ where \(S_{x_n}^T=\frac{\partial
T}{\partial x_n}\frac{x_n}{T}\) is relative
sensitivity
relative sensitivity connect \(\frac{dx_n}{x_n}\) with total relative
variation \(\frac{dT}{T}\)
And \(dT\) can be expressed as \[
dT =\sum_{n=1}^N S_{x_n}^T T\cdot \frac{dx_n}{x_n} = \sum_{n=1}^N
x_n'\cdot \frac{dx_n}{x_n}
\] ⭐ where \(x_n'= S_{x_n}^T
T\) is the contribution of \(x_n\) in \(T\)
⭐ For parallel or series resistors, it can prove \(\sum_{n=1}^N S_{x_n}^T = 1\) and $ _{n=1}^N
x_n'=T$
Here \(T= R_1 \parallel R_2 =
\frac{R_1R_2}{R_1+R_2}\), and \(T|_{R_1=8000, R_2=2000} = 1600\)
The contribution of \(R_1\) and
\(R_2\) to \(T\)\[\begin{align}
R_1' &= S_{R_1}^T T | _{R_1=8000, R_2=2000} = 320 \\
R_2' &= S_{R_2}^T T | _{R_1=8000, R_2=2000} = 1280
\end{align}\]
similarly finger 1 \[
\overline{i_{tot,1}^2} =
g_m^2\left(4kT\frac{R_G}{3}\right)\frac{1}{2^2\cdot 2}
\] Assuming uncorrelated \[
\overline{i_{tot}^2} = \sum_{N=0}^1\overline{i_{tot,N}^2}
=g_m^2\left(4kT\frac{R_G}{3}\right)\frac{1}{2^2\cdot 2} \cdot 2 =
g_m^2\left(4kT\frac{R_G}{3}\right)\frac{1}{2^2}
\] Generally \[
\overline{i_{tot}^2} = g_m^2\left(4kT\frac{R_G}{3}\right)\frac{1}{N^2}
\] where the gate is decomposed into \(N\) parallel fingers
two-side poly contact
We fracture Gate poly at the center point, then we obtain 2
segments, both have same \(\frac{g_m}{2}\) and \(R_G/2\).
The derivation procedure is same with folding structure, i.e. plug
\(N=2\) into \(\overline{i_{tot}^2} =
g_m^2\left(4kT\frac{R_G}{3}\right)\frac{1}{N^2}\)
That is \[
\overline{i_{tot}^2} = g_m^2\left(4kT\frac{R_G}{12}\right)
\] The input referred noise of gate resistance \[
\overline{V_{nRG}^2} = 4kT\frac{R_G}{12}
\]
Gate
resistance handling by parasitic extraction tools
They fracture the poly line at the intersection with the active
(diffusion) layer, breaking it into "gate poly"(poly over
active) and "field poly" (poly outside
active)
gploy, fpoly
Gate poly is also fractured at the center point. Gate instance pin of
the MOSFET (SPICE model) is connected to the center point of the gate
poly. Gate poly is described by two parasitic resistors,
connecting the fracture points.
MOSFET extrinsic parasitic capacitance between gate poly and source /
drain diffusion and contacts is calculated by parasitic extraction
tools, and assigned to the nodes of the resistive networks.
Different extraction tools do this differently - some tools connect
these parasitic capacitances to the center point of the gate poly, while
some other tools connect them to the end points of the gate poly
resistors.
\(\Delta\)
gate model
This distributed network has a different AC and transient response
than a simple lumped one-R and one-C circuit.
It was shown [B. Razavi] that such RC network behaves approximately
the same as a network with one R and one C element, where C is the
total capacitance, and R=1/3 * W/L rsh for single-side
connected poly, and R=1/12 W/L * rsh for double-sided connected
poly.
These coefficients - 1/3 and 1/12 - effectively enable an accurate
reduced order model for the gate, reducing a large number of R and C
elements to two (or three) resistors and one capacitor.
Gate Delta Model: where a gate is described by two
positive and one negative resistors
only applicable to contacts on gate overhangs
invalid for self-aligned gate contacts, where gate contact land
directly on top of gate, not gate overhang
Some SPICE simulators have problems handling negative
resistors, that's possibly why this model did not get a wide
adoption. Some foundries and PDKs support delta gate model, while some
others don't.
Vertical component of
gate resistance
In "old" technologies (pre-16nm), gate resistance was dominated by
lateral resistance. However, in advanced technologies, multiple
interfaces between gate material layers lead to a large vertical gate
resistance.
It's very easy to check this in DSPF file - if gate instance pin is
connected directly to the center of the gate poly - vertical resistance
is not accounted for. If it is connected by a positive resistor to the
center of the gate poly - that resistors represents the vertical gate
resistance.
decap
leakage current is determined by \(R_s +
R_p\), and \(R_p \gg R_s\)
low freq: \(Z=R_s + R_p\)
high freq: \(Z=R_s\)
An example: \(R_s=200\space
\Omega\), \(R_p = 8 \space
M\Omega\) and \(C_\text{gate}=10\space
fF\)
reference
⭐ B. Razavi, Y. Ran, and K. F. Lee, “Impact of Distributed Gate
Resistance on the Performance of MOS Devices,” IEEE Trans. Circuits and
Systems, Part I, pp. 750–754, Nov. 1994.
⭐ Maxim Ershov, Diakopto. "Gate Resistance in IC design flow", [link,
pdf]
Saha, Samar K.. “FinFET Devices for VLSI Circuits and Systems.”
(2020).
Harpe, Pieter J. A., Andrea Baschirotto and Kofi A. A. Makinwa.
“Hybrid ADCs, Smart sensors for the IoT, and Sub-1V and Advanced node
analog circuit design: Advances in Analog Circuit Design 2017.”
(2018).
Chauhan, Yogesh Singh. FinFET Modeling for IC Simulation and Design:
Using the BSIM-CMG Standard. London, UK: Academic Press, 2015.
A.J.Sholten et al., "FinFET compact modelling for analogue and RF
applications", IEDM'2010, p.190.
W. Wu and M. Chan, “Gate resistance modeling of multifin MOS
devices,” IEEE Electron Device Letters, vol. 27, no. 1, pp. 68-70, Jan.
2006.
A. L. S. Loke, C. K. Lee and B. M. Leary, "Nanoscale CMOS
Implications on Analog/Mixed-Signal Design," 2019 IEEE Custom Integrated
Circuits Conference (CICC), Austin, TX, USA, 2019, pp. 1-57, doi:
10.1109/CICC.2019.8780267.
// %t format will scale the rounded value to represent timeprecision // 1.1002*10e-9/1e-12 = 11002 $display("$realtime %%t = %t", $realtime); $display("$time %%t = %t", $time); end endmodule
The time unit and time precision can be specified in the following
two ways: - Using the compiler directive `timescale - Using
the keywords timeunit and timeprecision
1 2 3 4 5 6 7 8 9 10
module D (...); timeunit100ps; timeprecision10fs; ... endmodule
module E (...); timeunit100ps / 10fs; // timeunit with optional second argument ... endmodule
The minimum of timeprecision determine %t
output, the nearest timeunit and timeprecision
determine the round of $realtime and $time. Of
course, the simulator follow the time tick shown by
$realtime.
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
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\)
Sinusoidal signal \(x[n]\)
DFS is \(X_k\), and DTFT shall be
\(\frac{2\pi}{N}X_k(e^{j\omega})\)
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\)
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.
Therefore, the equivalent noise bandwidth \(B_{enbw}\) is given by
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.
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
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}
\]
+/- frequency spectrum and apply Parseval's theorem
noise power \[\begin{align}
P_n &= \sum_{k=0}^{N-1}{\frac{(X_{w,n}(k))^2}{N^2}} \\
&= \frac{X_{w,n}^2}{N^2}\cdot N \\
&= \frac{X_{w,n}^2}{N}
\end{align}\]
note white noise, that is \(X_n(i) =
X_n(j)\) for any \(i \neq
j\)
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.
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.
%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);
The power spectral density plots for methods 2 and 3 exactly match
that for method 1 (shown above).
A variety of techniques can be used to minimize this noise, for
example by keeping analog devices surrounded by guard rings, or using a
separate supply for the substrate/well taps.
However guard rings alone cannot prevent noise coupling deep in
the substrate, only surface currents.
PMOS are less noisy than NMOS since PMOS has its nwell which isolates
the substrate noise, but such is not valid for NMOS .
DNW
The N-channel devices built directly into the P-type substrate are
not as effectively isolated as P-channel devices in their N-wells. This
is because despite creating a P+ guard ring around the devices, there
remains an electrical path below the guard ring for charge to flow.
To overcome this issue, a deep N-well can be used to more
effectively isolate these N-channel devices.
the P-well is separated, allowing the voltage to be controlled
because the circuit within the deep N-well is separated from the
p-substrate in this structure, there is the benefit that this circuitry
is less susceptible to noise that propagates through the
p-substrate.
reference
Chew, K.W., Zhang, J., Shao, K., Loh, W., & Chu, S.F. (2002).
Impact of Deep N-well Implantation on Substrate Noise Coupling and RF
Transistor Performance for Systems-on-a-Chip Integration. 32nd European
Solid-State Device Research Conference, 251-254. URL:[slides,
paper]
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.
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.
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.
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.
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.
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
periodic signal
Applying the Hanning window (or any window) to a periodic signal
creates leakage.
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.
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 calculationsums up the energy within a
frequency range.
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.
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.
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
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.
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.
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.
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.
When \(f=0\)
\[
a_r(f) + ja_i(f) = \sum_{k=0}^{N-1}w_k = N
\]
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.
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);
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
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
Below table is caputre of Aragio's TSMC16: LVDS datasheet
BEOL corner
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.
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
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
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.
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.
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.