Calibre: ignore metal min-area rule for polygons with text (i.e. ports) on them?

Status
Not open for further replies.

quantized

Member level 2
Joined
Jul 6, 2012
Messages
51
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Visit site
Activity points
1,887
Hi, the foundry's DRC deck includes a minimum-area rule for all the metal layers. I would like to modify it to ignore this rule if the metal polygon has text on it (text indicates that the metal is a point to which higher levels of the hierarchy might connect). This way I can run DRC on subcells that export less-than-min-area metal as ports. At the moment running DRC on these subcells produces a huge pile of spurious errors which obfuscate any important violations.

Does anybody know how to do this?

Of course I will be sure to run DRC with the unmodified deck before tapeout.
 

Does anybody know how to do this?
Copy the DRC deck to a different directory and modify the minimum-area rules to a smaller minimum-area value.
For the DRC run, modify the DRC deck path.

Of course I will be sure to run DRC with the unmodified deck before tapeout.
Then make sure you use the original DRC deck path.
 

I don't think you understood the question.

Copy the DRC deck to a different directory and modify the minimum-area rules to a smaller minimum-area value.

No, that will reduce the min-area requirement for all polygons, not just for polygons with text on them.

If a piece of metal has no text on it and is below the foundry's min-area requirement, I want to get an error since that piece of metal isn't going to be extended by polygons in any parent cell (my LVS tool enforces this). So I want to know about that and get a single error when I run DRC on the cell, rather than wait until I run DRC at the top-level and get a billion violations, one for every instance of the cell and with the hierarchy flattened.
 

I don't think you understood the question.
You didn't reveal the concerned DRC rule(s).

... that will reduce the min-area requirement for all polygons, not just for polygons with text on them.
Usual DRC rules' syntax forms allow for the differentiation between combinations of layers. Can't you differentiate between

Layer_X AND Textlayer
and
Layer_X ANDNOT Textlayer ?
 

I don't know what DRC you use, but I've made use of the
get_texted() function in Diva, back in the day, for personal
"ignore" rules logic. I haven't had the "pleasure" of hacking
Assura decks or using other engines.

The alternative, I suppose, is to create some hierarchy which
superimposes adequate connected metal, and then remove
the instance leaving the polygons as-checked. If you have
the discipline yourself, and aren't being disciplined externally.
 

You didn't reveal the concerned DRC rule(s).

It's a very straightforward "all polygons on layer X must have area greater than or equal to Y" rule.

RULE {
detect = METAL1 AREA < Y
}


Usual DRC rules' syntax forms allow for the differentiation between combinations of layers. Can't you differentiate between

Layer_X AND Textlayer
and
Layer_X ANDNOT Textlayer ?

Unfortunately looking on that layer isn't enough. Nets cross layers. For example, if you have a VIA polygon then the polygons on the metal layer above and below it are part of the same net.

This might sound perverse, but it happens a lot with supply rails -- they span many layers of metal but often the text is only on one of those layers.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…