• 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. How to pass waveform to python from SKILL and get waveform...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 126
  • Views 10343
  • 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

How to pass waveform to python from SKILL and get waveform back

alexstepanov75
alexstepanov75 over 3 years ago

Hi,

What is the most efficient way to pass waveform from SKILL function to Python script and get back from python processed wave?

Of cause straight forward way is to save waveform to text file in SKILL function, then run Python script using ipcBeginProcess, read the file in python, write processed waveform into new/same text file and then read this file back to SKILL function.

But the question is, can it be done without using intermediary file (because of possible simultaneous writes etc.)?

Thanks!

  • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago

    Dear alexstepanov75,

    alexstepanov75 said:
    What is the most efficient way to pass waveform from SKILL function to Python script and get back from python processed wave?

    I can not state how much more "efficient" it is than using an ASCII file as a transfer mechanism, but there are two Python functions that I found which can read Spectre formatted data directly. The first reads both binary and ASCII psf formatted data and is described at URL:

    https://pypi.org/project/libpsf/

    The second, written by Ken Kundert, reads only ASCII pdf formatted files and described at URL:

    https://pypi.org/project/psf-utils/

    it includea a couple of utilities and has a link to a script that runs a Spectre simulation, accesses its results and plots some results.

    I assume you are expressing an interest in doing some post-processing of the Spectre data in Python. Therefore, assuming you can plot signals and write data to a file from Python, is it really always necessary to pass the Python results back to a Spectre formatted data base? It seems as if you can do whatever post-processing you wish in Python, the added complexity of passing it back to Spectre in a non-ASCII format may not be requried. Is this reasonable alexstepanov75? Just wondering....

    I apologize if you are already aware of these two potential methodologies!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Herge
    Herge over 2 years ago in reply to ShawnLogan

    Hello,

    I am using third-party software for this purpose: BeSpiceWave GUI from AnalogFlavor. Very nice API to C++, Python, Matlab/Octave. Especially the Matlab/octave interface is way faster than the one provided by the Spectre toolbox from matlab.

    Regards,

    Renaud G.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Herge
    Herge over 2 years ago in reply to Herge

    Correction: "Spectre toolbox _for_ Matlab".

    • 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