The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 16th, 2024, 2:30pm
Pages: 1
Send Topic Print
What do these WARNING and Error mean in Cadence ADE with Spectre ? (Read 6626 times)
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
What do these WARNING and Error mean in Cadence ADE with Spectre ?
Mar 17th, 2009, 10:31am
 
When I created netlist and ran simulation from schematic using Cadence Spectre in ADE, I encountered the following unfamiliar warnings and errors in CIW. 

Quote:
sevNetlistAndRun('sevSession1)
*WARNING* asiiEvalDesignValList: problem with variable pa_adj
*Error*   in the Design Variables.  AEL's message:  data type error:  cannot undefer "en"

*WARNING* asiiEvalDesignValList: problem with variable pa_ctl
*Error*   in the Design Variables.  AEL's message:  data type error:  cannot undefer "pa_ctl"

*WARNING* asiiEvalDesignValList: problem with variable Temp_degC
*Error*   in the Design Variables.  AEL's message:  data type error:  cannot undefer "Temp_degC"

generate netlist...
Begin Incremental Netlisting Mar 17 19:07:21 2009
End netlisting Mar 17 19:07:22 2009


Ocean Script which is created in ADE is like following.
Quote:
analysis('dc ?saveOppoint t  ?param "PL"  ?start "1"  ?stop "4"  ?step "1"  )
desVar(        "vdd_io" 3      )
desVar(        "vdd_core" 1.55      )
desVar(        "vbg" 1.2      )
desVar(        "reg_adj" 8      )
desVar(        "aho_boke_kasu_cadence" 0      )
desVar(        "CL" 1u      )
desVar(        "sw_ipa" 1      )
desVar(        "iptat10u" "en*10u/(273+25)*(273+temp)"      )
desVar(        "ibg10u" "en*10u"      )
desVar(        "frf" 2450M      )
desVar(        "pa_trim" "0*8+1*4+pa_trim_10"      )
desVar(        "pa_pl" "PL"      )
desVar(        "pa_ctl4" "pa_ctl"      )
desVar(        "pa_ctl3" "pa_ctl"      )
desVar(        "pa_ctl2" "pa_ctl"      )
desVar(        "pa_ctl1" "pa_ctl"      )
desVar(        "en" 1      )
desVar(        "pa_adj" "1*8+0*4+0*2+0*1"      )
desVar(        "PL" 3      )
desVar(        "pa_ctl" 2      )
desVar(        "pa_trim_10" 1      )
desVar(        "Temp_degC" 25      )


Spectre netlist which is created in ADE is like following.
Quote:
// Generated for: spectre
// Generated on: Mar 17 19:05:19 2009
// Design view name: schematic
simulator lang=spectre
global 0
parameters vdd_io=3 vdd_core=1.55 vbg=1.2 reg_adj=8 aho_boke_kasu_cadence=0 CL=1u \
   sw_ipa=1 iptat10u=en*10u/(273+25)*(273+temp) ibg10u=en*10u frf=2450M \
   pa_trim=0*8+1*4+pa_trim_10 pa_pl=PL pa_ctl4=pa_ctl pa_ctl3=pa_ctl \
   pa_ctl2=pa_ctl pa_ctl1=pa_ctl en=1 pa_adj=1*8+0*4+0*2+0*1 PL=3 \
   pa_ctl=2 pa_trim_10=1 Temp_degC=25


I can't find out any wrong or improper descriptions in both Ocean Script and Spectre Netlist.
And simulation results itself are correct regardless of warnings and errors in CIW.

My environments are like following.
  @(#)$CDS: icms.exe version 5.1.0 09/30/2007 23:05 (cicln04) $
  sub-version 5.10.41.500.5.98 (32-bit addresses)
  Cadence Spectre(Version 6.2.0.493 -- 19 Sep 2007).

What on earth do these warnings and errors stand for ?
Are there any problem in CDF parameters of my cells ?

Any expert of Cadence Tools, teach me.


Back to top
 
 
View Profile WWW Top+Secret Top+Secret   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Reply #1 - Mar 19th, 2009, 6:33am
 
In the Ocean Script, it looks like "en" is used before being set:

desVar(        "iptat10u" "en*10u/(273+25)*(273+temp)"      )

occurs before

desVar(        "en" 1      )

Also in the spectre netlist, the parameters line looks to use en before setting it; same for pa_ctl.  But not Temp_degC, so maybe my theory is wrong.
Back to top
 
 

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



Posts: 1424
Real Homeless
Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Reply #2 - Mar 19th, 2009, 6:44am
 
Thanks for answering.

Geoffrey_Coram wrote on Mar 19th, 2009, 6:33am:
In the Ocean Script, it looks like "en" is used before being set:
desVar(        "iptat10u" "en*10u/(273+25)*(273+temp)"      )
occurs before
desVar(        "en" 1      )
Order of desVar() have meaning ? While order of normal equations for substitution such as A=10 have meaning in Ocean.

And we can't change ordering of definition of design variables in Cadence ADE.
If we will change ordering of definition of design variables, we have to delete them and re-input them.

Geoffrey_Coram wrote on Mar 19th, 2009, 6:33am:
Also in the spectre netlist, the parameters line looks to use en before setting it; same for pa_ctl.

Values of all design variables are evaluated correctly in Spectre Run.

I don't think an ordering of definition of design variables have meaning in Spectre netlist.
In Agilent ADSsim, an ordering of definition of design variables also have no meaning.

But an ordering of definition of design variables using desVar() might have some meaning for an interpreter of Ocean.

In the message, a word of "undefer" is used. I don't know this word. What does this word mean ?

I doubt "paramType" in CDF parameter.
Back to top
 
« Last Edit: Mar 19th, 2009, 7:19pm by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Reply #3 - Mar 20th, 2009, 10:26am
 
pancho_hideboo wrote on Mar 19th, 2009, 6:44am:
In the message, a word of "undefer" is used. I don't know this word. What does this word mean ?


I don't know either.  I can guess that "defer" (put off until later) might be the terminology that they use for not evaluting a parameter until the other parameters in the expression are all evaluated.  Eg, setting iptat10u would be deferred until en was set.  But that doesn't help for undefer.  Maybe all evaluations are deferred initially, and then the simulator tries to "undefer" (that is, evaluate) each deferred parameter in turn by checking if the expression is made up of constants and previously-evaluated variables?

I'm stretching.
Back to top
 
 

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

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Reply #4 - Mar 22nd, 2009, 2:22pm
 
I found the error message in the source code, but it's not that obvious how you'd get to that place. Deferred variables are described in the Analog Expression Language manuals.

"A global is deferred if it appears in an expression but does not have a data type or value. A deferred global cannot become defined and a defined global cannot become deferred."

(it's mentioned in a number of other places too).

I think "temp" would be a deferred variable. I think that "undeferring" is converting a deferred variable so that it's no longer deferred, but I'm not really sure. There seems to have been only a single CCR with this error message, and even that was unreproducable (and the message wasn't really the issue in that CCR).

So please report it to Cadence customer support with a testcase to reproduce it. Then hopefully the problem can be resolved, and a proper word used in the error message!

Regards,

Andrew.
Back to top
 
 
View Profile WWW   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.