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: *

 ocean XL 

Last post Thu, Jan 23 2014 4:05 AM by analogdesign. 14 replies.
Started by analogdesign 02 Jan 2014 04:23 AM. Topic has 14 replies and 5071 views
Page 1 of 1 (15 items)
Sort Posts:
  • Thu, Jan 2 2014 4:23 AM

    ocean XL Reply

     Hai,

            I am very much new to oceanXL script.

            By using "save M1.m1:oppoint", i can't plot small signal parameters of MOS in ocean script.

            The expression willl appear as

            ocnxlOutputExpr( "getData("M1.m1:gm" ?result "dc-dc")" ?name "namegm" ?plot t ?save t).

            I would be thankful if anybody can post the solution for the above problem.

     Thanks,

     krishna   

     

    • Post Points: 20
  • Thu, Jan 2 2014 4:51 AM

    Re: ocean XL Reply

    Krishna,

    Can you see the signal in the results browser?  Maybe you could post the bottom part of the input.scs with the analysis statements.

    I assume you're doing a DC sweep?

    There's also a typo in what you have posted, because it has embedded quotation marks. It should be:

            ocnxlOutputExpr( "getData("M1.m1:gm" ?result \"dc-dc\")" ?name "namegm" ?plot t ?save t)

    or maybe better still:

            ocnxlOutputExpr( "getData("M1.m1:gm" ?result 'dc)" ?name "namegm" ?plot t ?save t)

    Regards,

    Andrew.

     

    • Post Points: 65
  • Thu, Jan 2 2014 8:53 PM

    Re: ocean XL Reply

     Hai sir,

               Thanks for your reply. I tried to run the script with your suggestions. But still it is not working. Its a dc sweep.

               From the result browser signals can be plotted. I am attaching the script here.

    ;======================input.scs file===========================================
    M1 (net3 net3 0 0) nsvtlp w=w1 l=0.1 nfing=1 mult=1 srcefirst=1 ngcon=1 \
            mismatch=1 lpe=0 dnoise_mdev=0 dmu_mdev=0 dvt_mdev=0 numcos=1 \
            numcod=1
    I2 (vdd! net3) isource dc=40u type=dc
    V0 (vdd! 0) vsource dc=1.2 type=dc
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 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" maxiters=150 maxsteps=10000 annotate=status
    dcOpInfo info what=oppoint where=rawfile
    dc dc param=w1 start=0.2 stop=3 step=0.1 oppoint=rawfile maxiters=150 \
        maxsteps=10000 annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub subcktprobelvl=2

    ;====================== Tests setup ============================================

    ocnxlBeginTest("65nm_design:65_nmosexample:1")
    simulator( 'spectre )
    design( "65nm_design" "65_nmosexample" "schematic")
    analysis('dc ?saveOppoint t  ?param "w1"  ?start "0.2" 
            ?stop "5"  ?step "0.1"  ?sort "name"  ?detail "node" 
            ?threshold "0.0"  ?annotate "status"  ?maxsteps "10000"  ?maxiters "150" 
            ?oppoint "rawfile"  ?write "spectre.dc"  ?sweep "Design Variable"  ?designVar "w1" 
            ?rangeType "Start-Stop"  ?incrType "Linear"  ?stepTypeLin "Step Size"  ?stepTypeLog "Points Per Decade"  )
    desVar( "w1" 0.2    )
    saveOption( 'currents "all" )
    save( 'v "/net3" )
    temp( 27 )
    ocnxlOutputSignal( "/net3" ?plot t ?save t)
    ocnxlOutputExpr("getData("M1.m1:gm" ?result \"dc-dc\")" ?name "namegm" ?plot t ?save t)
    ocnxlEndTest() ; "65nm_design:65_nmosexample:1"

    Thanks

    krishna

    • Post Points: 5
  • Thu, Jan 2 2014 9:13 PM

    Re: ocean XL Reply

     Hai sir,

    Thanks for your reply. I tried to run the script with your suggestions. But it didn't work. signals can be plotted from the result browser(previously suggested by you). Its a DC sweep. Here i am attaching the script.

    ;======================input.scsfile ===================================
    M1 (net3 net3 0 0) nsvtlp w=w1 l=0.1 nfing=1 mult=1 srcefirst=1 ngcon=1 \
            mismatch=1 lpe=0 dnoise_mdev=0 dmu_mdev=0 dvt_mdev=0 numcos=1 \
            numcod=1
    I2 (vdd! net3) isource dc=40u type=dc
    V0 (vdd! 0) vsource dc=1.2 type=dc
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 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" maxiters=150 maxsteps=10000 annotate=status
    dcOpInfo info what=oppoint where=rawfile
    dc dc param=w1 start=0.2 stop=3 step=0.1 oppoint=rawfile maxiters=150 \
        maxsteps=10000 annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub subcktprobelvl=2

    ;====================== Tests setup=====
    ocnxlBeginTest("65nm_design:65_nmosexample:1")
    simulator( 'spectre )
    design( "65nm_design" "65_nmosexample" "schematic")
    analysis('dc ?saveOppoint t  ?param "w1"  ?start "0.2" 
            ?stop "5"  ?step "0.1"  ?sort "name"  ?detail "node" 
            ?threshold "0.0"  ?annotate "status"  ?maxsteps "10000"  ?maxiters "150" 
            ?oppoint "rawfile"  ?write "spectre.dc"  ?sweep "Design Variable"  ?designVar "w1" 
            ?rangeType "Start-Stop"  ?incrType "Linear"  ?stepTypeLin "Step Size"  ?stepTypeLog "Points Per Decade"  )
    desVar( "w1" 0.2    )
    saveOption( 'currents "all" )
    save( 'v "/net3" )
    temp( 27 )
    ocnxlOutputSignal( "/net3" ?plot t ?save t)
    ocnxlOutputExpr("getData("M1.m1:gm" ?result \"dc-dc\")" ?name "namegm" ?plot t ?save t)
    ocnxlEndTest() ; "65nm_design:65_nmosexample:1"
     

    • Post Points: 5
  • Fri, Jan 3 2014 1:48 AM

    Re: ocean XL Reply

     Hai sir,

              I am sorry if you get the same post multiple times.

              I tried to run the script with the modifications you suggested. But it didn't work. From the result browser its working( previously

    suggested by you) . Its DC sweep. Below i am attaching the script. 

     ;======================input.scs file===========================================
    M1 (net3 net3 0 0) nsvtlp w=w1 l=0.1 nfing=1 mult=1 srcefirst=1 ngcon=1 \
            mismatch=1 lpe=0 dnoise_mdev=0 dmu_mdev=0 dvt_mdev=0 numcos=1 \
            numcod=1
    I2 (vdd! net3) isource dc=40u type=dc
    V0 (vdd! 0) vsource dc=1.2 type=dc
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 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" maxiters=150 maxsteps=10000 annotate=status
    dcOpInfo info what=oppoint where=rawfile
    dc dc param=w1 start=0.2 stop=3 step=0.1 oppoint=rawfile maxiters=150 \
        maxsteps=10000 annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub subcktprobelvl=2

    ;====================== Tests setup ============================================

    ocnxlBeginTest("65nm_design:65_nmosexample:1")
    simulator( 'spectre )
    design( "65nm_design" "65_nmosexample" "schematic")
    analysis('dc ?saveOppoint t  ?param "w1"  ?start "0.2" 
            ?stop "5"  ?step "0.1"  ?sort "name"  ?detail "node"  
            ?threshold "0.0"  ?annotate "status"  ?maxsteps "10000"  ?maxiters "150"  
            ?oppoint "rawfile"  ?write "spectre.dc"  ?sweep "Design Variable"  ?designVar "w1"  
            ?rangeType "Start-Stop"  ?incrType "Linear"  ?stepTypeLin "Step Size"  ?stepTypeLog "Points Per Decade"  )
    desVar( "w1" 0.2    )
    saveOption( 'currents "all" )
    save( 'v "/net3" )
    temp( 27 )
    ocnxlOutputSignal( "/net3" ?plot t ?save t)
    ocnxlOutputExpr("getData("M1.m1:gm" ?result \"dc-dc\")" ?name "namegm" ?plot t ?save t)
    ocnxlEndTest() ; "65nm_design:65_nmosexample:1"

    thanks

    krishna

    • Post Points: 5
  • Fri, Jan 3 2014 1:52 AM

    Re: ocean XL Reply

     Hai sir,

              I am sorry if you get the same post multiple times.

              I tried to run the script with the changes you suggested. It didn't work. From result browser its working. Its DC sweep.

    ;======================input.scsfile===========================================
    M1 (net3 net3 0 0) nsvtlp w=w1 l=0.1 nfing=1 mult=1 srcefirst=1 ngcon=1 \
            mismatch=1 lpe=0 dnoise_mdev=0 dmu_mdev=0 dvt_mdev=0 numcos=1 \
            numcod=1
    I2 (vdd! net3) isource dc=40u type=dc
    V0 (vdd! 0) vsource dc=1.2 type=dc
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 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" maxiters=150 maxsteps=10000 annotate=status
    dcOpInfo info what=oppoint where=rawfile
    dc dc param=w1 start=0.2 stop=3 step=0.1 oppoint=rawfile maxiters=150 \
        maxsteps=10000 annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub subcktprobelvl=2

    ;====================== Tests setup ============================================

    ocnxlBeginTest("65nm_design:65_nmosexample:1")
    simulator( 'spectre )
    design( "65nm_design" "65_nmosexample" "schematic")
    analysis('dc ?saveOppoint t  ?param "w1"  ?start "0.2"  
            ?stop "5"  ?step "0.1"  ?sort "name"  ?detail "node"  
            ?threshold "0.0"  ?annotate "status"  ?maxsteps "10000"  ?maxiters "150"  
            ?oppoint "rawfile"  ?write "spectre.dc"  ?sweep "Design Variable"  ?designVar "w1"  
            ?rangeType "Start-Stop"  ?incrType "Linear"  ?stepTypeLin "Step Size"  ?stepTypeLog "Points Per Decade"  )
    desVar( "w1" 0.2    )
    saveOption( 'currents "all" )
    save( 'v "/net3" )
    temp( 27 )
    ocnxlOutputSignal( "/net3" ?plot t ?save t)
    ocnxlOutputExpr("getData("M1.m1:gm" ?result \"dc-dc\")" ?name "namegm" ?plot t ?save t)
    ocnxlEndTest() ; "65nm_design:65_nmosexample:1"

    Thanks

    krishna

    • Post Points: 20
  • Sun, Jan 12 2014 7:45 AM

    Re: ocean XL Reply

    Hi Krishna,

    I still would use ?result 'dc rather than ?result "dc-dc". I'm assuming that you do actually have an include file with the save statement somewhere?

    Can you show me a screenshot of the results browser showing where you can see the gm result?

    Probably best if you go to customer support - it's pretty hard to debug this without seeing the data.

    Kind Regards,

    Andrew.
    • Post Points: 35
  • Mon, Jan 13 2014 11:07 PM

    Re: ocean XL Reply

     Hi sir,

            Thanks for your reply. At present I was on leave, i will attach the screen shot, once i am back to work.

    Thanks

    krishna

    • Post Points: 5
  • Thu, Jan 23 2014 1:27 AM

    Re: ocean XL Reply
    • Post Points: 20
  • Thu, Jan 23 2014 1:54 AM

    Re: ocean XL Reply

    That was a blank post; you need to use the Options tab when posting to attach a picture.

    Regards,

    Andrew.

    • Post Points: 20
  • Thu, Jan 23 2014 1:59 AM

    Re: ocean XL Reply
    • Post Points: 5
  • Thu, Jan 23 2014 2:08 AM

    Re: ocean XL Reply

    Hai sir,

              I again tried to run the script with your suggestions. Herewith i am attaching screen shots of result browser and error shown in icfb .

    Thanks

    satya krishna 


    • Post Points: 5
  • Thu, Jan 23 2014 2:13 AM

    Re: ocean XL Reply

    Hai sir,

             I am attaching the error that was shown in the ICFB window 

     

    thanks

    satya krishna 


    • Post Points: 20
  • Thu, Jan 23 2014 2:39 AM

    Re: ocean XL Reply

     That's because you have a (pretty clear) syntax error in your script. You have:

     ocnxlOutputExpr("getData("M1.m1:gm" ?result 'dc)" ...)

    The problem is that you have quotation marks in the expression, and these are embedded within the string expression. So the string ends at the first quotation mark (so it just contains "getData(") and then some free text appears, and then you have " ?result 'dc)" - these are all stuck up against each other end hence you get syntax errors. It even tells you where they are!

    So you need to escape the embedded quotation marks:

     ocnxlOutputExpr("getData(\"M1.m1:gm\" ?result 'dc)" ...)

    Regards,

    Andrew.

    • Post Points: 20
  • Thu, Jan 23 2014 4:05 AM

    Re: ocean XL Reply
    Hai sir, Thanks for your reply. The script is working. thank you satya krishna
    • Post Points: 5
Page 1 of 1 (15 items)
Sort Posts:
Started by analogdesign at 02 Jan 2014 04:23 AM. Topic has 14 replies.