The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> Circuit Simulators >> transient noise with spectre: Assertion failed https://designers-guide.org/forum/YaBB.pl?num=1148378632 Message started by Michiel on May 23rd, 2006, 3:03am |
Title: transient noise with spectre: Assertion failed Post by Michiel on May 23rd, 2006, 3:03am Dear all, Using spectre 6.0.1.127, I would like to do a transient noise simulation. I have successfully simulated a circuit consisting of two resistors, but I have been unable to simulate a circuit consisting of one nmost and one resistor (simple voltage amplifier). Some simulation settings: -Transient analysis, stop time 10n -Moderate accuracy -noiseseed 1 -noisefmax 10G -noisescale 1 Some simulator output: Internal error found in spectre at time = 100 ps during transient analysis `tran'. 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. Assertion failed in file `ac.c' at line 6074. Assertion failed. Does anyone have a suggestion for successfully running a simulation like this? Thank you |
Title: Re: transient noise with spectre: Assertion failed Post by Geoffrey_Coram on May 24th, 2006, 4:42am Wow, that's a nifty test case, only 2 elements and you get an assertion failure. Send it in to tech support! |
Title: Re: transient noise with spectre: Assertion failed Post by sheldon on May 30th, 2006, 4:42am Michiel, Could you post the netlist or the model file? This results does not seem reasonable and there may be an issue with the input file. I have run more complex circuits, Sample and Holds, Sigma-Delta Modulators, etc. without any issues. Best Regards, Sheldon |
Title: Re: transient noise with spectre: Assertion failed Post by Michiel on May 30th, 2006, 5:26am At this moment, my hypothesis is that my problem arises from a model file that is not sufficiently compatible with the simulator. This is my netlist. I cannot include the model file here. // Generated for: spectre // Generated on: May 24 17:08:40 2006 // Design library name: adc // Design cell name: testtnoise // Design view name: schematic simulator lang=spectre global 0 include "/misc/icetux6/cadappl/ictools/cadence_ic/5.1.41.USR2/tools/dfII/samples/artist/ahdlLib/quantity.spectre" include "/misc/icetux6/cadappl/iclibs/CMOS090/PcCMOS090T6M1TPTP/3.1/lib/CMOS090T6M1T/../../tools/models/LP_50A/mm11/spectre/c1/include_nominal.scs" // Library name: adc // Cell name: testtnoise // View name: schematic MN0 (net09 net016 0 0) nsvt w=0.12 l=0.1 nfing=1 mult=1 srcefirst=1 \ mismatch=1 V0 (net016 0) vsource dc=1 type=dc V1 (net11 0) vsource dc=1.2 type=dc R1 (net11 net09) resistor r=1K simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \ 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 tran tran stop=10n errpreset=moderate noiseseed=1 noisefmax=10G \ noisescale=1 write="spectre.ic" writefinal="spectre.fc" \ annotate=status maxiters=5 finalTimeOP info what=oppoint where=rawfile modelParameter info what=models where=rawfile element info what=inst where=rawfile outputParameter info what=output where=rawfile designParamVals info what=parameters where=rawfile primitives info what=primitives where=rawfile subckts info what=subckts where=rawfile saveOptions options save=allpub |
Title: Re: transient noise with spectre: Assertion failed Post by bernd on May 30th, 2006, 7:20am This is probably an issue for Cadence Support. I personally don't think that the people in this forum can debug this. Bernd |
Title: Re: transient noise with spectre: Assertion failed Post by sheldon on May 30th, 2006, 8:38am Bernd, You are correct, in general it is best to let Cadence support deal with the issue. Michiel, Are the units of length and width correct? If I remember correctly since the units of scale are set to 1, the gate length is 0.1m and the gate width is 0.12m. Extremely large device sizes can cause the simulator to fail. If updating l and w does not fix the issue, then it would be best to contact Cadence support. Best Regards, Sheldon |
Title: Re: transient noise with spectre: Assertion failed Post by Michiel on May 31st, 2006, 1:27am Today I successfully simulated the same circuit with a different nmos model (different factory). My conclusion is that the model I use is indeed insufficiently compatible with the simulator. I am still thinking about what to do next in my project. Thank you for your help! Michiel btw, w=0.12 l=0.1 is a minimum size transistor. Those dimensions are in um. |
Title: Re: transient noise with spectre: Assertion failed Post by Geoffrey_Coram on May 31st, 2006, 9:39am Michiel - I think Sheldon is correct, that the netlist as you provided specifies the dimensions in meters, not um. Could you try changing it to MN0 (net09 net016 0 0) nsvt w=0.12e-6 l=0.1e-6 Also, from the path you showed, models/LP_50A/mm11: does this use Mos Model 11 from Philips? I still think you should send this in to Cadence support, because the assertion failure indicates some serious problem down in the code -- possibly with the SimKit code from Philips that is used to evaluate the MM11 model. |
Title: Re: transient noise with spectre: Assertion failed Post by Michiel on May 31st, 2006, 10:21am Geoffrey_Coram wrote on May 31st, 2006, 9:39am:
It is the minimum size I can enter in Virtuoso. I changed the values directly in the netlist, triggering some fatal errors during hierarchy flattening. Geoffrey_Coram wrote on May 31st, 2006, 9:39am:
Geoffrey_Coram wrote on May 31st, 2006, 9:39am:
Michiel |
Title: Re: transient noise with spectre: Assertion failed Post by Geoffrey_Coram on Jun 1st, 2006, 4:21am Michiel wrote on May 31st, 2006, 10:21am:
OK, perhaps the model card is set up to convert to um. Quote:
Can you figure out which MOS11 it uses? The possibilities are mos1100, mos1100e, mos1101e, mos1101et, mos1102e, mos1102, ... mos11021t. I just set up a test case with mos11011 model nsvt mos11011 which then uses the default parameters for the model, and I didn't see any problems. If you can copy the model file to your local directory, you might try deleting half of the parameters and then seeing if it still errors out. Or deleting the noise parameters (ponfa, plnfa, ...) and seeing if that is the issue. |
Title: Re: transient noise with spectre: Assertion failed Post by Michiel on Jun 1st, 2006, 8:44am Geoffrey, thank you for your effort! Geoffrey_Coram wrote on Jun 1st, 2006, 4:21am:
I use mos11021. Geoffrey_Coram wrote on Jun 1st, 2006, 4:21am:
Michiel |
Title: Re: transient noise with spectre: Assertion failed Post by Geoffrey_Coram on Jun 1st, 2006, 9:56am With mos11021, the noise parameter nfa is computed from ponfa, pwnfa, plnfa, pwlnfa. I wonder if it ends up having a negative value after the scaling rules are applied. In my simulator, I get a warning that the value is outside the range, and nfa is clipped to zero. If nfa is not clipped, you might get a negative number in a square root. |
Title: Re: transient noise with spectre: Assertion failed Post by Michiel on Jul 13th, 2006, 2:50am The problem appears to be fixed in a 6.0.2 version of mmsim, although I have not been able to verify this yet. By the way, I use the philips simkit and the parameter values provided by philips for their process. |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |