Diva - Tolerance for DRC checks

T

Tim

Guest
Hi,

Is there a way to set a global tolerance for DRC checks in Diva or
Assura?

I have circular devices which are getting error flags because the
spacing is say 9.9999um due to the circles instead of the 10um in the
sep check.

It would be nice if I didn't have to change the number for the spacing
in every rule.

Thanks in Advance,
Tim
 
Tim:

Diva and Assura do what you ask them to. (no more, no less)
So if you want a rule of 9.9999um spacing, then write it.


On working with "circular" geometry, I do not understand how you work
with circles.

Typically, geometry gets converted to polygons. I think that Cadence's
idea of this conversion
is both wrong and broken. They like to use the mathematical approach to
the ideal converson and
then inscribe a polygon that is (at best) an internal poligonal tangent
to a circle. (i.e. they take points
from the ideal circle and they connect them to form a polygon. )
This tends to drive the engineers nuts ... A 10.00000u circle converted
to a polygon is always going to fail
a 10u width check using this method.
My proposed method ( which I have posted to this group and sent to
Cadence >5 years ago ) is to create a
polygon which is tangent to the circle (or larger) and then you do not
get this problem.

Since when is DRC ever nice? We all hope for DRC to be exact. We cannot
afford it to be nice.

-- Gerry
 
On 5 Oct 2006 06:49:25 -0700, "Tim" <TimRoy1@gmail.com> wrote:

Hi,

Is there a way to set a global tolerance for DRC checks in Diva or
Assura?

I have circular devices which are getting error flags because the
spacing is say 9.9999um due to the circles instead of the 10um in the
sep check.

It would be nice if I didn't have to change the number for the spacing
in every rule.

Thanks in Advance,
Tim
Diva has an automatic tolerance of one half database unit when either
edge being considered is non-manhattan. This tolerance is disabled when
the check involves equality, as in sep <= 10. There is no global
tolerance setting to change available.

It is possible that the rendering of the curve is the cause of your
problem, not the tolerance used. Please read the discussion of this in
the Diva Reference manual, "Layer Processing Concepts/Shapes/Conics and
Paths". The jist of it is that curves are approximated as polygons and
the vertices of those polygons are off the curve. Usually, the midpoint
of each edge is on the curve.
 
Thanks for the responses!

I solved my problem, it was the way VLE was creating the "circles".
Once they are converted to polygons I saw the problem. I used 36 edges
for the circles so it would have 1 flat edge every 10 degrees. The
middle of a flat edge wasn't on the center grid line a vertex was which
was slightly off grid. I rotated the "circle" 5 degrees which then
lined up the flat edges on the 0, 90, 180, 270 grid lines. When I
oversized 1 layer to create the next DRC no longer flagged the spacing
as an error. The builtin tolerance then worked.

Thanks Again,
Tim
 

Welcome to EDABoard.com

Sponsor

Back
Top