I have question about how to run Envelope Analysis of Cadence Spectre without failure.
Simulation scenario is very simple.
PA is driven by MSK RF signal, e.g. like following MSK RF signal.
http://www.designers-guide.org/Forum/YaBB.pl?num=1195226387/9#9However PA is power on and off during simulation by control logic signal "master_en".
"master_en" rises at 0.1usec with Trise=0.1usec and falls at 280.1usec with Tfall=0.1usec.
But Shooting-Envelope Analysis of Cadence Spectre fails at 280.714usec like following.
At 280.714usec, PA is enoughly power off state.
Why does Shooting-Envelope Analysis of Cadence Spectre fail at this point ?
If I use HB-Envelope Analysis of Cadence Spectre, it fails more early,e.g. at around 22usec.
Results HB-Envelope Analysis between 0usec and this 22usec are completely wrong.
On the other hand, results of Shooting-Envelope Analysis between 0usec and 280.683usec seem to be reasonable.
Of course, there is no NPORT which Cadence Spectre have many troubles in treating.
http://www.designers-guide.org/Forum/YaBB.pl?num=1258119869http://www.designers-guide.org/Forum/YaBB.pl?num=1237187544How to run Envelope Analysis of Cadence Spectre without failure ?
Any expert of Cadence Spectre, teach me.
[Error log of Cadence Spectre] Quote:EnvStepIndex = 9592, envTime = 280.62 us, completed = (93.5 %)
EnvStepIndex = 9593, envTime = 280.651 us, completed = (93.6 %)
EnvStepIndex = 9594, envTime = 280.667 us, completed = (93.6 %)
EnvStepIndex = 9595, envTime = 280.683 us, completed = (93.6 %)
Internal error found in spectre at time = 280.714 us during envelope following analysis `envlp'. Please run `getSpectreFiles' or send the netlist, the spectre log file, the behavioral model files, and any other information that can help identify the problem to support@cadence.com.
FATAL (CMI-2010): Assertion failed in file `tranAnalysis.c' at line 412.
FATAL (SPECTRE-21): Assertion failed.
[Extraction from my Netlist of Cadence Spectre] Quote:parameters en=1 vdd_core=1.55 frf=2450M
ahdl_include "$CDSHOME/tools/dfII/samples/artis/rfLib/IQ_modulator/veriloga/veriloga.va"
subckt V_ZigBee_Sig_Gen minus plus
SRC_Iref (bb_I 0) vsource type=pwl scale=0.15 file="~/AHO/DATA/I_all_burst.pwl"
SRC_Qref (bb_Q 0) vsource type=pwl scale=0.15 file="~/AHO/DATA/Q_all_burst.pwl"
I0 (bb_I bb_Q RFsig 0) IQ_modulator I_gain=0 Q_gain=0 I_cpdb=100 \
Q_cpdb=100 rin=50 rout=50 nf=0 quad_error=0 flo=frf
R0 (RFsig 0) resistor r=50 isnoisy=no
E0 (plus minus RFsig 0) vcvs gain=1.0
ends V_ZigBee_Sig_Gen
// End of subcircuit definition.
SRC_in_p (0 in_p) V_ZigBee_Sig_Gen
SRC_in_n (in_n 0 in_p 0) vcvs gain=-1.0
I0 ( in_n in_p master_en out vdd 0 ) heppoko_pa
V0 (vdd 0) vsource dc=vdd_core type=dc
V1 (master_en 0) vsource dc=en*vdd_core type=pwl delay=100n \
wave=[ 0 0 100n (en*vdd_core) (280u) (en*vdd_core) (100n+280u) 0 ]
PORT0 (out 0) port r=50 type=dc mag=0
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=25.0 \
tnom=27 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" checklimitdest=psf
envlp envlp harms=3 stop=0.3m fund=frf errpreset=liberal \
envmaxstep=(1.0/2M)/16 fixstepsize=no annotate=status outputtype=both restart=no
If I use Envelope Analysis based on Time-Balance(TB) Steady State Solver in Agilent GoldenGate,
I can finish envelope analysis even with including noise effects without fail.
http://www.designers-guide.org/Forum/YaBB.pl?num=1232855139 Quote:Beginning Large-Signal Carrier Analysis for Noise...
--------------------------------------------------------------------------------
Steady-state solver type = Time-Balance (TB)
Number of fundamental tones = 1
fundamental tone 1 = 2.4500GHz, 7 harmonic(s)
Convergence error = 0.1 (conv_err)
Fixed time step = yes (time_domain_hb_variable_time_step=0)
Nyquist rate oversample factor = 2 (time_domain_hb_over_sample=4)
Gear Integration order = 0 (time_domain_hb_integ_order )
Number of stabilization periods = 0 (time_domain_hb_relaxation_nb_period)
Newton Jacobian factor type = Krylov
Max number of krylov iterations = 500 (krylov_max_iter)
Krylov tolerance heuristics = robust (krylov_dynamic_tol = 0)
Continuation mode = On (subsequent HB always use available previous solution)
--------------------------------------------------------------------------------
Small-signal solver type = Frequency-domain
Preconditioner type = time-domain
Small-signal accuracy = Krylov tolerance 1 (rtol=1.000000e-05)
Krylov max iteration number = 500
Krylov restart iteration number = 100
Beginning Fast Envelope Transient...
--------------------------------------------------------------------------------
Fast envelope level = 1
Accuracy parameters = [Var = 1.0]
Integration method = Steady-State
Number of envelope sources = 2
Number of output probes = 6
Number of output frequencies = 4
Number of output time steps = 9599
Output start time = 0.000 sec.
Output stop time = 300.000usec.
Output time step = 31.250nsec.