Quantcast
Channel: Cadence RF Design Forum
Viewing all 937 articles
Browse latest View live

Cadence Hotfix error

$
0
0

 Hello,

While installing Cadence version 6, we have installed all the necessary packages successfully and we can open the schematic environment even but the hotfixes of Assura 141 and IC616 are giving errors. In the Assura hotfix, it says many modules failed to install while for IC616 it requires some CD during configuration.

Please let us know what is the location of executable file because after installation, we do not find any "bin" folder in /usr/local/cadence/installs/IC616/tools/dfII/
path.

"bin" are present in /usr/local/cadence/installs/IC616/bin and
/usr/local/cadence/installs/IC616/share/bin. Does the absence of "bin"
folder in /usr/local/cadence/installs/IC616/tools/dfII/ path means
incorrect installation?

Also please find attached source file. is this correct?

 setenv LM_LICENSE_FILE XXXX@headnode2


setenv CDS_HOME /usr/local/cadence/installs/IC616
setenv CDS_INST_DIR $CDS_HOME


set CDS_path = ($CDS_HOME/bin $CDS_HOME/share/bin $CDS_HOME/tools/bin)

set path = ($CDS_path)

setenv PATH /bin:$PATH

##setenv CDS_LIC_QA_TesT /tmp/virtuoso_lic.log


setenv PATH /usr/bin:$PATH

 

If someone has encountered the above error and has resolved this, please share.

Regards,  


Noise correlation simulation in pnoise

$
0
0

 Hi,

1. I am using IC6.1.6-64b.500.1 and my simulator version is 10.1.1.296.isr18 64 bit

2. I am simulating a basic downconversion mixer as shown in attached figure. I want to know the correlation between noise at
RF (red) and noise at IF (blue). I tried to follow the following article:
https://www.cadence.com/rl/Resources/white_papers/tdnoise.pdf

In page 7, it uses noisetype=correlations. But this option is not available in this version. How shall I find my required  correlation.

I shall highly appreciate if you provide me an appnote or the steps.

Smith Chart Bug

$
0
0
Somehow when you add label in Smith Chart Plot window, it's really difficult to move label marque on smith chart and sometimes impossible to edit label captions.Hope someone fixes it in next release.

Spectre temperature coefficient oddness

$
0
0

We have a tool that makes subcircuit models of passive components (an integrated inductor in this example).  It can now produce models that have temperature dependence, and in that case the output model includes components with linear temperature coefficients.  There are subcircuit models in both Spectre and Spice format.

When I run Spectre and Spice (ngspice in particular) to play back the models at the nominal temperature (25C), the inductor characteristics are identical.  The problem is that the inductor characteristics differ when I use a temperature (125C in this case) that is different than nominal.

In trying to isolate the problem, I converted the Spectre model into a form that writes out the temperature dependence explicitly.  According to the Spectre Components and Device Models Manual, for something like a resistor, the temperature dependence has this form:

Reff = Rnom * (1 + tc1*(T-tnom))

The temperature dependence of inductors and capacitors is similar.  I changed each line in the Spectre model according to this equation.  For example, I changed this:

R8 (n5 n6) resistor r=27.588830e3 tc1=-2.219425e-03

to this:

R8 (n5 n6) resistor r=27.588830e3*(1+ -2.219425e-03*(temp-tnom))

When I run Spectre on this model with explicit temperature dependence, it matches Spice exactly (and hence does not match Spectre with the temperature coefficient).

I have verified this behavior with two different versions of Spectre, one fairly old and one new.

Oddly, when I use Spectre's info statement to examine the components, Spectre shows that both the explicit-temperature and temperature-coefficient versions have identical effective component values!  (And both differ from the nominal temperature case, so the temperature is definitely having an effect.)  So I seem to be somehow getting identical circuit topologies, identical component values, and differing electrical behavior, with the explicit-temperature version exactly matching a different tool.

At this point I'm at a loss.  Clearly I must be misunderstanding something, because this seems far too basic to be broken.  I've been fiddling with it for three days though and can't figure out what's going on.

