• 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. comparission of two GDS

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 128
  • Views 18131
  • 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

comparission of two GDS

sailesh
sailesh over 15 years ago

 Hi Frn'z

       u can get me the logic for this,

I  have two layout, they has to be compared and difference has to be given. I have done till getting the shapes and their corresponding metal layers & coordinates.Iam not able move further

 

 

 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Can you please try to write using proper English words? There's no tax on characters in the forum, and using SMS abbreviations is unnecessary. "Frn'z" and "u" make it harder to read. This comment is aimed not just at you, but all people who use the forum - some of us find it really hard to read such strange abbreviations.

    Anyway, the conventional way to do this kind of comparison is to do an XOR (Exclusive OR) in a physical verfication tool, such as Assura, PVS or Calibre. Writing the rule deck is generally pretty easy for these tools - consult the documentation.

    It will almost certainly be much easier to write the rules, and faster to run, than trying to write some SKILL to do it. You could use functions like leLayerXor() or dbLayerXor() in SKILL, but I think using a physical verification tool is by far the most efficient.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Bernd das Brot
    Bernd das Brot over 15 years ago

     Hello Sailesh,

    I guess you have imported the streamfiles by streamin.

    I think it's difficult to publish the code, but it could be an inspiration:

    On our site we are using a own skill programm, which compares two layouts by using divaDRC.

    It tempoary makes flattened copies of each layout and after that it perfomes saveDerived( (geomXor (geomGetPurpose "layername" "purpose" 0 20)) "layername purpose") for each desired layer/purpose name.

    After all we get a layout with all differences marked as DRC-errors

    Regards,

    Bernd

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

    Hi Bernd,

    Why does it need to flatten both the layouts? 

    I wrote an app note on doing this in Diva years ago (it was for 4.3.4, so that shows how long ago it was), but I never updated it for  4.4 (let alone IC6) and I can't locate the app note any more (it was probably 14 years ago...). But I can't see why you need to flatten both layouts.

    If I remember rightly, I did something in Diva by the following flow (roughly):

    1. Place an instance of one  layout and flatten it
    2. Change the purpose of all the shapes to a different purpose (e.g. "xor") which I added to the tech file for this purpose (excuse the pun)
    3. Place the instance of the second layout (no need to flatten)
    4. Do an xor of each drawing layer against the same layer, but xor purpose

    With Assura, Dracula, PVS and Calibre it's easier because they directly support having two different databases, whereas with Diva  you only have a single database, which complicates matters slightly.

    I seem to remember my app note had some scripts to automate adding the purposes and building the rule deck, and then some SKILL to do the above steps - but it's not exactly difficult. If you're using one of the other physical verificatioiin tools, it's simpler still.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago
    Hi Sailesh

    Just as what Andrew has commented, it is really far easier to simply use Assura to do the comparison. Please see the section "Input settings for comparing two layouts" in the Assura user guide.

    Best regards
    Quek
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • stuso
    stuso over 15 years ago

    Hi, back when i used Diva i had written a simple DRC like this:

    saveDerived( geomXor(list( "m1" "drawing" ) ) "m1 dg mismatch")

    with a line for each relevent layer.

    I'd place my two layout views (streamed back in gds's) co-incidentally with same origin in a new layout view then run the DRC. 

    I'm sure there are more elegant ways but it did the trick for me.

    If you are using PVS i notice there is an XOR option in the menu, have not tried it personally yet.

    Thanks

    Stu

     

     

     

     

    • 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