imp and port connectors are sufficient for
modeling most connections, but there is third connector,
export, which is used exclusively in hierarchical
connections.
Normally hierarchical routing is not required. A port on
an UVC monitor can be connected directly to an imp in a
scoreboard by specifying full hierarchical pathname (e.g.,
env.agent.monitor.analysis_port). The structure of an UVC is fixed and
so the user knows to look in the monitor component for the analysis
ports.
However the internal hierarchy of a module UVC is more arbitrary, and
it may be convenient to route all the module UVC connectors to the top
level to allow use without knowledge of the internal structure.
On the initiator side
ports are routed up the hierarchy via other port instances
On the target side
only the component which defines the communication method is allowed
to have an imp instance. So we need a third object to route
connections up the target side hierarchy - export
The hierarchical route must be connected at each level in the
direction of control flow:
1
initiator.connect(target)
Connection rules are as follows:
port initiators can be connected to port,
export or imp targets
export initiators can be connected to
export or imp targets
imp cannot be connection initiator. imp is
target only and is always the last connection object on a route
uvm_analysis_port
1 2 3
class uvm_analysis_port # ( type T = int ) extends uvm_port_base # (uvm_tlm_if_base #(T,T))
uvm_analysis_port
1 2 3
class uvm_analysis_port # ( type T = int ) extends uvm_port_base # (uvm_tlm_if_base #(T,T))
uvm_analysis_imp
1 2 3 4
class uvm_analysis_imp #( type T = int, type IMP = int ) extends uvm_port_base #(uvm_tlm_if_base #(T,T))
QA
What are the three distinct functions of a scoreboard?
Reference model, expected data storage and comparison
To how many consumer components can an analysis port be
connected?
Any number, including zero
What are the names of the two declarations made available by the
following macro:
1
`uvm_analysis_imp_decl(_possible)
Subclass uvm_analysis_imp_possible
Method write_possible
Why should a scoreboard clone the data received by a
write method?
The write method only sends a reference, therefore if
the sending component uses the same reference for every data item,
overwriting of data in the storage function of the scoreboard is
possible without cloning.
// YAPP Interface to the DUT yapp_if in0(clock, reset); // reset will now be generated by the Clock and Reset UVC // input: clock; output: reset, run_clock, clock_period clock_and_reset_if clk_rst_if(.clock(clock), .reset(reset), .run_clock(run_clock), .clock_period(clock_period)); hbus_if hif(.clock(clock), .reset(reset));
Error-[SV-LCM-PND] Package not defined ../sv/yapp_if.sv, 18 yapp_if, "yapp_pkg::" Package scope resolution failed. Token 'yapp_pkg' is not a package. Originating module 'yapp_if'. Move package definition before the use of the package.
As you can see , the uvm_config_db::set is after the
factory type_id::create, but receive_value
is still 100, I believe that build_phase
of upper hierarchy finish first before create lower components.
But the recommendation in literature and many web is place
uvm_config_db::set before create
a generalization of the continuous-time Fourier
transform
converts integro-differential equations into algebraic
equations
z-transforms
a generalization of the discrete-time Fourier
transform
converts difference equations into algebraic
equations
system function,transfer function: \(H(s)\)
frequency response: \(H(j\omega)\), if the ROC of \(H(s)\) includes the imaginary axis,
i.e.\(s=j\omega \in \text{ROC}\)
Laplace Transform
To specify the Laplace transform of a signal, both the
algebraic expression and the ROC are
required. The ROC is the range of values of \(s\) for the integral of \(t\) converges
bilateral Laplace transform
where \(s\) in the ROC and \(\mathfrak{Re}\{s\}=\sigma\)
The formal evaluation of the integral for a general \(X(s)\) requires the use of contour
integration in the complex plane. However, for the class of
rational transforms, the inverse Laplace transform can be
determined without directly evaluating eq. (9.56) by using the technique
of partial fraction expansion
ROC Property
The range of values of s for which the integral in converges is
referred to as the region of convergence (which we
abbreviate as ROC) of the Laplace transform
i.e. no pole in RHP for stable LTI sytem
System Causality
For a causal LTI system, the impulse response is zero for \(t \lt 0\) and thus is right
sided
causality implies that the ROC is to the right of the rightmost pole,
but the converse is not in general true, unless the system function is
rational
System Stability
The system is stable, or equivalently, that \(h(t)\) is absolutely
integrable and therefore has a Fourier transform, then the ROC
must include the entire \(j\omega\)-axis
all of the poles have negative real
parts
Unilateral Laplace transform
analyzing causal systems and, particularly,
systems specified by linear constant-coefficient differential equations
with nonzero initial conditions (i.e., systems
that are not initially at rest)
A particularly important difference between the properties of the
unilateral and bilateral transforms is the differentiation
property\(\frac{d}{dt}x(t)\)
Laplace Transform
Bilateral Laplace Transform
\(sX(s)\)
Unilateral Laplace Transform
\(sX(s)-x(0^-)\)
Integration by parts for unilateral Laplace transform
in Bilateral Laplace Transform
In fact, the initial- and final-value
theorems are basically unilateral transform
properties, as they apply only to signals \(x(t)\) that are identically \(0\) for \(t \lt
0\).
\(z\)-Transform
The \(z\)-transform for
discrete-time signals is the counterpart of the Laplace transform for
continuous-time signals
where \(z=re^{j\omega}\)
The \(z\)-transform evaluated on the
unit circle corresponds to the Fourier transform
ROC Property
system stability
The system is stable, or equivalently, that \(h[n]\) is absolutely
summable and therefore has a Fourier transform, then the ROC
must include the unit circle
The time shifting property is different in the
unilateral case because the lower limit in the unilateral transform
definition is fixed at zero, \(x[n-n_0]\)
bilateral \(z\)-transform
unilateral \(z\)-transform
Initial rest condition
Initial Value Theorem
& Final Value Theorem
Laplace Transform
Two valuable Laplace transform theorem
Initial Value Theorem, which states that it is always possible to
determine the initial value of the time function \(f(t)\) from its Laplace transform \[
\lim _{s\to \infty}sF(s) = f(0^+)
\]
Final Value Theorem allows us to compute the constant
steady-state value of a time function given its Laplace
transform \[
\lim _{s\to 0}sF(s) = f(\infty)
\]
If \(f(t)\) is step response, then
\(f(0^+) = H(\infty)\) and \(f(\infty) = H(0)\), where \(H(s)\) is transfer function
\(z\)-transform
Initial Value Theorem \[
f[0]=\lim_{z\to\infty}F(z)
\] final value theorem \[
\lim_{n\to\infty}f[n]=\lim_{z\to1}(z-1)F(z)
\]
discrete-time systems also can be analyzed by means of the Laplace
transform — the \(z\)-transform is the
Laplace transform in disguise and that discrete-time systems can be
analyzed as if they were continuous-time systems.
A continuous-time system with transfer function \(H(s)\) that is identical in
structure to the discrete-time system \(H[z]\) except that the delays in \(H[z]\) are replaced by elements that delay
continuous-time signals.
The \(z\)-transform of a
sequence can be considered to be the Laplace transform of
impulses sampled train with a change of variable \(z = e^{sT}\) or \(s = \frac{1}{T}\ln z\)
Note that the transformation \(z =
e^{sT}\) transforms the imaginary axis in the \(s\) plane (\(s =
j\omega\)) into a unit circle in the \(z\) plane (\(z =
e^{sT} = e^{j\omega T}\), or \(|z| =
1\))
Note: \(\bar{h}(t)\) is the impulse
sampled version of \(h(t)\)
Note \(\bar{h}(t)\) is impulse
sampled signal, whose CTFT is scaled by \(\frac{1}{T}\) of continuous signal \(h(t)\), \(\overline{H}[e^{sT}]=\overline{H}(e^{sT})\)
is the approximation of continuous time system response, for example
summation \(\frac{1}{1-z^{-1}}\)\[
\frac{1}{1-z^{-1}} = \frac{1}{1-e^{-sT}} \approx \frac{1}{j\omega \cdot
T}
\] And we know transform of integral \(u(t)\) is \(\frac{1}{s}\), as expected there is ratio
\(T\)
Staszewski, Robert Bogdan, and Poras T. Balsara. All-digital
frequency synthesizer in deep-submicron CMOS. John Wiley &
Sons, 2006
D. Sundararajan. Signals and Systems A Practical Approach Second
Edition, 2023
impulse invariance
A straightforward and useful relationship between the
continuous-time impulse response\(h_c(t)\) and the discrete-time impulse
response\(h[n]\)
When \(h[n]\) and \(h_c(t)\) are related through the above
equation, i.e., the impulse response of the discrete-time system is a
scaled, sampled version of \(h_c(t)\), the discrete-time system
is said to be an impulse-invariant version of the continuous-time
system
we have \[
H(e^{j\hat{\omega}}) =
H_c\left(j\frac{\hat{\omega}}{T}\right),\space\space |\hat{\omega}| \lt
\pi
\]
\(h[n] = Th_c(nT)\) and \(T\to 0\)
guarantees \(y_c(nT) = y_r(nT)\),
i.e. output equivalenceonly at the sampling
instants
\(H_c(j\Omega)\) is
bandlimited and \(T \lt
1/2f_h\)
guarantees \(y_c(t) =
y_r(t)\)
The scaling of \(T\) can
alternatively be thought of as a normalization of the time domain, that
is average impulse response shall be same i.e., \(h[n]\times 1 = h(nT)\times T\)
note that the impulse-invariant transform is
not appropriate for high-pass
responses, because of aliasing
errors
⭐ bandlimited
⭐ bandlimited
Transfer function
& sampled impulse response
continuous-time filter designs to discrete-time designs through
techniques such as impulse invariance
useful functions
using fft
The outputs of the DFT are samples of the DTFT
using freqz
modeling as FIR filter, and the impulse response sequence of an FIR
filter is the same as the sequence of filter coefficients, we can
express the frequency response in terms of either the filter
coefficients or the impulse response
fft is used in freqz internally
freqz method is straightforward, which apply impulse
invariance criteria. Though fft is used for signal
processing mostly,
%% continuous system s = tf('s'); h = 2*pi/(2*pi+s); % First order lowpass filter with 3-dB frequency 1Hz [mag, phs, wout] = bode(h); fct = wout(:)/2/pi; Hct_dB = 20*log10(mag(:));
%% unit impulse response from transfer function subplot(2, 1, 2) z = tf('z', Ts); h = -0.131 + 0.595*z^(-1) -0.274*z^(-2); [y, t] = impulse(h); stem(t*1e10, y*Ts); % !!! y*Ts is essential grid on; title("unit impulse response"); xlabel('Time(\times 100ps)'); ylabel('mag');
impulse:
For discrete-time systems, the impulse response is the response to a
unit area pulse of length Ts and height 1/Ts,
where Ts is the sample time of the system. (This pulse
approaches \(\delta(t)\) as
Ts approaches zero.)
Scale output:
Multiply impulse output with sample period
Ts in order to correct 1/Ts height of
impulse function.
PSD transformation
If we have power spectrum or power spectrum density of both edge's
absolute jitter (\(x(n)\)) , \(P_{\text{xx}}\)
Then 1UI jitter is \(x_{\text{1UI}}(n)=x(n)-x(n-1)\), and Period
jitter is \(x_{\text{Period}}(n)=x(n)-x(n-2)\), which
can be modeled as FIR filter, \(H(\omega) =
1-z^{-k}\), i.e. \(k=1\) for 1UI
jitter and \(k=2\) Period jitter
\[\begin{align}
P_{\text{xx}}'(\omega) &= P_{\text{xx}}(\omega) \cdot \left|
1-z^{-k} \right|^2 \\
&= P_{\text{xx}}(\omega) \cdot \left| 1-(e^{j\omega
T_s})^{-k} \right|^2 \\
&= P_{\text{xx}}(\omega) \cdot \left| 1-e^{-j\omega T_s
k} \right|^2
\end{align}\]
an algebraic transformation between the variables \(s\) and \(z\) that maps the entire
imaginary\(j\Omega\)-axis in the
\(s\)-plane to one revolution of the
unit circle in the \(z\)-plane
\[\begin{align}
z &= \frac{1+s\frac{T_s}{2}}{1-s\frac{T_s}{2}} \\
s &= \frac{2}{T_s}\cdot \frac{1-z^{-1}}{1+z^{-1}}
\end{align}\]
where \(T_s\) is the sampling
period
frequency warping:
The bilinear transformation avoids the problem of
aliasing encountered with the use of impulse
invariance, because it maps the entire imaginary axis of the \(s\)-plane onto the unit circle in the \(z\)-plane
impulse invariancecannot be used to
map highpass continuous-time designs to high pass
discrete-time designs, since highpass continuous-time filters are
not bandlimited
Due to nonlinear warping of the frequency axis introduced by the
bilinear transformation, bilinear transformation applied to a
continuous-time differentiator will not result in a
discrete-time differentiator. However, impulse invariance can be applied
to bandlimited continuous-time differentiator
The feature of the frequency response of discrete-time
differentiators is that it is linear with frequency
The simple approximation \(z=e^{sT}\approx1+sT\), the first
equal come from impulse invariance
essentially
Because the mapping between the continuous (\(s\)-plane) and discrete domains (\(z\)-plane) cannot be done exactly,
the various design methods are at best approximations
Perhaps the simplest method for low-order
systems is to use backward-difference
approximation to continuous domain derivatives
Note this approximation is not same with
impulse invariance, e.g. \(\frac{1}{s^3} \to
\frac{T^3z(z+1)}{2(-1)^3}\) employing impulse invariance
\[
1- z^{-1} = 1-e^{j\Omega T} = 1-\cos(\omega T) + j\sin(\Omega T) \approx
1-1+j\Omega T = s T
\]
That is
\[
s \approx \frac{1-z^{-1}}{T}
\]
Matched z-Transform (Root
Matching)
The matched Z-transform method, also called the
pole-zero mapping or pole-zero matching method, and
abbreviated MPZ or MZT
\[
z = e^{sT}
\]
1 2 3 4 5 6 7 8 9 10
% https://www.dsprelated.com/showarticle/1642.php
%II One-pole RC filter model Ts= 1/fs; Wc= 1/(R*C); % rad -3 dB frequency fc= Wc/(2*pi); % Hz -3 dB frequency a1= -exp(-Wc*Ts); b0= 1 + a1; % numerator coefficient a= [1 a1]; % denominator coeffs y_filt= filter(b0,a,y); % filter the DAC's output signal y
Impulse Invariance
(impinvar)
To extend the accurate frequency range, we would need to
increase the sample rate
impulse-invariant transform is not appropriate for high-pass
responses, because of aliasing
errors
Note \(h[n] = Th_c(nT)\), Multiply
the analog impulse response by this gain to
enable meaningful comparison (other response, like step, the
amplitude correction is not needed)
% https://www.dsprelated.com/showarticle/1055.php % modified by hguo, Sun Jun 22 09:21:48 AM CST 2025
% butter_3rd_order.m 6/4/17 nr % Starting with the butterworth transfer function in s, % Create discrete-time filter using the impulse invariance xform and compare % its time and frequency responses to those of the continuous time filter. % Filter fc = 1 rad/s = 0.159 Hz
% I. Given H(s), find H(z) using the impulse-invariant transform fs= 4; % Hz sample frequency % 3rd order butterworth polynomial num= 1; den= [1221]; [b,a]= impinvar(num,den,fs); % coeffs of H(z) %[b,a]= bilinear(num,den,fs)
% II. Impulse Response and Step Response % find discrete-time impulse response Ts= 1/fs; N= 16*fs; n= 0:N-1; t= n*Ts; x= [1, zeros(1,N-1)]; % impulse x= fs*x; % make impulse response amplitude independent of fs y= filter(b,a,x); % filter the impulse subplot(2,2,1),plot(t,y,'.'),grid, xlabel('seconds')
Convolution Property of the Fourier Transform \[
x(t)*h(t)\longleftrightarrow X(\omega)H(\omega)
\] pulse response can be obtained by convolve impulse response
with UI length rectangular \[
H(\omega) = \frac{Y_{\text{pulse}}(\omega)}{X_{\text{rect}}(\omega)} =
\frac{Y_{\text{pulse}}(\omega)}{\text{sinc}(\omega)}
\]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
% Convolution Property of the Fourier Transform % pulse(t) = h(t) * rect(t) % -> fourier transform % PULSE = H * RECT % FT(RECT) = sinc % H = PULSE/RECT = PULSE/sinc xx = pi*ui.*w(1:plt_num); y_sinc = ui.*sin(xx)./xx; y_sinc(1) = y_sinc(2); y_sinc = y_sinc/y_sinc(1); % we dont care the absoulte gain h_ban1 = abs(h(1:plt_num))./abs(y_sinc);
Notice that the complete definition of \(\operatorname{sinc}\) on \(\mathbb R\) is \[
\operatorname{Sa}(x)=\operatorname{sinc}(x) = \begin{cases} \frac{\sin
x}{x} & x\ne 0, \\ 1, & x = 0, \end{cases}
\] which is continuous.
To approach to real spectrum of continuous rectangular waveform,
\(\text{NFFT}\) has to be big
enough.
\[
f_\text{SRF} = \frac{1}{2\pi \sqrt{LC}}
\] The SRF of an inductor is the frequency at which the parasitic
capacitance of the inductor resonates with the ideal inductance of the
inductor, resulting in an extremely high impedance. The inductance only
acts like an inductor below its SRF
For choking applications, chose an inductor
whose SRF is at or near the frequency to be attenuated
For other applications, the SRF should be at least
10 times higher than the operating frequency
it is more important to have a relatively flat inductance
curve (constant inductance vs. frequency) near the required
frequency
Create a constant, resistive input impedance in the presence of a
heavy load capacitance (ESD protection circuit)
L1 = L2 for impedance matching
The use of T-coils can dramatically increase the
bandwidth and improve the return loss
in both TXs and RXs.
equivalent circuit
Note the negative sign of \(L_M\),
which is a consequence of magnetic coupling; owing to this, the driving
impedance at the center tap as seen by \(C\) is lower than without the
coupling.
tcoil and tapped inductor share same EM simulation result, and use
modelgen with different model formula.
The relationship is \[
L_{\text{sim}} = L1_{\text{sim}}+L2_{\text{sim}}+2\times k_{\text{sim}}
\times \sqrt{L1_{\text{sim}}\cdot L2_{\text{sim}}}
\] where \(L1_{\text{sim}}\),
\(L2_{\text{sim}}\) and \(k_{\text{sim}}\) come from tcoil model
result, \(L_{\text{sim}}\) comes from
tapped inductor model result
\(k_{\text{sim}}\) in EMX have
assumption, induce current from P1 and P2 Given Dot Convention:
Same direction : k > 0
Opposite direction : k < 0
So, the \(k_{\text{sim}}\) is
negative if routing coil in same direction
S. Shekhar, J. S. Walling and D. J. Allstot, "Bandwidth Extension
Techniques for CMOS Amplifiers," in IEEE Journal of Solid-State
Circuits, vol. 41, no. 11, pp. 2424-2439, Nov. 2006
B. Razavi, "The Bridged T-Coil [A Circuit for All Seasons]," IEEE
Solid-State Circuits Magazine, Volume. 7, Issue. 40, pp. 10-13, Fall
2015.
B. Razavi, "The Design of Broadband I/O Circuits [The Analog Mind],"
IEEE Solid-State Circuits Magazine, Volume. 13, Issue. 2, pp. 6-15,
Spring 2021.
S. Galal and B. Razavi, "Broadband ESD protection circuits in CMOS
technology," in IEEE Journal of Solid-State Circuits, vol. 38, no. 12,
pp. 2334-2340, Dec. 2003, doi: 10.1109/JSSC.2003.818568.
M. Ker and Y. Hsiao, "On-Chip ESD Protection Strategies for RF
Circuits in CMOS Technology," 2006 8th International Conference on
Solid-State and Integrated Circuit Technology Proceedings, 2006, pp.
1680-1683, doi: 10.1109/ICSICT.2006.306371.
M. Ker, C. Lin and Y. Hsiao, "Overview on ESD Protection Designs of
Low-Parasitic Capacitance for RF ICs in CMOS Technologies," in IEEE
Transactions on Device and Materials Reliability, vol. 11, no. 2, pp.
207-218, June 2011, doi: 10.1109/TDMR.2011.2106129.
Ross, Bob and Cong Ling. “Wang Algebra: From Theory to Practice.”
IEEE Open Journal of Circuits and Systems 3 (2022):
274-285.
S. Lin, D. Huang and S. Wong, "Pi Coil: A New Element for Bandwidth
Extension," in IEEE Transactions on Circuits and Systems II: Express
Briefs, vol. 56, no. 6, pp. 454-458, June 2009
Starič, Peter and Erik Margan. “Wideband amplifiers.” (2006).
Inertial delay models are simulation delay models that filter pulses
that are shorted than the propagation delay of Verilog gate
primitives or continuous assignments
(assign #5 y = ~a;)
COMBINATIONAL LOGIC ONLY !!!
Inertial delays swallow glitches
sequential logic implemented with procedure
assignments DON'T follow the rule
reg in; ///////////////////////////////////////////////////// wire out; assign #2.5 out = in; ///////////////////////////////////////////////////// initialbegin in = 0; #16; in = 1; #2; in = 0; #10; in = 1; #4; in = 0; end
//////////// combination logic //////////////////////// always @(*) #2.5 out = in; /////////////////////////////////////////////////////// /* the above code is same with following code always @(*) begin #2.5; out = in; end */ initialbegin in = 0; #16; in = 1; #2; in = 0; #10; in = 1; #4; in = 0; end
alwaysbegin clk = 0; #5; foreverbegin clk = ~clk; #5; end end //////////// sequential logic ////////////////// always @(posedge clk) #2.5 out <= in; /////////////////////////////////////////////// initialbegin in = 0; #16; in = 1; #2; in = 0; #10; in = 1; end
initialbegin #50; $finish(); end
endmodule
As shown above, sequential logic DON'T follow inertial delay
Transport delay
Transport delay models are simulation delay models that pass all
pulses, including pulses that are shorter than the propagation delay of
corresponding Verilog procedural assignments
Transport delays pass glitches, delayed in time
Verilog can model RTL transport delays by adding explicit
delays to the right-hand-side (RHS) of a nonblocking
assignment
reg in; reg out; /////////////// nonblocking assignment /// always @(*) begin out <= #2.5 in; end ///////////////////////////////////////// initialbegin in = 0; #16; in = 1; #2; in = 0; #10; in = 1; #4; in = 0; end
reg in; reg out; /////////////// blocking assignment /// always @(*) begin out = #2.5 in; end ///////////////////////////////////////// initialbegin in = 0; #16; in = 1; #2; in = 0; #10; in = 1; #4; in = 0; end
initialbegin #50; $finish(); end
endmodule
It seems that new event is discarded before previous
event is realized.
auCdl: Analog and Microwave CDL, is a netlister used for creating
CDL netlist for analog circuits
auLVS: Analog and Microwave LVS, is used for analog circuit
LVS
EMX ports
plain labels
pin layer
uncheck Cadence pins in Advanced
options
rectangle pins
drawing layer rectangle pin and specify
Access Direction as intended
check Cadence pins in Advanced
options
The rectangle pins are always selected as driven port while there are
only rectangle pin whether Cadence
pins checked or not.
check ports used for
simulation
use GDS view - EMX
EMX Synthesis Kits
Synthesis is a capability of the EMX Pcell library
and uses scalable model data pre-generated by Continuum for a specific
process and metal scheme combination.
Synthesis is supported by the Pcells that are suffixed
_scalable, and these Pcells have the additional fields
and buttons needed for synthesis.
port order (signals)
emxform.ils
type
Port order
inductor
P1 P2
shield inductor
P1 P2 SHIELD
tapped inductor
P1 P2 CT
tapped shield inductor
P1 P2 CT SHIELD
mom/mim capacitor
P1 P2
tcoil
P1 P2 TAP
shield tcoil
P1 P2 TAP SHIELD
tline
P1 P2
differential tline
P1 P2 P3 P4
EMX device info
name
menu_selection (split with _ )
num_ports
modelgen_type
generic_model_type
plot_fn
Single-ended inductor
inductor_no tap_no shield_single-ended
2
inductor
inductor
EMX_plot_se_ind
Differential inductor
inductor_no tap_no shield_differential
2
inductor
inductor
EMX_plot_diff_ind
Single-ended shield inductor
inductor_no tap_with shield_single-ended
3
shield_inductor
shield_inductor
EMX_plot_se_ind
Differential shield inductor
inductor_no tap_with shield_differential
3
shield_inductor
shield_inductor
EMX_plot_diff_ind
Tapped inductor (diff mode only)
inductor_with tap_no shield_differential mode only
3
center_tapped_inductor
tapped_inductor
EMX_plot_ct_ind
Tapped inductor (common mode too)
inductor_with tap_no shield_also fit common mode
3
center_tapped_inductor_common_mode
tapped_inductor
EMX_plot_ct_ind
Tapped shield inductor (diff only)
inductor_with tap_with shield_differential mode only
Assume CT i.e. port 3 in S-parameter is grounded,
(z (EMX_differential (nth 0 ys) (nth 1 ys) (nth 3 ys) (nth 4 ys)))
obtain differential impedance with \(Y_{11}\), \(Y_{12}\), \(Y_{21}\) and \(Y_{22}\). \[
Y =
\begin{bmatrix}
Y_{11} & Y_{12}\\
Y_{21} & Y_{22}
\end{bmatrix}
\] Finally, differential inductance and Q are obtained, shown as
below
First obtain differential impedance, \(Z_{diff}\) then apply series equivalent
model \[\begin{align}
C_{diff} &= -\frac{1/Im(Z_{diff})}{2\pi f} \\
Q_{diff} &= -\frac{Im(Z_{diff})}{Re(Z_{diff})}
\end{align}\]
Tline
Open circuit impedance \(Z_o\),
short circuit impedance \(Z_s\) and
characteristic impedance \(Z_0\)
propagation constant is given as \[\begin{align}
\gamma &= \frac{1}{2}\log\left( \frac{Z_0+Z_s}{Z_0-Z_s} \right) \\
&= \alpha + j\beta
\end{align}\] where \(\alpha\)
is attenuation constant and \(\beta\) is phase
constant
The relationship between these parameter and geometry of the
transmission line \[\begin{align}
Z_0 &= \sqrt{\frac{R+j\omega L}{G+j\omega C}} \\
\gamma &= \sqrt{(G+j\omega C)(R+j\omega L)}
\end{align}\] EMX plot the real and imaginary part of \(Z_0\), \(\alpha\) and \(\beta\) of \(\gamma\)
Note EMX plot the absolute value of \(\alpha\) and \(\beta\)
Using 'Cadence pins' as ports with access direction in EMX
simulations [[link](Article (20496398) Title: Using 'Cadence pins' as
ports with access direction in EMX simulations URL:
https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O3w00000AH2OfEAL)]