The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> What do these WARNING and Error mean in Cadence ADE with Spectre ?
https://designers-guide.org/forum/YaBB.pl?num=1237311063

Message started by pancho_hideboo on Mar 17th, 2009, 10:31am

Title: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Post by pancho_hideboo on 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.



Title: Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Post by Geoffrey_Coram 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      )

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.

Title: Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Post by pancho_hideboo on 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.

Title: Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Post by Geoffrey_Coram on 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.

Title: Re: What do these WARNING and Error mean in Cadence ADE with Spectre ?
Post by Andrew Beckett on 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.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.