Hello,
My cadence Virtuoso version is IC6.1.8-64b.500.9 and my Spectre simulator version is sub-version 19.1.0.237.isr3
I am working with a PSP103 transistor model. I am simulating the DC operating point via a Matlab config file that will start the spectre simulation engine. The simulation runs fine and the netlist file is generated.
Here is my netlist file:
community.cadence.com/.../techsweep_5F00_120psp.txt
Here is my Matlab configuration file:
community.cadence.com/.../techsweep_5F00_config_5F00_psp_5F00_120_5F00_spectre.txt
The Thermal and flicker noise setup is from line 80-82 in techsweep_config_psp_120_spectre.txt file
c.outvars_noise = {'STH','SFL'};
c.n_noise{1}= {'mn:sid', ''};
c.n_noise{2}= {'mn:sfl', ''};
Here is the main script that calls the simulator and cds_srr
community.cadence.com/.../techsweep_5F00_config_5F00_spectre.txt
The noise simulation setup is from line 73 to line 86 in the techsweep_config_spectre.txt file and when I run the script, I get the following error:
Simulation Starts for L = 0.120
Simulation Finished for L = 0.120 with VSB = 1.00 V
Error: The special signal is not exist.
One or more output arguments not assigned during call to "cds_innersrr".
Error in techsweep_spectre_run (line 80)
struct_n = cds_innersrr(c.outfile, c.sweep_noise, params_n{1},0);
In this forum from a long time ago, a similar question was asked:
https://community.cadence.com/cadence_technology_forums/f/rf-design/19229/cds_srr-error
The replay was provided by the great Andrew Beckett. "I've only seen this if either the directory name or the result dataset (second arg) is invalid for the data that exists - and then it gives a message before the error." The result data set is valid. I may be wrong.
"Also, I believe it may happen with non-spectre simulation results" It is a spectre simulation result.
But when I do this:
cds_innersrr(c.outfile, c.sweep_noise, params_n{1})
Error: The special signal is not exist.
Why is this error showing up? I have checked from PSP103p2 model summary that the flicker noise current spectral density is called "sfl" and the channel thermal noise current spectral density is called "sid".
And when I do this:
cds_innersrr(c.outfile, c.sweep_noise), I get:
Total: 40 properties
'PSFversion' 'BINPSF creation time' 'ENV_VAR_0' 'ENV_VAR_1' 'ENV_VAR_2' 'ENV_VAR_3' 'ENV_VAR_4' 'ENV_VAR_5' 'ENV_VAR_6' 'ENV_VAR_7' 'ENV_VAR_8' 'ENV_VAR_9' 'ENV_VAR_10' 'ENV_VAR_11' 'ENV_VAR_12' 'ENV_VAR_13' 'PSF style' 'PSF types' 'PSF sweeps' 'PSF sweep points' 'PSF sweep min' 'PSF sweep max' 'PSF groups' 'PSF traces' 'simulator' 'version' 'date' 'design' 'analysis type' 'analysis name' 'analysis description' 'xVecSorted' 'tolerance.relative' 'operating point producer' 'output' 'output probe' 'output probe type' 'ground' 'positive output signal' 'negative output signal'
Total: 1 type(s) of signals
Signal type: A_sqrt_Hz_ Data type: Real
'out'
ans =
struct with fields:
signal_info: {'prop' 'Unknown' 'A_sqrt_Hz_' 'Real'}
prop: {40×1 cell}
A_sqrt_Hz_: {'out'}
I do not know what I am doing wrong?
Thank you so much indeed.