From 3e9d66ea6d54d6f7f4255ea489e521c7ee157b2d Mon Sep 17 00:00:00 2001
From: Matthias Koefferlein
"angle" represents the edge orientation filter on the primary shape edges in
-DRC expressions (see Layer#drc and DRC#angle for more details). In this context,
+DRC expressions (see Layer#drc and angle for more details). In this context,
the operation acts similar to Layer#with_angle.
"antenna_check" - Performs an antenna check
@@ -41,7 +41,7 @@ is equivalent to "layer.area" (see Layer
polygons in the layer.
Without a layer argument, "area" represents an area filter for primary shapes in -DRC expressions (see Layer#drc and DRC#area for more details). +global expressions (see Layer#drc and area for more details).
-See Layer#drc, area_ratio and DRC#area_ratio for more details. +See Layer#drc, area_ratio and area_ratio for more details.
-See Layer#drc, bbox_aspect_ratio and DRC#bbox_aspect_ratio for more details. +See Layer#drc, bbox_aspect_ratio and bbox_aspect_ratio for more details.
-See Layer#drc, bbox_max and DRC#bbox_max for more details. +See Layer#drc, bbox_max and bbox_max for more details.
-See Layer#drc, bbox_min and DRC#bbox_min for more details. +See Layer#drc, bbox_min and bbox_min for more details.
-See Layer#drc, bbox_height and DRC#bbox_height for more details. +See Layer#drc, bbox_height and bbox_height for more details.
Like the layer-based version, the "corners" operator accepts the output type option: "as_dots" for dot-like edges, "as_boxes" for @@ -380,7 +380,7 @@ This operator represents the selector of primary shapes which entirely cover shapes from the other layer. This version can be put into a condition indicating how many shapes of the other layer need to be covered. Use this operator within DRC expressions (also see Layer#drc). If can be used -as method to an expression. See there for more details: DRC#covering. +as method to an expression. See there for more details: covering.
-See Layer#drc, relative_height and DRC#relative_height for more details. +See Layer#drc, relative_height and relative_height for more details.
"with_holes" represents a polygon selector for DRC expressions selecting polygons of the primary by their number of holes -(see Layer#drc and DRC#with_holes for more details). +(see Layer#drc and with_holes for more details).
-Other versions are available that allow translation of objects into other types (collect_to_polygons, +Other versions are available that allow translation of objects into other types (collect_to_region, collect_to_edges and collect_to_edge_pairs).
Because this method executes inside the interpreter, it's inherently slow. Tiling does not @@ -461,11 +461,11 @@ For the conversion of edges, edge pairs and polygons into other types, these methods are provided:
The following example decomposes the primary polygons into edges: @@ -506,8 +506,8 @@ The "drc" framework supports the following edge and edge/polygon operations:
For example, to select polygons with an area larger than one square micrometer, use: @@ -672,7 +672,7 @@ from the primary, it's neighborhood (secondaries) or from deriving shape sets. Obviously the primary is a simple one: it consists of a single shape, because this is how the loop operates. Derived shape sets however can be more complex. "Quantifiers" allow assessing properties of the complete, per-primary shape -set. A simple one is "DRC#count" which checks if the number of shapes within +set. A simple one is "count" which checks if the number of shapes within a shape set is within a given range.
Obviously, "primary.count == 1" is always true. So using "count" primaries isn't @@ -1274,7 +1274,7 @@ regions or edges, with each cell counting once. A high count to hier_count (flat to hierarchical) ratio is an indication of a good hierarchical compression. "hier_count" applies only to original layers without clip regions or -cell filters and to layers in deep mode. Otherwise, hier_count gives +cell filters and to layers in deep mode. Otherwise, hier_count gives the same value than count.
-The odd_polygons check is not available in deep mode currently. See deep_reject_odd_polygons for +The odd_polygons check is not available in deep mode currently. See deep_reject_odd_polygons for an alternative.
Texts will be used to assign net names to the nets. The preferred -method is to use labels to create a text layer from a design -layer. When using input, text labels are carried implicitly +method is to use labels to create a text layer from a design +layer. When using input, text labels are carried implicitly with the polygons but at the cost of small dummy shapes (2x2 DBU marker polygons) and limited functionality.
diff --git a/src/doc/doc/manual/drc_runsets.xml b/src/doc/doc/manual/drc_runsets.xml index cd37d3e2b..c73994011 100644 --- a/src/doc/doc/manual/drc_runsets.xml +++ b/src/doc/doc/manual/drc_runsets.xml @@ -396,7 +396,8 @@ output(w, "width violations") separation (sep), notch, isolated (iso), - enclosure (enc), + enclosing (enc), + enclosed, overlap
- "measurement" is "width", "notch", "isolated" ("iso"), "separation" ("sep"), "overlap" or "enclosure" ("enc"). + "measurement" is "width", "notch", "isolated" ("iso"), "separation" ("sep"), "overlap", "enclosed" or "enclosuring" ("enc"). The last three checks are two-layer checks which require a second layer. The second layer is specified together with the measurement like this:
diff --git a/src/doc/doc/manual/lvs_compare.xml b/src/doc/doc/manual/lvs_compare.xml index 5593ddddc..f58319310 100644 --- a/src/doc/doc/manual/lvs_compare.xml +++ b/src/doc/doc/manual/lvs_compare.xml @@ -15,7 +15,7 @@ connectivity (connect, connect_global, connect_implicit) and - provided a reference netlist (schematic), + provided a reference netlist (schematic), this function will perform the actual compare: diff --git a/src/doc/doc/manual/lvs_io.xml b/src/doc/doc/manual/lvs_io.xml index 3e66a3624..3cc347f56 100644 --- a/src/doc/doc/manual/lvs_io.xml +++ b/src/doc/doc/manual/lvs_io.xml @@ -148,7 +148,7 @@ X$2 VSS IN OUT SUBSTRATE NMOS PARAMS: L=0.25 W=0.9 AS=0.405 AD=0.405 PS=2.7The main use case for reading netlists is for comparison in LVS. Reference netlists are read with the "schematic" function - (see schematic): + (see schematic):
schematic("inverter.cir")
diff --git a/src/drc/drc/built-in-macros/_drc_complex_ops.rb b/src/drc/drc/built-in-macros/_drc_complex_ops.rb
index 5014cf5ef..8e4fbf4b6 100644
--- a/src/drc/drc/built-in-macros/_drc_complex_ops.rb
+++ b/src/drc/drc/built-in-macros/_drc_complex_ops.rb
@@ -35,7 +35,6 @@ module DRC
# @li \global#bbox_max @/li
# @li \global#bbox_min @/li
# @li \global#bbox_width @/li
-# @li \global#case @/li
# @li \global#corners @/li
# @li \global#covering @/li
# @li \global#enc @/li
@@ -70,6 +69,7 @@ module DRC
# @li \global#smoothed @/li
# @li \global#space @/li
# @li \global#squares @/li
+# @li \global#switch @/li
# @li \global#width @/li
# @li \global#with_holes @/li
# @/ul
diff --git a/src/drc/drc/built-in-macros/_drc_cop_integration.rb b/src/drc/drc/built-in-macros/_drc_cop_integration.rb
index 2f47e052f..2cf5b9fa2 100644
--- a/src/drc/drc/built-in-macros/_drc_cop_integration.rb
+++ b/src/drc/drc/built-in-macros/_drc_cop_integration.rb
@@ -129,11 +129,11 @@ module DRC
# methods are provided:
#
# @ul
- # @li "\DRC#polygons": converts edge pairs to polygons @/li
- # @li "\DRC#extended", "\DRC#extended_in", "\DRC#extended_out": converts edges to polygons @/li
- # @li "\DRC#first_edges", \DRC#second_edges": extracts edges from edge pairs @/li
- # @li "\DRC#edges": decomposes edge pairs and polygons into edges @/li
- # @li "\DRC#corners": can extract corners from polygons @/li
+ # @li "\global#polygons": converts edge pairs to polygons @/li
+ # @li "\global#extended", "\global#extended_in", "\global#extended_out": converts edges to polygons @/li
+ # @li "\global#first_edges", \global#second_edges": extracts edges from edge pairs @/li
+ # @li "\global#edges": decomposes edge pairs and polygons into edges @/li
+ # @li "\global#corners": can extract corners from polygons @/li
# @/ul
#
# The following example decomposes the primary polygons into edges:
@@ -174,8 +174,8 @@ module DRC
#
# @ul
# @li Edge vs. edge and edge vs. polygon booleans @/li
- # @li Edge vs. polygon interactions ("\DRC#interacting", "\DRC#overlapping") @/li
- # @li Edge sampling ("\DRC#start_segments", "\DRC#centers", "\DRC#end_segments") @/li
+ # @li Edge vs. polygon interactions ("\global#interacting", "\global#overlapping") @/li
+ # @li Edge sampling ("\global#start_segments", "\global#centers", "\global#end_segments") @/li
# @/ul
#
# @h3 Filters @/h3
@@ -183,14 +183,14 @@ module DRC
# Filter operators select input polygons or edges based on their properties. These filters are provided:
#
# @ul
- # @li "\DRC#area": selects polygons based on their area @/li
- # @li "\DRC#perimeter": selects polygons based on their perimeter @/li
- # @li "\DRC#area_ratio": selects polygons based on their bounding box to polygon area ratio @/li
- # @li "\DRC#bbox_aspect_ratio": selects polygons based on their bounding box aspect ratio @/li
- # @li "\DRC#relative_height": selects polygons based on their relative height @/li
- # @li "\DRC#bbox_min", "\global#bbox_max", "\global#bbox_width", "\global#bbox_height": selects polygons based on their bounding box properties @/li
- # @li "\DRC#length": selects edges based on their length @/li
- # @li "\DRC#angle": selects edges based on their orientation @/li
+ # @li "\global#area": selects polygons based on their area @/li
+ # @li "\global#perimeter": selects polygons based on their perimeter @/li
+ # @li "\global#area_ratio": selects polygons based on their bounding box to polygon area ratio @/li
+ # @li "\global#bbox_aspect_ratio": selects polygons based on their bounding box aspect ratio @/li
+ # @li "\global#relative_height": selects polygons based on their relative height @/li
+ # @li "\global#bbox_min", "\global#bbox_max", "\global#bbox_width", "\global#bbox_height": selects polygons based on their bounding box properties @/li
+ # @li "\global#length": selects edges based on their length @/li
+ # @li "\global#angle": selects edges based on their orientation @/li
# @/ul
#
# For example, to select polygons with an area larger than one square micrometer, use:
@@ -340,7 +340,7 @@ module DRC
# Obviously the primary is a simple one: it consists of a single shape, because
# this is how the loop operates. Derived shape sets however can be more complex.
# "Quantifiers" allow assessing properties of the complete, per-primary shape
- # set. A simple one is "\DRC#count" which checks if the number of shapes within
+ # set. A simple one is "\global#count" which checks if the number of shapes within
# a shape set is within a given range.
#
# Obviously, "primary.count == 1" is always true. So using "count" primaries isn't
@@ -596,49 +596,49 @@ CODE
# against numeric values. For example, "bbox_height < 2.0" will select all primary shapes whose
# bounding box height is less than 2 micrometers. See \Layer#drc for more details about comparison
# specs. Plain "bbox_min" is equivalent to "primary.bbox_min" - i.e. it is used on the primary
- # shape. Also see \DRC#bbox_min.
+ # shape. Also see \global#bbox_min.
# %DRC%
# @name bbox_width
# @brief Selects primary shapes based on their bounding box width
# @synopsis bbox_max (in condition)
#
- # See \Layer#drc, \bbox_height and \DRC#bbox_height for more details.
+ # See \Layer#drc, \bbox_height and \global#bbox_height for more details.
# %DRC%
# @name bbox_max
# @brief Selects primary shapes based on their bounding box height or width, whichever is larger
# @synopsis bbox_max (in condition)
#
- # See \Layer#drc, \bbox_max and \DRC#bbox_max for more details.
+ # See \Layer#drc, \bbox_max and \global#bbox_max for more details.
# %DRC%
# @name bbox_min
# @brief Selects primary shapes based on their bounding box height or width, whichever is smaller
# @synopsis bbox_max (in condition)
#
- # See \Layer#drc, \bbox_min and \DRC#bbox_min for more details.
+ # See \Layer#drc, \bbox_min and \global#bbox_min for more details.
# %DRC%
# @name bbox_aspect_ratio
# @brief Selects primary shapes based on the aspect ratio of their bounding boxes
# @synopsis bbox_aspect_ratio (in condition)
#
- # See \Layer#drc, \bbox_aspect_ratio and \DRC#bbox_aspect_ratio for more details.
+ # See \Layer#drc, \bbox_aspect_ratio and \global#bbox_aspect_ratio for more details.
# %DRC%
# @name relative_height
# @brief Selects primary shapes based on the ratio of height and width of their bounding boxes
# @synopsis relative_height (in condition)
#
- # See \Layer#drc, \relative_height and \DRC#relative_height for more details.
+ # See \Layer#drc, \relative_height and \global#relative_height for more details.
# %DRC%
# @name area_ratio
# @brief Selects primary shapes based on the ratio of bounding box and polygon area
# @synopsis area_ratio (in condition)
#
- # See \Layer#drc, \area_ratio and \DRC#area_ratio for more details.
+ # See \Layer#drc, \area_ratio and \global#area_ratio for more details.
%w(
bbox_height
@@ -669,7 +669,7 @@ CODE
# polygons in the layer.
#
# Without a layer argument, "area" represents an area filter for primary shapes in
- # \DRC# expressions (see \Layer#drc and \DRC#area for more details).
+ # \global# expressions (see \Layer#drc and \global#area for more details).
# %DRC%
# @name hulls
@@ -680,7 +680,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.hulls" (see \Layer#hulls). Without a layer
# argument, "hulls" represents a hull contour extractor for primary shapes in
- # \DRC# expressions (see \Layer#drc and \DRC#hulls for more details).
+ # \DRC# expressions (see \Layer#drc and \global#hulls for more details).
# %DRC%
# @name holes
@@ -704,7 +704,7 @@ CODE
# total perimeter of all polygons in the layer.
#
# Without a layer argument, "perimeter" represents a perimeter filter for primary shapes in
- # \DRC# expressions (see \Layer#drc and \DRC#perimeter for more details).
+ # \DRC# expressions (see \Layer#drc and \global#perimeter for more details).
# %DRC%
# @name rectangles
@@ -715,7 +715,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.rectangles" (see \Layer#rectangles). Without a layer
# argument, "rectangles" represents the rectangles filter for primary shapes in
- # \DRC# expressions (see \Layer#drc and \DRC#rectangles for more details).
+ # \DRC# expressions (see \Layer#drc and \global#rectangles for more details).
# %DRC%
# @name squares
@@ -726,7 +726,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.squares" (see \Layer#squares). Without a layer
# argument, "squares" represents the rectangles filter for primary shapes in
- # \DRC# expressions (see \Layer#drc and \DRC#squares for more details).
+ # \DRC# expressions (see \Layer#drc and \global#squares for more details).
# %DRC%
# @name rectilinear
@@ -737,7 +737,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.rectilinear" (see \Layer#rectilinear). Without a layer
# argument, "rectilinear" represents the rectilinear polygons filter for primary shapes in
- # \DRC# expressions (see \Layer#drc and \DRC#rectilinear for more details).
+ # \DRC# expressions (see \Layer#drc and \global#rectilinear for more details).
# %DRC%
# @name length (in condition)
@@ -748,7 +748,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.length" (see \Layer#length). Without a layer
# argument, "length" represents the edge length filter on the primary shape edges in
- # \DRC# expressions (see \Layer#drc and \DRC#length for more details). In this context,
+ # \DRC# expressions (see \Layer#drc and \global#length for more details). In this context,
# the operation acts similar to \Layer#with_length.
# %DRC%
@@ -757,7 +757,7 @@ CODE
# @synopsis angle (in condition)
#
# "angle" represents the edge orientation filter on the primary shape edges in
- # \DRC# expressions (see \Layer#drc and \DRC#angle for more details). In this context,
+ # \DRC# expressions (see \Layer#drc and \global#angle for more details). In this context,
# the operation acts similar to \Layer#with_angle.
%w(
@@ -788,7 +788,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.corners" (see \Layer#corners). Without a layer
# argument, "corners" represents the corner generator/filter in primary shapes for
- # \DRC# expressions (see \Layer#drc and \DRC#corners for more details).
+ # \DRC# expressions (see \Layer#drc and \global#corners for more details).
#
# Like the layer-based version, the "corners" operator accepts the
# output type option: "as_dots" for dot-like edges, "as_boxes" for
@@ -812,7 +812,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.extent_refs" (see \Layer#extent_refs). Without a layer
# argument, "extent_refs" represents the partial extents extractor on primary shapes within
- # \DRC# expressions (see \Layer#drc and \DRC#extent_refs for more details).
+ # \DRC# expressions (see \Layer#drc and \global#extent_refs for more details).
# %DRC%
# @name extents
@@ -823,7 +823,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.extents" (see \Layer#extents). Without a layer
# argument, "extents" represents the extents generator on primary shapes within
- # \DRC# expressions (see \Layer#drc and \DRC#extents for more details).
+ # \DRC# expressions (see \Layer#drc and \global#extents for more details).
# %DRC%
# @name middle
@@ -834,7 +834,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.middle" (see \Layer#middle). Without a layer
# argument, "middle" represents the bounding box center marker generator on primary shapes within
- # \DRC# expressions (see \Layer#drc and \DRC#middle for more details).
+ # \DRC# expressions (see \Layer#drc and \global#middle for more details).
# %DRC%
# @name rounded_corners
@@ -845,7 +845,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.rounded_corners" (see \Layer#rounded_corners). Without a layer
# argument, "rounded_corners" represents the corner rounding algorithm on primary shapes within
- # \DRC# expressions (see \Layer#drc and \DRC#rounded_corners for more details).
+ # \DRC# expressions (see \Layer#drc and \global#rounded_corners for more details).
# %DRC%
# @name sized
@@ -858,7 +858,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.sized" (see \Layer#sized). Without a layer
# argument, "sized" represents the polygon sizer on primary shapes within
- # \DRC# expressions (see \Layer#drc and \DRC#sized for more details).
+ # \DRC# expressions (see \Layer#drc and \global#sized for more details).
# %DRC%
# @name smoothed
@@ -869,7 +869,7 @@ CODE
# This function can be used with a layer argument. In this case it
# is equivalent to "layer.smoothed" (see \Layer#smoothed). Without a layer
# argument, "smoothed" represents the polygon smoother on primary shapes within
- # \DRC# expressions (see \Layer#drc and \DRC#smoothed for more details).
+ # \DRC# expressions (see \Layer#drc and \global#smoothed for more details).
%w(
extent_refs
@@ -896,7 +896,7 @@ CODE
# which entirely cover shapes from the other layer. This version can be put into
# a condition indicating how many shapes of the other layer need to be covered.
# Use this operator within \DRC# expressions (also see \Layer#drc). If can be used
- # as method to an expression. See there for more details: \DRC#covering.
+ # as method to an expression. See there for more details: \global#covering.
# %DRC%
# @name interacting
@@ -907,7 +907,7 @@ CODE
# which interact with shapes from the other layer. This version can be put into
# a condition indicating how many shapes of the other layer need to be covered.
# Use this operator within \DRC# expressions (also see \Layer#drc). If can be used
- # as method to an expression. See there for more details: \DRC#interacting.
+ # as method to an expression. See there for more details: \global#interacting.
# %DRC%
# @name overlapping
@@ -918,7 +918,7 @@ CODE
# which overlap shapes from the other layer. This version can be put into
# a condition indicating how many shapes of the other layer need to be covered.
# Use this operator within \DRC# expressions (also see \Layer#drc). If can be used
- # as method to an expression. See there for more details: \DRC#overlapping.
+ # as method to an expression. See there for more details: \global#overlapping.
# %DRC%
# @name inside
@@ -928,7 +928,7 @@ CODE
# This operator represents the selector of primary shapes
# which are inside shapes from the other layer.
# Use this operator within \DRC# expressions (also see \Layer#drc). If can be used
- # as method to an expression. See there for more details: \DRC#inside.
+ # as method to an expression. See there for more details: \global#inside.
# %DRC%
# @name outside
@@ -938,7 +938,7 @@ CODE
# This operator represents the selector of primary shapes
# which are outside shapes from the other layer.
# Use this operator within \DRC# expressions (also see \Layer#drc). If can be used
- # as method to an expression. See there for more details: \DRC#outside.
+ # as method to an expression. See there for more details: \global#outside.
%w(
covering
@@ -961,7 +961,7 @@ CODE
#
# "with_holes" represents a polygon selector for
# \DRC# expressions selecting polygons of the primary by their number of holes
- # (see \Layer#drc and \DRC#with_holes for more details).
+ # (see \Layer#drc and \global#with_holes for more details).
def with_holes
primary.with_holes
diff --git a/src/drc/drc/built-in-macros/_drc_layer.rb b/src/drc/drc/built-in-macros/_drc_layer.rb
index aef166151..af595de52 100644
--- a/src/drc/drc/built-in-macros/_drc_layer.rb
+++ b/src/drc/drc/built-in-macros/_drc_layer.rb
@@ -302,7 +302,7 @@ module DRC
# A high \count to hier_count (flat to hierarchical) ratio is an indication
# of a good hierarchical compression.
# "hier_count" applies only to original layers without clip regions or
- # cell filters and to layers in \deep mode. Otherwise, hier_count gives
+ # cell filters and to layers in \global#deep mode. Otherwise, hier_count gives
# the same value than \count.
def hier_count
@@ -1567,7 +1567,7 @@ CODE
# objects. RBA::Region, RBA::Edges and RBA::EdgePair objects are accepted as well and the corresponding
# content of that collections is inserted into the output layer.
#
- # Other versions are available that allow translation of objects into other types (\collect_to_polygons,
+ # Other versions are available that allow translation of objects into other types (\collect_to_region,
# \collect_to_edges and \collect_to_edge_pairs).
#
# Because this method executes inside the interpreter, it's inherently slow. Tiling does not
@@ -1645,7 +1645,7 @@ CODE
# Returns the parts of the polygons which are not orientable (i.e. "8" configuration) or self-overlapping.
# Merged semantics does not apply for this method. Always the raw polygons are taken (see \raw).
#
- # The odd_polygons check is not available in deep mode currently. See \deep_reject_odd_polygons for
+ # The odd_polygons check is not available in deep mode currently. See \global#deep_reject_odd_polygons for
# an alternative.
def odd_polygons
diff --git a/src/drc/drc/built-in-macros/_drc_netter.rb b/src/drc/drc/built-in-macros/_drc_netter.rb
index 6b81ceb41..d56466183 100644
--- a/src/drc/drc/built-in-macros/_drc_netter.rb
+++ b/src/drc/drc/built-in-macros/_drc_netter.rb
@@ -83,8 +83,8 @@ module DRC
# layers will form bigger, electrically connected areas.
#
# Texts will be used to assign net names to the nets. The preferred
- # method is to use \labels to create a text layer from a design
- # layer. When using \input, text labels are carried implicitly
+ # method is to use \global#labels to create a text layer from a design
+ # layer. When using \global#input, text labels are carried implicitly
# with the polygons but at the cost of small dummy shapes (2x2 DBU
# marker polygons) and limited functionality.
#