+ Post New Thread
Page 2 of 2 FirstFirst 1 2
Results 21 to 30 of 30
  1. #21
    Junior Member level 1
    Points: 124, Level: 1

    Join Date
    Jul 2017
    Posts
    17
    Helped
    0 / 0
    Points
    124
    Level
    1

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

    Quote Originally Posted by pancho_hideboo View Post
    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.



    •   AltAdvertisement

        
       

  2. #22
    Advanced Member level 5
    Points: 17,492, Level: 32
    pancho_hideboo's Avatar
    Join Date
    Oct 2006
    Location
    Real Homeless
    Posts
    2,689
    Helped
    729 / 729
    Points
    17,492
    Level
    32

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

    Quote Originally Posted by KimPhan View Post
    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 by pancho_hideboo; 4th October 2017 at 11:39.



  3. #23
    Advanced Member level 5
    Points: 40,448, Level: 49

    Join Date
    Mar 2008
    Location
    USA
    Posts
    6,525
    Helped
    1914 / 1914
    Points
    40,448
    Level
    49

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

    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.



    •   AltAdvertisement

        
       

  4. #24
    Advanced Member level 5
    Points: 17,492, Level: 32
    pancho_hideboo's Avatar
    Join Date
    Oct 2006
    Location
    Real Homeless
    Posts
    2,689
    Helped
    729 / 729
    Points
    17,492
    Level
    32

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

    Quote Originally Posted by dick_freebird View Post
    I am not convinced that the netlist is the problem.
    Can you also understand "inline subckt" ?
    See model descriptions of Cadence GPDK.



    •   AltAdvertisement

        
       

  5. #25
    Junior Member level 1
    Points: 124, Level: 1

    Join Date
    Jul 2017
    Posts
    17
    Helped
    0 / 0
    Points
    124
    Level
    1

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

    Quote Originally Posted by pancho_hideboo View Post
    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".
    Click image for larger version. 

Name:	fdfd.PNG 
Views:	4 
Size:	17.3 KB 
ID:	141628

    nfet_model.txt

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



  6. #26
    Advanced Member level 5
    Points: 17,492, Level: 32
    pancho_hideboo's Avatar
    Join Date
    Oct 2006
    Location
    Real Homeless
    Posts
    2,689
    Helped
    729 / 729
    Points
    17,492
    Level
    32

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

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



  7. #27
    Junior Member level 1
    Points: 124, Level: 1

    Join Date
    Jul 2017
    Posts
    17
    Helped
    0 / 0
    Points
    124
    Level
    1

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

    Quote Originally Posted by pancho_hideboo View Post
    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.



  8. #28
    Advanced Member level 5
    Points: 17,492, Level: 32
    pancho_hideboo's Avatar
    Join Date
    Oct 2006
    Location
    Real Homeless
    Posts
    2,689
    Helped
    729 / 729
    Points
    17,492
    Level
    32

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

    Quote Originally Posted by KimPhan View Post
    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.



    •   AltAdvertisement

        
       

  9. #29
    Junior Member level 1
    Points: 124, Level: 1

    Join Date
    Jul 2017
    Posts
    17
    Helped
    0 / 0
    Points
    124
    Level
    1

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

    Quote Originally Posted by pancho_hideboo View Post
    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.



  10. #30
    Advanced Member level 5
    Points: 17,492, Level: 32
    pancho_hideboo's Avatar
    Join Date
    Oct 2006
    Location
    Real Homeless
    Posts
    2,689
    Helped
    729 / 729
    Points
    17,492
    Level
    32

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

    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
    Quote Originally Posted by pancho_hideboo View Post
    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".
    Last edited by pancho_hideboo; 5th October 2017 at 14:20.


    1 members found this post helpful.

--[[ ]]--