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
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.
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
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):
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.
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.