• 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. How to open and read excel.xlsx file in virtuoso using ...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 144
  • Views 16470
  • 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 open and read excel.xlsx file in virtuoso using SKILL

Miguel V
Miguel V over 8 years ago

Hello,

I'm trying to open an excel xlsx file in Virtuoso using SKILL.  I have found several "axl" functions that are supposed to help accomplish this such as axlHttp() but all of these function return the error that they are not found. For example:

axlHttp("sample.xlsx")
*Error* eval: undefined function - axlHttp
>

axlDMFileBrowse("sample.xlsx")
*Error* eval: undefined function - axlDMFileBrowse
>

Is there an add on that I need or what else could I be missing, or are there other function that I can use?  infile() seems to work but I need to look at specific worksheets within the excel file.

Thanks,

Miguel

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    Miguel,

    Both functions are for the Allegro tools, not Virtuoso. Unfortunately both Allegro and Virtuoso ADE XL both use the prefix "axl" which is a bit confusing - although given that neither product co-exists in the same executable (or even release stream) they'd never clash.

    Whilst there are tools in Virtuoso that can read Microsoft Excel spreadsheets (such as the ADE Verifier tool), there is no public generic API for reading Excel data (if indeed that's what you want - it's not clear what your objective is).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Miguel V
    Miguel V over 8 years ago

    Hi Andrew,

    I thought so since I couldn't find anything in the Virtuoso documentation.  I was trying to take a list of pcells in a spreadsheet and automatically generate a layout with the given cells based on the x,y location specified and the listed parameters.  I got it to work by saving the excel spreadsheet as a CSV file and then just used the infile() function to open and read it and seems to be doing just fine.  I was hoping I could do this like in Allegro because there can be multiple sheets in one excel file.  Converting the .xlsx file to CSV means that I have to convert every single worksheet to CSV and then iterating through all of them.  

    Miguel

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

    Miguel,

    You might be able to batch automate the translation to CSV. I did a quick google search and found some references to using libreoffice to do this directly (my quick searches only found the way of converting the first sheet - but I didn't search very hard though). There was also this thread which might be useful.

    Ideally the Excel parser my team implemented for Verifier would be public, but I don't think we're quite ready to do that yet because ensuring there is sufficient coverage for general purpose use is a lot of work (the spec for xlsx format is enormous!).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Miguel V
    Miguel V over 8 years ago
    Hi Andrew,

    Thank you for pointing me in a good direction. I will look into it and see if it can speed things up for me.

    Thanks,
    Miguel
    • 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