Updated DRC documentation

This commit is contained in:
Matthias Koefferlein 2021-01-15 19:01:32 +01:00
parent bbd511bc8b
commit 111b49f0ef
12 changed files with 100 additions and 2 deletions

View File

@ -177,6 +177,31 @@ run_demo gen, "input.width(1.2, projection)", "drc_width2.png"
run_demo gen, "input.width(1.2, square)", "drc_width3.png"
run_demo gen, "input.width(1.2, whole_edges)", "drc_width4.png"
class Gen
def produce(s1, s2)
pts = [
RBA::Point::new(0, 0),
RBA::Point::new(3000, 0),
RBA::Point::new(3000, 4000),
RBA::Point::new(5000, 4000),
RBA::Point::new(5000, 7000),
RBA::Point::new(2000, 7000),
RBA::Point::new(2000, 2000),
RBA::Point::new(0, 2000)
];
s1.insert(RBA::Polygon::new(pts))
end
end
gen = Gen::new
run_demo gen, "input.drc(width < 2.0)", "drc_width1u.png"
run_demo gen, "input.drc(width(projection) < 2.0)", "drc_width2u.png"
run_demo gen, "input.drc(width(projection) > 2.0)", "drc_width3u.png"
run_demo gen, "input.drc(width(projection) == 2.0)", "drc_width4u.png"
run_demo gen, "input.drc(width(projection) != 2.0)", "drc_width5u.png"
run_demo gen, "input.drc(1.0 < width(projection) <= 3.0)", "drc_width6u.png"
class Gen
def produce(s1, s2)
pts = [

View File

@ -1048,11 +1048,30 @@ CODE
# out = in.drc(0.1.um <= width < 0.2.um)
# @/code
#
# With a lower and upper limit, the results are edges marking the positions on the
# @table
# @tr
# @td @img(/images/drc_width1u.png) @/td
# @td @img(/images/drc_width2u.png) @/td
# @/tr
# @/table
#
# With a lower and upper limit or with the "equal" condition, the results are edges marking the positions on the
# primary shape where the condition is met.
# With a lower limit alone, these markers are formed by two, identical but opposite edges attached to
# the primary shape. Without an upper limit only, both edges are attached to different sides of the primary
# shape.
#
# @table
# @tr
# @td @img(/images/drc_width3u.png) @/td
# @td @img(/images/drc_width4u.png) @/td
# @/tr
# @tr
# @td @img(/images/drc_width5u.png) @/td
# @td @img(/images/drc_width6u.png) @/td
# @/tr
# @/table
#
# %DRC%
# @name space

View File

@ -2983,6 +2983,8 @@ CODE
# On polygon layers, the polygons on each layer are checked for locations where their
# width is less than the specified value. In that case, an edge pair error shape is generated.
#
# @h3 Options @/h3
#
# The options available are:
#
# @ul
@ -3029,6 +3031,8 @@ CODE
# markers = in.width(20.nm)
# @/code
#
# @h3 Examples @/h3
#
# The following images show the effect of various forms of the width check:
#
# @table
@ -3042,6 +3046,17 @@ CODE
# @/tr
# @/table
#
# @h3 Universal DRC function @/h3
#
# There is an alternative notation for the check using the "universal DRC" function ("\Layer#drc").
# This notation is more intuitive and allows checking for widths bigger than a certain value
# or within a certain range.
#
# Apart from that it provides the same options than the plain width check.
# Follow this link for the documentation of this feature: \global#width.
#
# @h3 Shielding @/h3
#
# "shielding" is a concept where an internal or external distance is measured only
# if the opposite edge is not blocked by other edges between. Shielded mode makes
# a difference if very large distances are to be checked and the minimum distance

View File

@ -1591,11 +1591,29 @@ out = in.drc(width != 0.2.um)
out = in.drc(0.1.um &lt;= width &lt; 0.2.um)
</pre>
</p><p>
With a lower and upper limit, the results are edges marking the positions on the
<table>
<tr>
<td><img src="/images/drc_width1u.png"/></td>
<td><img src="/images/drc_width2u.png"/></td>
</tr>
</table>
</p><p>
With a lower and upper limit or with the "equal" condition, the results are edges marking the positions on the
primary shape where the condition is met.
With a lower limit alone, these markers are formed by two, identical but opposite edges attached to
the primary shape. Without an upper limit only, both edges are attached to different sides of the primary
shape.
</p><p>
<table>
<tr>
<td><img src="/images/drc_width3u.png"/></td>
<td><img src="/images/drc_width4u.png"/></td>
</tr>
<tr>
<td><img src="/images/drc_width5u.png"/></td>
<td><img src="/images/drc_width6u.png"/></td>
</tr>
</table>
</p>
<a name="write_spice"/><h2>"write_spice" - Defines SPICE output format (with options)</h2>
<keyword name="write_spice"/>

View File

@ -2804,6 +2804,8 @@ value, an error shape is generated for that edge pair.
On polygon layers, the polygons on each layer are checked for locations where their
width is less than the specified value. In that case, an edge pair error shape is generated.
</p><p>
<h3>Options </h3>
</p><p>
The options available are:
</p><p>
<ul>
@ -2850,6 +2852,8 @@ markers = in.width(2.um)
markers = in.width(20.nm)
</pre>
</p><p>
<h3>Examples </h3>
</p><p>
The following images show the effect of various forms of the width check:
</p><p>
<table>
@ -2863,6 +2867,17 @@ The following images show the effect of various forms of the width check:
</tr>
</table>
</p><p>
<h3>Universal DRC function </h3>
</p><p>
There is an alternative notation for the check using the "universal DRC" function ("<a href="/about/drc_ref_layer.xml#drc">Layer#drc</a>").
This notation is more intuitive and allows checking for widths bigger than a certain value
or within a certain range.
</p><p>
Apart from that it provides the same options than the plain width check.
Follow this link for the documentation of this feature: <a href="/about/drc_ref_global.xml#width">width</a>.
</p><p>
<h3>Shielding </h3>
</p><p>
"shielding" is a concept where an internal or external distance is measured only
if the opposite edge is not blocked by other edges between. Shielded mode makes
a difference if very large distances are to be checked and the minimum distance

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -4,6 +4,12 @@
<file alias="drc_width2.png">doc/images/drc_width2.png</file>
<file alias="drc_width3.png">doc/images/drc_width3.png</file>
<file alias="drc_width4.png">doc/images/drc_width4.png</file>
<file alias="drc_width1u.png">doc/images/drc_width1u.png</file>
<file alias="drc_width2u.png">doc/images/drc_width2u.png</file>
<file alias="drc_width3u.png">doc/images/drc_width3u.png</file>
<file alias="drc_width4u.png">doc/images/drc_width4u.png</file>
<file alias="drc_width5u.png">doc/images/drc_width5u.png</file>
<file alias="drc_width6u.png">doc/images/drc_width6u.png</file>
<file alias="drc_space1.png">doc/images/drc_space1.png</file>
<file alias="drc_space2.png">doc/images/drc_space2.png</file>
<file alias="drc_space3.png">doc/images/drc_space3.png</file>