• 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. OCEAN write generic procedure to plot waveforms

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 126
  • Views 15152
  • 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

OCEAN write generic procedure to plot waveforms

The Setlaz
The Setlaz over 12 years ago

 Hi,

 

I'm trying to write a generic procedure to plot waveform that takes the plot macro parameters as procedure input arguments.

Basically, I want something like this :

procedure( my_procedure(  signal signal_name strip ...stuff... )

    plot( sprintf( "%s ?expr '("%s") ?strip "%d" " signal signal_name strip ) )

    ...stuff...

    hardCopy...stuff

);procedure

 

It seems like I cannot plot something out of a sprintf because sprintf does not return an object, right ?

Is there any way to get that working ?

 

Thanks,

Damien

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Well, sprintf returns a string, so you can't just pass that to plot. In general trying to do run-time evaluation of a macro like plot is going to be problematic, so I'd suggest that  you do:

    procedure(my_procedure(signal signal_name strip)
      awvPlotWaveform(currentWindow() || newWindow() list(signal) ?expr list(signal_name) ?stripNumber list(strip))
      ; hardCopy stuff
    )

    So use the underlying function.

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • The Setlaz
    The Setlaz over 12 years ago

    Hi Andrew,

     

    Thanks you very much for your answer. It seems to be working !

    Do you have any documentation on the awvPlotWaveform function ? I can't find anything in the manual.

    What is the difference with the Plot function ?

     

    Thanks,

    Damien

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

    It's documented. In IC615 it's in <ICinstDir>/doc/vivaxlskill/vivaxlskill.pdf (and cdnshelp would find it). In IC5141 it's in <ICinstDir>/doc/skartistref/skartistref.pdf (I searched in cdsdoc, and found it).

    The plot() function has some convient options - it will create a window if one doesn't exist already, and you can just do plot(sig1 sig2 sig3) for example - the awvPlotWaveform() is a bit more verbose.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • The Setlaz
    The Setlaz over 12 years ago

     Hi Andrew,

     

    Alright. Does it mean that the plot() macro is kind of wrapper for awvPlotWaveform() function ?

    I will look at the documentation tomorrow - I only looked at OCEAN Refence and SKILL Language Reference and SKILL User's Guide maual. Thanks a lot for your help.

     

    Regards,

    Damien

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

    Effectively, yes. It's actually a wrapper around either awvSimplePlotWaveform or awvPlotExpression - which are all very similar to awvPlotWaveform.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • The Setlaz
    The Setlaz over 12 years ago

     Hi Andrew,

     

    Thanks for the details !

    I have another question regarding the plot. I would like to change the defaults size of the graph being saved.

    I tried creating a window using the syntax you gave a few times :

    awvCreatePlotWindow(?bBox list(100:100 1000:600))

     

    But when I open the plot image, it is still a 800 x 600 graph.

     

    I also tweaked my .cdsenv to make Viva to plot to large window using the following settings :

    viva.graphFrame width string "1920"
    viva.graphFrame height string "1152"

    It works, when I run OCEAN without the -nograph option, the graph is plotted to a big OCEAN window, but it still saved to a 800 x 600px.

     

     I'm running Cadence 6.1.5.162

     

    Thanks,

    Damien

    • 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