I've attached a tarball that contains the two Spectre netlists demonstrating the problem, along with the Spice-format model, a run script that invokes Spectre and compares the effective component values, and the S-parameter outputs from the Spectre runs and also from my Spice run.  There's a README.txt that describes the files in the tarball, and also a plot showing the inductor electrical behavior for the two Spectre models and how the explicit version agrees with Spice.  The exact versions of Spectre that I tried are also in the README.txt file.

 

oscillation frequency estimate using harmonic balance

$
0
0

 Hi,

 I am working on a crystal oscillator.  I want to estimate frequency pulling over temperature caused by circuit (excluding crystal).  I am looking at something around 0.01ppm/C level or less.  It takes too much time to use shooting mehod.  So I use harmonic balance to figure out oscillation frequency.  It gives good resulton 2ppm frequency pulling (matches my hand calculation).  But I do not know if 0.01ppm frequency pulling can be simulated by harmonic balance.  What parameters do I need to tighten?

 

The oscillator XIN and XOUT have small sinusoidal swing.  Not much harmonics at all.

Thank you in advance!


 

Phase Noise and S-Parameters

$
0
0

Hi all,

I am simulating a VCO using an S-parameters inductor. I have the lumped elements pi-model fitted with it.

When I run PSS, transient, DC and so on, I get results almost fully compatible between the two cases. When it comes to the phase noise plot, I can observe significant differences (several dB). S-parameters are extracted down to 10e4 Hz, while my phase noise plot starts at 1 MHz. 

I was wondering if there are particular options to set or to work on when doing phase noise simulations with S-parameters. I have tried to work on interpolation method but I had no results.

Thanks in advance

Problem in running RFworkshop examples

$
0
0

Hi,


I tried running some examples in RFworkshop. But while running simulation in ADE using readymade saved states I get the following error:

 ERROR (SPECTRE-15): Unable to run circuit preprocessor (/lib/cpp).
        No such file or directory.


Please help in fixing this.

Thanks!

IC6 Monte Carlo - How to delete a few points from the final results

$
0
0

Hi,

Does anyone know how to delete certain points from the final output of a Monte Carlo run and redraw a histogram for example?

I've run a Monte Carlo with 100 point or so, but 2 values are unbelievable and I would like to delete them before plotting the results.

Any help with this will be much appreciated.

Thnak you


Please help! RFDE simulation error

$
0
0

Hi All,


