• 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 SKILL
  3. ipcSkillProcess and results buffering

Stats

  • Replies 2
  • Subscribers 149
  • Views 25
  • Members are here 0

ipcSkillProcess and results buffering

BS202501273649
BS202501273649 1 hour ago

I am using ipcSkillProcess to allow a Python program to send SKILL commands to Virtuoso and consume the results.   It all works very well - I use read on the Python side and it gets back bytes containing the result of evaluating the command sent.

In production I generally haven't seen any problems but in theory it seems I should worry about the length of the results - the read could provide a buffer's worth but there might be more to come.  The manual talks about a 4096 byte buffer but I've certainly got more than that in a single read.  But I have been able to exceed some buffer size somewhere in a testing scenario by making the result of the evaluation very long.  Then my Python program only gets the first part of the results truncated and the rest comes through in the next read.  Not sure if that is a Python or a Virtuoso buffer size.

I could fix that by forcing some delimiters into the results and in Python reading until I get the terminating delimiter but that's a bit constraining on the results format.   Or I could maybe check for the buffer being full somewhere (on the Python side or the Virtuoso side?) and giving an error or special casing it somehow.

Neither seem very attractive.  Is there a sensible standard pattern for handling this?

  • Cancel
  • Sign in to reply
  • Aurel B
    Aurel B 1 hour ago

    Hi, the usual solution is to write the Python results to a file and use the ipcSkillProcess to tell SKILL to read it.

    hope this helps,

    Aurel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • BS202501273649
    BS202501273649 1 hour ago in reply to Aurel B

    No I'm using it in the other direction.  The Python program sends SKILL to virtuoso and virtuoso responds with the results of evaluating the SKILL.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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.

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

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