• 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 flatten a gds/oas file?

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 3357
  • 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 flatten a gds/oas file?

SSR
SSR over 1 year ago

Hi,

Is it possible to flatten a gds/oas file in command-line before streaming in to the Virtuoso env?

If yes, whats the method? If not, is this something that can be achieved using a SKILL code?

Thanks

Ram

  • Cancel
Parents
  • AurelBuche
    AurelBuche over 1 year ago

    Hi Ram,

    There is a support article that should be covering what you ask for : 

    XStream In: Is there a way to flatten top cell layout during File Import Stream?

    This one might be useful in case you want to do the opposite :

    How to generate flat GDS data from layout using XStream Out or strmout

    Cheers,

    Aurélien

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • SSR
    SSR over 1 year ago in reply to AurelBuche

    I need to flatten the gds/oas db before I could stream in so that the stream-in process don’t mess up the library creating many different cells/views for the design hierarchy. I've seen the article, but it seems like they are flattening the db after streaming in, which fails what i'm trying to achieve here.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to SSR

    You could either:

    1. Stream in (with the flatten code) into a temporary library and then copy the top cell out afterwards, and then delete the temporary library
    2. Modify the code in the first article that Aurélien mention to traverse the hierarchy, collect all the cellViews used, and then delete them after flattening (have to be careful to only delete those in the same library just in case you have references from other libraries). 

    I think the first approach is safer. After all, how often are you likely to need to do this - it doesn't sound too onerous to me.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to SSR

    You could either:

    1. Stream in (with the flatten code) into a temporary library and then copy the top cell out afterwards, and then delete the temporary library
    2. Modify the code in the first article that Aurélien mention to traverse the hierarchy, collect all the cellViews used, and then delete them after flattening (have to be careful to only delete those in the same library just in case you have references from other libraries). 

    I think the first approach is safer. After all, how often are you likely to need to do this - it doesn't sound too onerous to me.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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