Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to fix this: { *Error* eval: undefined function } on cadence IC5.1.4.1

Status
Not open for further replies.
Surely see https://www.edaboard.com/showthread.php?t=371576#4

Code:
inline subckt ln121_hicum (3 2 1 9)
//q 3 2 1 9 mdn_hicum trise=temprise
ln121_hicum (3 2 1 9) mdn_hicum trise=temprise
ends ln121_hicum

inline subckt ln122_hicum (3 2 1 9)
//q 3 2 1 9 mdn_hicum trise=temprise
ln122_hicum (3 2 1 9) mdn_hicum trise=temprise
ends ln122_hicum

inline subckt ln232_hicum (3 2 1 9)
//q 3 2 1 9 mdn_hicum trise=temprise
ln232_hicum (3 2 1 9) mdn_hicum trise=temprise
ends ln232_hicum

inline subckt mn121_hicum (3 2 1 9 )
//q 3 2 1 9 mdn_hicum trise=temprise
mn121_hicum (3 2 1 9) mdn_hicum trise=temprise
ends mn121_hicum 

inline subckt mn122_hicum (3 2 1 9 )
//q 3 2 1 9 mdn_hicum trise=temprise
mn122_hicum (3 2 1 9) mdn_hicum trise=temprise
ends mn122_hicum 

inline subckt mn232_hicum (3 2 1 9 )
//q 3 2 1 9 mdn_hicum trise=temprise
mn232_hicum (3 2 1 9) mdn_hicum trise=temprise
ends mn232_hicum


So I just replace subckt to inline subckt in this file like the previous time.
But it didn't work like i told you.
I still don't understand why we insert "inline"?
Thank you.
 

So I just replace subckt to inline subckt in this file like the previous time.
But it didn't work like i told you.
I still don't understand why we insert "inline"?
Wrong.
Surely see and understand what you have to change.
 
Last edited:

I am not convinced that the netlist is the problem. You'd
like to believe that the PDK is self-consistent and doesn't
netlist library devices in a busted way. Until you can say
-which- function is undefined and how it was supposed to
be declared, I don't think you can expect any particular
blind stab to work.

I'd try to find the function (have you yet parsed the CDS.log
file?) and then grep around for it and see if a whole file or
hierarchy has failed to load, possibly for reasons of munged
install or bad project initialization scripting.
 

Surely see https://www.edaboard.com/showthread.php?t=371576#4

Code:
inline subckt ln121_hicum (3 2 1 9)
//q 3 2 1 9 mdn_hicum trise=temprise
ln121_hicum (3 2 1 9) mdn_hicum trise=temprise
ends ln121_hicum

inline subckt ln122_hicum (3 2 1 9)
//q 3 2 1 9 mdn_hicum trise=temprise
ln122_hicum (3 2 1 9) mdn_hicum trise=temprise
ends ln122_hicum

inline subckt ln232_hicum (3 2 1 9)
//q 3 2 1 9 mdn_hicum trise=temprise
ln232_hicum (3 2 1 9) mdn_hicum trise=temprise
ends ln232_hicum

inline subckt mn121_hicum (3 2 1 9 )
//q 3 2 1 9 mdn_hicum trise=temprise
mn121_hicum (3 2 1 9) mdn_hicum trise=temprise
ends mn121_hicum 

inline subckt mn122_hicum (3 2 1 9 )
//q 3 2 1 9 mdn_hicum trise=temprise
mn122_hicum (3 2 1 9) mdn_hicum trise=temprise
ends mn122_hicum 

inline subckt mn232_hicum (3 2 1 9 )
//q 3 2 1 9 mdn_hicum trise=temprise
mn232_hicum (3 2 1 9) mdn_hicum trise=temprise
ends mn232_hicum


I have already tried to replace subckt into inline subckt like your advice but it still didn't work.
I took another subckt in the PDK "nfet" and did simulation. The result is OK like the picture below. And in the model description of nfet,
it just have "subckt", not " inline subckt".
fdfd.PNG

View attachment nfet_model.txt

So I don't think this solution is right. Do you have any suggestion?
Thank you.
 

Wrong.
Necessary task is not only adding "inline" word.
Surely see.
Necessary changes are only Three lines for each model.
 

Wrong.
Necessary task is not only adding "inline" word.
Surely see.
Necessary changes are only Three lines for each model.


Sorry for my carelessness!
But I edited the file of model description like this for each model:

inline subckt ln121_hicum (3 2 1 9)
ln121_hicum (3 2 1 9) mdn_hicum trise=temprise ( replace for "q 3 2 1 9 mdn_hicum trise=temprise")
ends ln121_hicum

But the result is unchanged. I think we cannot edit this file because it used to be run well before. But after a long time, I reinstall this
PDK and it have this error. So I think it is not the right method to fix this error.
 

So I think it is not the right method to fix this error.
No.
Unless speciall callback function is invoked, "inline subckt" is necessary for annotating DC operation informations.

Do you surely activate modified model file ?
I suspect you still use original model files.
 

No.
Unless speciall callback function is invoked, "inline subckt" is necessary for annotating DC operation informations.

Do you surely activate modified model file ?
I suspect you still use original model files.


I edited the file. Then I saved it. And I restarted the server. then I tested the PDK and it was not like we expect.
 

See attached figure.
I can annotate DC Operation Point Information, if I modify model file as "inline subckt" correctly.
On the other hand, I can not annotate any DC Operation Point Information if I use your original model files which use "conventional subckt".

Here I use "analogLib/npn" as Symbol for BJT.

Code:
// Generated for: spectre
// Generated on: Oct  5 13:31:26 2017
// Design library name: My_RFDE_Test
// Design cell name: test_KimPhan_npn_model
// Design view name: schematic
simulator lang=spectre
global 0

include "KimPhan_npn_model.scs" section=NO_RTH
include "KimPhan_npn_model.scs" section=NOM
include "KimPhan_npn_model.scs" section=CIRCUIT

// Library name: My_RFDE_Test
// Cell name: test_KimPhan_npn_model
// View name: schematic
V1 (net5 0) vsource dc=1 type=dc
V0 (net1 0) vsource dc=600.0m type=dc
Q0 (net5 net1 0 0) ln121_hicum
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=25.0 \
    tnom=25.0 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 
dcOp dc write="spectre.dc" save=allpub maxiters=150 maxsteps=10000 \
    annotate=status
dcOpInfo info what=oppoint where=rawfile
designParamVals info what=parameters where=rawfile
saveOptions options save=selected saveahdlvars=all

No.
Unless speciall callback function is invoked, "inline subckt" is necessary for annotating DC operation informations.
See attached document.

You might miss to load some skill function in your "~/.cdsinit" or "./.cdsinit".

Anyway, enter load "cdfdump.txt" in CIW.
Then show me generated file, "sbc18_npn.cdf".
 

Attachments

  • test_KimPhan_npn_model.png
    test_KimPhan_npn_model.png
    21.5 KB · Views: 105
  • cdfdump.txt
    101 bytes · Views: 57
  • 171005-205001.png
    171005-205001.png
    50.8 KB · Views: 79
Last edited:
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top