I am using rfde to simulate a circuit with transformers and self designed inductors. However, when I'm doing post layout simulation using ADSsim of RFDE, I got a warning which says "Warning detected by hpeesofsim in Bsource `I1.I77_esdndsx1.grtlp' during DC analysis `Tran1'.
    SYM warning: Zero to a non-positive exponent." Then the simulation goes to several iteration and stuck there forever.

I noticed that the "esdndsx1" in the warning comes from the pad, but other students in my lab is using the same pad, and also runing ADSsim, but see no warning or error like this. The whole log is shown below. Anyone please help me? Thanks a lot.

hpeesofsim (*) 410.shp Mar 17 2014 (64-bit built: 03/17/14 19:07:27)
Copyright Agilent Technologies, 1989-2014.
Processing VAMS source '/byunlab/ics/pdk/ibm130nm/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/coupled_cpw.va'
 compiled source cache is valid
Processing VAMS source '/byunlab/ics/pdk/ibm130nm/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/hacap.va'
 compiled source cache is valid
Processing VAMS source '/byunlab/ics/pdk/ibm130nm/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/mvcap.va'
 compiled source cache is valid
Processing VAMS source '/byunlab/ics/pdk/ibm130nm/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/esd_modules.va'
 compiled source cache is valid
Processing VAMS source '/byunlab/ics/pdk/ibm130nm/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/esdnsh_spe.va'
 compiled source cache is valid
Processing VAMS source '/byunlab/ics/pdk/ibm130nm/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/gsnap.va'
 compiled source cache is valid
Processing VAMS source '/byunlab/ics/pdk/ibm130nm/IBM_PDK/cmrf8sf/V1.8.0.4DM/Spectre/models/single_cpw.va'
 compiled source cache is valid
Processing VAMS source '/byunlab/ics/project/ibm130nm/xiaoyanw/rfw_i130/beh_prbs_rand_jit/veriloga/veriloga.va'
 compiled source cache is valid

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vds_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 219.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vgs_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 220.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vgd_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 221.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vgb_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 222.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vbs_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 223.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vbs_chkfwd' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 224.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vbd_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 225.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfet.<ConditionalCircuit>.vbd_chkfwd' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet.scs' at, or just before, line 227.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfetpsp.<ConditionalCircuit>.vds_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet_psp.scs' at, or just before, line 209.

Warning detected by hpeesofsim during netlist parsing.
    Skipping instance `dgnfetpsp.<ConditionalCircuit>.vgs_check' of type `assert',
    In file `/byunlab/ics/project/ibm130nm/yuey/models/dgnfet_psp.scs' at, or just before, line 210.

NXP SiMKit (ver. 4.1 (4.1))

Analog module platform compile:
    [3] amswork.mosvarcap (valid object cache, no platform compile required )
    [4] amswork.It2_monitor (valid object cache, no platform compile required )
    [9] amswork.beh_prbs_rand_jit (valid object cache, no platform compile required )
    Analog module design library exists, no link required.
Done with exporting devices.

Warning detected by hpeesofsim in topology check during circuit set up.
    Number of nodes with no DC path to ground (topology corrected): 393


COMPONENT : I6.Sport1
    Characterizing to 60 GHz
    Use an adaptive sample spacing of 234.4 MHz.

COMPONENT : I7.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

Warning detected by hpeesofsim during TRAN analysis `Tran1'.
    COMPONENT : `I7.Sport1'
       DC data are provided but the imaginary parts are not zero.

COMPONENT : I12.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

Warning detected by hpeesofsim during TRAN analysis `Tran1'.
    COMPONENT : `I12.Sport1'
       DC data are provided but the imaginary parts are not zero.

COMPONENT : I5.Sport1
    Characterizing to 60 GHz
    Use an adaptive sample spacing of 1.875 GHz.

COMPONENT : I9.I57.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I55.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I9.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I25.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I29.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I45.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I51.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I49.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I52.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

COMPONENT : I9.I0.Sport1
    Characterizing to 40 GHz
    Use an adaptive sample spacing of 625 MHz.

Warning detected by hpeesofsim in Bsource `I1.I77_esdndsx1.grtlp' during DC analysis `Tran1'.
    SYM warning: Zero to a non-positive exponent.


