• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. save all device data in dc sweep

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 126
  • Views 14748
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

save all device data in dc sweep

Josef
Josef over 12 years ago

 Hi *,

i'd like to perform a dc sweep and with the opend results I need to access the device data directly, e.g. by typing something like vgs("M1") without using the netname connected to the gate and source port of the M1 device.  

 I should be a kind of save opPoint value but not a scalar but a vector.

 searched for a while in this forum but didn't get a proper answer, yet.

 thanks in advance

josef

 

 

 

  • Cancel
  • baenischfau
    baenischfau over 12 years ago

     Hi Josef,

     Here we go:

     

    Create one additional file to include with your simulations and fill it with some lines like

     

    save DUT.MP0:oppoint

    save DUT.Q0:oppoint

     

    and so on ... of course you have to adjust the hierarchy information andthe devicenames

     

    If you enter "spectre -h save" you will get some extra info on whats possible with

    wildcards, filtering options and so on. However this scheme does not work for every PDK.

    I just had one case where the probing was broken :( I'm waiting for an updated PDK right now ...

     

    Best Regards

     

    Andi

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Josef
    Josef over 12 years ago

    Hi Andi,

     thanx a lot! It works.

    There is one final thing: do you know a possibility to enter these additional lines directly into an OCEAN script without using the additional include file?

    Br josef 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • baenischfau
    baenischfau over 12 years ago

    Hi Josef,

    Sorry, I can't help you out at the OCEAN front as I don't use OCEAN that much.

    I just know that you can include the additional file by adding

    stimulusFile( ?xlate nil "path to new include file") to your existing ocean scripts

     

    Maybe some other guys can help out here

     

    Best Regards

     

    Andi

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Josef, 

    Andi is right. You have to do this by including a file with spectre syntax (which could use wildcards), and doing that via a stimulusFile or even a modelFile call in OCEAN.

    You could always wrap this up in a function which wrote it out to a temporary file, and then set the stimulusFile to it? Something like:

    procedure(MySaveOppoint(device)
      let((tmpFile port)
        tmpFile=makeTempFileName("/tmp/saveOppoint")
        port=outfile(tmpFile)
        fprintf(port "save %s:oppoint\n" device)
        close(port)
        stimulusFile(?xlate nil tmpFile)
        tmpFile
      )
    )

    Then you could do:

    file=MySaveOppoint("M1")
    run()
    deleteFile(file)

    Note - none of the above has been tested - it's just an idea.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information