The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 23rd, 2024, 4:16pm
Pages: 1
Send Topic Print
transient noise with spectre: Assertion failed (Read 441 times)
Michiel
New Member
*
Offline



Posts: 8
Enschede, the Netherlands
transient noise with spectre: Assertion failed
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
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: transient noise with spectre: Assertion failed
Reply #1 - 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!
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: transient noise with spectre: Assertion failed
Reply #2 - 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  
Back to top
 
 
View Profile   IP Logged
Michiel
New Member
*
Offline



Posts: 8
Enschede, the Netherlands
Re: transient noise with spectre: Assertion failed
Reply #3 - 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
Back to top
 
 
View Profile   IP Logged
bernd
Senior Member
****
Offline



Posts: 229
Munich/Germany
Re: transient noise with spectre: Assertion failed
Reply #4 - 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
Back to top
 
 

Just another lonesome cad guy
View Profile WWW   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: transient noise with spectre: Assertion failed
Reply #5 - 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
Back to top
 
 
View Profile   IP Logged
Michiel
New Member
*
Offline



Posts: 8
Enschede, the Netherlands
Re: transient noise with spectre: Assertion failed
Reply #6 - 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.
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: transient noise with spectre: Assertion failed
Reply #7 - 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.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Michiel
New Member
*
Offline



Posts: 8
Enschede, the Netherlands
Re: transient noise with spectre: Assertion failed
Reply #8 - May 31st, 2006, 10:21am
 
Geoffrey_Coram wrote 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

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:
Also, from the path you showed, models/LP_50A/mm11: does this use Mos Model 11 from Philips?
As far as I know it does.

Geoffrey_Coram wrote on May 31st, 2006, 9:39am:
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.
I will discuss this option with my supervisors. (I am a student at Twente University working on my Master’s project.)

Michiel
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: transient noise with spectre: Assertion failed
Reply #9 - Jun 1st, 2006, 4:21am
 
Michiel wrote on May 31st, 2006, 10:21am:
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.


OK, perhaps the model card is set up to convert to um.

Quote:
Geoffrey_Coram wrote on May 31st, 2006, 9:39am:
Also, from the path you showed, models/LP_50A/mm11: does this use Mos Model 11 from Philips?
As far as I know it does.


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.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Michiel
New Member
*
Offline



Posts: 8
Enschede, the Netherlands
Re: transient noise with spectre: Assertion failed
Reply #10 - Jun 1st, 2006, 8:44am
 
Geoffrey, thank you for your effort!

Geoffrey_Coram wrote on Jun 1st, 2006, 4:21am:
Can you figure out which MOS11 it uses?  The possibilities are mos1100, mos1100e, mos1101e, mos1101et, mos1102e, mos1102, ... mos11021t.

I use mos11021.

Geoffrey_Coram wrote on Jun 1st, 2006, 4:21am:
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.
First I will try if I can get hold of a different version. Later I can try to modify the parameter list.

Michiel
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: transient noise with spectre: Assertion failed
Reply #11 - 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.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Michiel
New Member
*
Offline



Posts: 8
Enschede, the Netherlands
Re: transient noise with spectre: Assertion failed
Reply #12 - 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.
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.