TRAN Tran1[1] <input.ckt>   time=(0 s->40 ns)

  iter = 1   RHS I= 3.096e-05 V= 3.369e-08 k fail RHS V[I1.I66_I2_mixer_CM0.l1.i]= 1.250e-06 (1.2x)  dV= 8.536e-13 dI= 6.242e-08
  iter = 2   RHS I= 3.068e-07 V= 7.094e-14
  iter = 1   RHS I= 3.787e-07 V= 1.097e-13  dV= 1.394e-15 dI= 4.375e-07
  iter = 2   RHS I= 1.383e-07 V= 5.971e-14
  iter = 1   RHS I= 4.292e-07 V= 1.103e-13  dV= 3.770e-15 dI= 5.926e-07
  iter = 2   RHS I= 5.110e-08 V= 1.705e-14
  iter = 1   RHS I= 2.210e-07 V= 5.049e-14  dV= 4.965e-15 dI= 7.255e-07
  iter = 2   RHS I= 1.677e-08 V= 6.642e-15
  iter = 1   RHS I= 2.117e-05 V= 1.305e-07 k fail RHS I[net024]= 6.305e-05 (3.5x)  dV= 5.520e-13 dI= 1.364e-07
  iter = 2   RHS I= 2.927e-07 V= 9.308e-13 k fail RHS I[I1.I2_I4_I5_avD2_21.g]= 1.740e-09 (5.5x)  dV= 4.492e-16 dI= 3.054e-08
  iter = 3   RHS I= 2.942e-07 V= 6.967e-13
  iter = 1   RHS I= 5.452e-07 V= 1.196e-12  dV= 3.034e-15 dI= 8.682e-07
  iter = 2   RHS I= 1.628e-07 V= 4.637e-14
  iter = 1   RHS I= 4.461e-07 V= 1.022e-12  dV= 3.624e-15 dI= 1.141e-06
  iter = 2   RHS I= 4.368e-08 V= 5.110e-14
  iter = 1   RHS I= 3.169e-07 V= 9.313e-14  dV= 5.349e-15 dI= 1.184e-06
  iter = 2   RHS I= 1.759e-08 V= 2.037e-14
  iter = 1   RHS I= 2.991e-05 V= 2.326e-07 k fail RHS I[rftx1_p]= 1.695e-05 (1.8x)  dV= 8.654e-13 dI= 6.790e-05
  iter = 2   RHS I= 2.231e-07 V= 9.450e-13 k fail RHS I[I1.I2_I3_I0_avD2_63.g]= 8.165e-09 (2.3x)  dV= 4.137e-16 dI= 3.662e-08
  iter = 3   RHS I= 3.305e-07 V= 7.094e-13
  iter = 1   RHS I= 5.075e-05 V= 3.666e-12  dV= 6.019e-13 dI= 3.857e-04
  iter = 2   RHS I= 1.204e-07 V= 3.964e-13
  iter = 1   RHS I= 1.103e-04 V= 9.182e-13  dV= 2.855e-15 dI= 5.432e-04
  iter = 2   RHS I= 4.871e-08 V= 5.905e-14
  iter = 1   RHS I= 1.103e-04 V= 4.471e-13  dV= 4.726e-15 dI= 5.432e-04
  iter = 2   RHS I= 1.476e-08 V= 2.496e-14
  iter = 1   RHS I= 2.988e-05 V= 1.943e-07 k fail RHS I[rftx1_p]= 2.253e-05 (2.4x)  dV= 1.064e-12 dI= 6.127e-05
  iter = 2   RHS I= 1.766e-07 V= 2.670e-12 k fail RHS I[I1.I2_I4_I0_avD2_63.g]= 1.048e-08 (2.9x)  dV= 4.637e-16 dI= 2.617e-08
  iter = 3   RHS I= 2.567e-07 V= 2.516e-12
  iter = 1   RHS I= 3.733e-05 V= 6.579e-12  dV= 1.068e-12 dI= 3.064e-04
  iter = 2   RHS I= 1.162e-07 V= 1.107e-12
  iter = 1   RHS I= 9.954e-05 V= 3.936e-12  dV= 2.694e-15 dI= 4.902e-04
  iter = 2   RHS I= 5.175e-08 V= 6.604e-13
  iter = 1   RHS I= 9.953e-05 V= 1.432e-12  dV= 5.076e-15 dI= 4.902e-04
  iter = 2   RHS I= 1.502e-08 V= 3.902e-13
  iter = 1   RHS I= 3.617e-05 V= 1.564e-06 k fail RHS I[net024]= 2.250e-04 (13x)  dV= 1.351e-12 dI= 1.681e-08
  iter = 2   RHS I= 1.864e-07 V= 2.688e-12 k fail RHS I[I1.I2_I4_I5_avD2_21.g]= 7.715e-10 (2.4x)  dV= 3.799e-16 dI= 2.284e-08
  iter = 3   RHS I= 1.467e-07 V= 3.264e-13
  iter = 1   RHS I= 3.870e-07 V= 6.126e-12  dV= 1.255e-15 dI= 1.638e-07
  iter = 2   RHS I= 1.223e-07 V= 9.046e-13
  iter = 1   RHS I= 2.652e-07 V= 8.412e-13  dV= 2.716e-15 dI= 3.314e-07
  iter = 2   RHS I= 4.515e-08 V= 1.303e-13

Extract parasitic capacitance of MOSFET

$
0
0

Hi everyone,

I tried to extract parasitic capacitance of MOSFET. I use Cadence IC615, in ADE L: Result -> Annotate -> Show parasitics. And what I see is:

