Re: How to define port in cadence which has a impedance value that is frequency depen
I am trying to use a port with complex value as a output termination in SP simulation of cadence.
What simulator do you use ?
Use correct terminology.
We can use many simulators, e.g. Synopsys HSPICE, Mentor Eldo, Keysight ADSsim, Keysight Goldengate, etc. in Cadence Virtuoso.
For example output port impedance value is 1/(2*pi*freq*C) which is also frequency dependent.
Is there any idea how to do this in cadence?
What do you mean by "
in cadence" ?
Unfortunately "freq" variable cannot be used in Spectre s-parameters simulations.
Wrong.
Frequency expressions are possible by using "$freq" even in Cadence Spectre.
This is available for "analogLib/res", "analogLib/ind" and "analogLib/cap".
However Spectre primitive, "resistor", "inductor" and "capacitor" don't have ability of treating frequency expressions actually.
Spectre treats frequency expressions by Spectre primitive, "bsource" internally.
See "spectre -h bsource".
Currently, we can not use $freq for Spectre primitive, "port".
So use "analogLib/res" and "analogLib/ind" instead of "analogLib/port".
Here negative resistance is not available if you use $freq for r=func($freq) in "analogLib/res".
It seems Spectre primitive, "bsource" can not reflect negative resistance.
On the other hand, Spectre primitive, "resistance" can reflect negative resistance.
"test_freq_expression.scs"
Code:
// Generated for: spectre
// Generated on: Nov 2 13:55:42 2018
// Design library name: My_RFDE_Test
// Design cell name: test_freq_expression
// Design view name: schematic
simulator lang=spectre
global 0
// Library name: My_RFDE_Test
// Cell name: test_freq_expression
// View name: schematic
PORT0 (x1 0) port r=50 x=0 num=1 type=dc
R0 (x1 net1) resistor r=cos(2*acos(-1)/100M*$freq)
L0 (net1 0) inductor l=sin(2*acos(-1)/100M*$freq)/(2*acos(-1)*$freq)
simulatorOptions options psfversion="1.1.0" reltol=1e-3 vabstol=1e-6 \
iabstol=1e-12 temp=25.0 tnom=25.0 scalem=1.0 scale=1.0 gmin=1e-12 \
rforce=1 maxnotes=5 maxwarns=5 digits=5 cols=80 pivrel=1e-3 \
sensfile="../psf/sens.output"
sp sp center=1G span=100M annotate=status
saveOptions options save=selected