Home > Community > Forums > Custom IC SKILL > Strange error putprop

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Strange error putprop 

Last post Tue, Dec 25 2012 11:14 PM by milind0x. 2 replies.
Started by milind0x 06 Dec 2012 12:30 PM. Topic has 2 replies and 932 views
Page 1 of 1 (3 items)
Sort Posts:
  • Thu, Dec 6 2012 12:30 PM

    • milind0x
    • Not Ranked
    • Joined on Mon, Oct 15 2012
    • Posts 3
    • Points 45
    Strange error putprop Reply

     Hi,

           I am  running a script (pasted below) in Ocean. The simulations have already finished fine. This script just selects the run and extracts measurements from it. It runs fine for a few iterations then it gives me this error (on the 12th iteration)

     *Error* putprop: first arg must be either symbol, list, defstruct or user type - nil

     This happens right after the plot command of IBIAS_FIN since I see this on the terminal:

    *Warning* Wave82 is not a waveform object that can be displayed and
              will be DELETED automatically.
              name: "IBIAS_FIN"

     But if I restart the script onwards from the 12th iteration, the12th iteration works fine it shows the same problem on the 13th iteration. If I execute the script commands 1 at a time for the 12th iteration they work fine.

       Please help me figure out why I am getting this error. These measurement statements are from the ocean script generated by ADE, I did not change them so I don't know why they cause a problem.

     

    Thanks,

    Milind

     

     

    OCEAN SCRIPT:

     

    for(i 1 54
        sprintf(corDir "%s%d/psf" "/home/milind/BIAS_TB_TRAN/corner" i)
        openResults(corDir )
        IBIAS_TEMP = IS("/I0/M38/D")
        plot( IBIAS_TEMP ?expr '( "IBIAS_TEMP" ) )
        IBIAS_FIN = value(IS("/I0/M38/D") VAR("gt"))
        plot( IBIAS_FIN ?expr '( "IBIAS_FIN" ) )
        IBIAS_AT_POK = value(IT("/I0/M38/D") cross(VT("/POK") (VAR("vsup") / 2) 1 "rising" nil nil))
        plot( IBIAS_AT_POK ?expr '( "IBIAS_AT_POK" ) )
        POK_Time = cross(VT("/POK") (VAR("vsup") / 2) 1 "rising" nil nil)
        plot( POK_Time ?expr '( "POK_Time" ) )
        IBIAS_DC = IDC("/I0/M38/D")
        plot( IBIAS_DC ?expr '( "IBIAS_DC" ) )
        ISUP_DC = IDC("/V0/MINUS")
        plot( ISUP_DC ?expr '( "ISUP_DC" ) )
        ISUP_FIN = value(IT("/V0/MINUS") VAR("gt"))
        plot( ISUP_FIN ?expr '( "ISUP_FIN" ) )
        IBIAS_AFGL = value(IS("/I0/M38/D") (2 * VAR("gt")))
        plot( IBIAS_AFGL ?expr '( "IBIAS_AFGL" ) )
        ISUP_AFGL = value(IT("/V0/MINUS") (2 * VAR("gt")))
        plot( ISUP_AFGL ?expr '( "ISUP_AFGL" ) )
        POK = VT("/POK")
        plot( POK ?expr '( "POK" ) )
        VSUP = VT("/VDD")
        plot( VSUP ?expr '( "VSUP" ) )
        IBIAS = IT("/I0/M38/D")
        plot( IBIAS ?expr '( "IBIAS" ) )
        LG_Phase = phaseDegUnwrapped(getData("loopGain" ?result "stb"))
        plot( LG_Phase ?expr '( "LG_Phase" ) )
        LG_dB20 = db(mag(getData("loopGain" ?result "stb")))
        plot( LG_dB20 ?expr '( "LG_dB20" ) )
        Phase_Margin = value(getData("phaseMargin" ?result "tran_stb_margin-tran_margin.stb") 0.01)
        plot( Phase_Margin ?expr '( "Phase_Margin" ) )
        PM_Freq = value(getData("phaseMarginFreq" ?result "tran_stb_margin-tran_margin.stb") 0.01)
        plot( PM_Freq ?expr '( "PM_Freq" ) )
        Gain_Margin = value(getData("gainMargin" ?result "tran_stb_margin-tran_margin.stb") 0.01)
        plot( Gain_Margin ?expr '( "Gain_Margin" ) )
        GM_Freq = value(getData("gainMarginFreq" ?result "tran_stb_margin-tran_margin.stb") 0.01)
        plot( GM_Freq ?expr '( "GM_Freq" ) )
        LG_DC = value(value(dB20(getData("loopGain" ?result "tran_stb-tran_stb")) 1e-05) "time" 0.01)
        plot( LG_DC ?expr '( "LG_DC" ) )
       
        if(i==1 then
            fileHandle = outfile("/home/milind/BIAS_TB_TRAN/data.csv" "w")
            ocnPrint( ?output fileHandle ?numberNotation 'engineering  "vdd=5" "ttttttt" "-40" Phase_Margin PM_Freq )
            close(fileHandle)
        else
            fileHandle = outfile("/home/milind/BIAS_TB_TRAN/data.csv" "a")
            ocnPrint( ?output fileHandle ?numberNotation 'engineering  "vdd=5" "ttttttt" "-40" Phase_Margin PM_Freq )
            close(fileHandle)   
        )
    )

    Filed under:
    • Post Points: 20
  • Mon, Dec 17 2012 4:39 AM

    Re: Strange error putprop Reply

    It's not that obvious to me from a quick inspection, so I would suggest doing:

    _stacktrace=50
    tracelength=tracelevel=50

    and then running the script - it might reveal some more detail about where it was failing (post back here).

    You'd probably be best going to customer support though - then we can take a look at your data.

    Regards,

    Andrew.

    • Post Points: 20
  • Tue, Dec 25 2012 11:14 PM

    • milind0x
    • Not Ranked
    • Joined on Mon, Oct 15 2012
    • Posts 3
    • Points 45
    Re: Strange error putprop Reply

    Thanks for the response. I finally found out that the problem was in one of the expressions and it was not being evaluated and causing an error since it was performing some operation on a nil. It did not cause a problem in ADE since I was running the skill from the command line ocean. Somehow the command line is giving different results than from inside icfb. That is another post I have posted and am looking into.

     

    Thanks. 

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by milind0x at 06 Dec 2012 12:30 PM. Topic has 2 replies.