Error* hdbGetLibName: argument #1 should be a hierarchical database configuration object (type template = "h") - nil
<<< Stack Trace >>>
(... in _mspsConfigToSchExt ...)
(... in _mspsInitConfData ...)
(... in _mspsGetConfData ...)
(... in _mspsGetSessionParCV ...)
(... in _mspsBackAnnotate ...)
(... in _mspsBAPushHilight ...)
_mspsBAPushHilight(path schCV ses)
when((_mspsIsSchInWindow(window(ses)) && (_mspsFlowIsEnabled ses ?flow flow)) (path = strcat(geGetInstHier(&) "/")) if(index(path "//") then (path = "/")) (schCV = geGetWindowCellView(window(ses))) _mspsBAPushHilight(path schCV ses))
foreach(ses (sessionContext->sessions) when((_mspsIsSchInWindow(&) && (_mspsFlowIsEnabled ses ?flow flow)) (path = strcat(& "/")) if(index(path "//") then (path = "/")) (schCV = geGetWindowCellView(&)) _mspsBAPushHilight(path schCV ses)))
progn((sessionContext = _mspsGetSessionContext(sessionId)) foreach(ses (sessionContext->sessions) when((& && &) (path = &) if(& then &) (schCV = &) _mspsBAPushHilight(path schCV ses))))
(val = progn((sessionContext = _mspsGetSessionContext(sessionId)) foreach(ses (sessionContext->sessions) when(& & & & &))))
let((val prevFlow) (prevFlow = _mspsGetFlow(sessionId)) _mspsSetFlow(sessionId flow) (val = progn((sessionContext = &) foreach(ses & &))) _mspsSetFlow(sessionId prevFlow) ... )
_mspsWithFlow(sessionId flow (sessionContext = _mspsGetSessionContext(sessionId)) foreach(ses (sessionContext->sessions) when((& && &) (path = &) if(& then &) (schCV = &) _mspsBAPushHilight(path schCV ses))))

I don't know what these codes mean. Please explain it to me. Thank in advanced.

VCO jitter measurement in transient analysis and pnoise analysis

$
0
0

Hai sir

          I am simulating  active inductor VCO with free running frequency of 5GHz in 65nm technology.

          version IC 6.1.3

          using transient analysis (enabled transient noise) the measurement of period jitter is 400ps

          In tran analysis the noise setttings,  noiseseed 1, noisefmax 2.5G and didn't set noisefmin

 Using pnoise analysis in jitter mode(at IMHz offset phase noise -75dBC/HZ) i am getting JC is 125fs & for different K values JCC (K=1) is 156fs and JCC(K=100) is 2.2ps, JCC(K=15000) is 88.2ps

PSS (number of harmonics 10)

PNOISE(number of sidebands 10)

1) Which of them is the right method.

2) For jitter measuremnet  which parameter i have to take JC or JCC

2) For given frequency 5 GHz what must be the value of K i have to choose to measure the jitter.

3) how to interpret phase noise of -75dBC/Hz in terms of jitter

Thank you

satya

SpectreRF - How does it work?

$
0
0

Hi,


I am struggling so long with SpectreRF, getting heavy convergence issues and results which are unexplainable.

I do not really understand how it works and there is no documentation whatsoever - which makes it even harder to debug.

Can anyone explain to me how SpectreRF (Simulink <--> Transient Spectre Sim) actually works?

We have two variable step solvers now when should interact, how is the overall step size determined?

Can one (Spectre) or the other (Simulink) be the master (deciding the step size)?

What happens is I enter sample step "-1" in the Simulink block - how does this affect the step sizes in Spectre?

If I use a fixed sampling time in the SprectreRF block it "kind of" works but then I force the Simulink simulation to a fixed step size. Not what I want. When I use "maxstep" in spectre I force a fixed step size there.

Can someone explain the whole concept and the how it should be done?

What I have is a variable step size Simulink simuation with lots of continuous-time blocks and and a digital algorithm wrapped around. What I want is to replace the continuous-time blocks step by step with a circuit level simulation and a SpectreRF block to see which block affects the overall error the most.


Thanks.

ERROR (OSSHNL-524) while using nport

$
0
0

I am using IC6.1.6-64b.500.1 and my simulator version is 10.1.1.296.isr18 64 bit.

When I simulate old circuits (designed in  IC6.13) containing analogLib/nport component  I get this error:

"ERROR (OSSHNL-524): Netlisting failed as function hnlNetNameOnTerm was called with a non-existent terminal name on current instance 'NPORT0' in design

EVM simulation using envlp analysis

$
0
0

Hi,

I am trying to simulate EVM of a MUX based QPSK modulator as shown in attached figure. There are 4 1Vpeak  sines at 5GHz with phases 0, 90, 180, 270. The select switch of the MUX is controlled by switches S0, S1. The bit rate is 2Mbps and hence symbol rate is 1Mbps.

The envlp analysis form and direct plot form are also attached.

The EVM is unrealistic and is 98.9%. The I components are +-0.6 and Q components are +-3.3

This is not a traditonal IQ modulation. How to evaluate EVM for this in ADE? The transient output is perfect showing QPSK modulation.

Note: It is very difficult to upload images in this forum!!!!


Model Parameters as "output" expressions

$
0
0

Instead of printing model parameters, can we create an expression in ADE-L or ADE-XL to display value of the associated model parameter in output field ?


Understanding pnoise PSD: a simple test with resistors

$
0
0

Hello,

I would like to understand the pnoise simulations.

Triggered by the Cadence Application note "Jitter Measurements Using Spectre RF", I tried to do a pnoise simulation on a simple circuit. I attached 2 slides to show the circuit, the pnoise settings and results. I did a .noise analysis first (slide 1), then a .pnoise (slide 2).

Circuit: The circuit is made up of a R1=1.57k resistor, an ideal switch with R2=32.5 Ohm series resistor and a C= 1.35p capacitor. 

The capacitor is charged through R1 and discharged through the reset switch+R2. The reset switch is driven by a reset clock. The switch is closed when the clock is high (=1V). The clock frequency is 2.5GHz

Slide 1 - .noise analysis: 

- If the reset clock has DC=0V, the branch with R2 is disconnected. The noise PSD=4KTR1=(5.09nV/sqrt(Hz))^2 and the bandwidth is BW=1/(2*pi*R1*C)=75MHz. These results are consistent with the simulated green PSD on slide 1

- If the reset clock has DC=1V, the capacitor sees the parallel R1||R2 that is ~R2 . The noise PSD=4KTR2=(733pV/sqrt(Hz))^2 and the bandwidth is BW=1/(2*pi*R2*C)=3.6GHz. Again, these results are consistent with the simulated pink PSD on slide 1

Slide 2 - .poise (tdnoise) analysis: I did a pss shooting, with 20 harmonics, then a .pnoise with the settings on slide 2 (sweeptipe relative, freq 100-1.25GHz). Then I plotted the PSD for all the different time instants.

I expected to find the same levels and BW of the .noise analysis, when the switch opens and closes, but the PSD I got are completely different: the low freq. values go from (1.59nV/sqrt(Hz))^2 to (1.77nV/sqrt(Hz))^2 and the BW is around 2.5MHz.

(Note that for .pnoise the plot is in V^2/Hz, while in the .noise plot is in V/Hz.)

I don't understand the values I got from the .pnoise analysis. Can anyone help me to understand why the PSD levels are lower and the BW narrower?

Thanks a lot!!!!

(Please visit the site to view this file)

Infotimes

$
0
0

Infotimes = [. . .]

I know you can use this to plot at individual points e.g: Infotimes = ["10u" "20u" "50u"], how about range ?

PSS and HB vs. Transient having touchstone models from HFSS

$
0
0

Hello every one

I have designed a 100GHz oscillator and in order to see how much power it can produce I run different analyses. The issue is that the output voltage is quite different when I use different analyses. The frequencies are similar but the amplitudes are totally different. I have used PSS with harmonic balance and also probe-based HB (these two simulation give very similar results). However when I use Transient, the amplitude of the node voltages is quite different (the frequency is very similar).

Which one can I trust?

Thank you very much,

Hamid

PS: I have couple of transmission lines whose model are coming from EM simulation in HFSS.

Noise Summary at infopoints ?

$
0
0

Can we get noise summary for individual infopoints when running pnoise analysis ?

Thanks.

Adding two PAC sources with differnt frequency range/ sweep for a PAC analysis

$
0
0

Dear All,

I want to excite a LPTV system with two PAC sources with separate frequency range.

For example:-

I have an LO frequency "Fc". PSS has been done with Beat frequency of "Fc".

Now I want to do a PAC simulation with frequency sweep from "Fc-Fm1" to "Fc+Fm1".

I also want two PAC sources such that during sweep one source will have a sweep of "Fc+Fm1" to "Fc-Fm1 and other source will have a sweep of "Fc-Fm1" to "Fc+Fm1".

Is it possible to archive that in spectre.

Please let me know.

Kind Regards,

Viewing all 937 articles
Browse latest View live




Latest Images