Product Documentation
Virtuoso Space-based Router Command Reference
Product Version IC23.1, September 2023

fill_notch

fill_notch 
[ -all | -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -lpp {s_layerlpp } ] 
[ -output_lpp {s_layerlpp…} ] 
[ -width f_userunit ] 
[ -trench_depth f_maxTrenchDepth ] 
[ -trench_width f_maxTrenchWidth ] 
[ -use_notch_spacing_rule [ true | false ] ] 
[ -fill_notch_set d_setObj ] 
[ -set d_setObj ] 
[ -annotate [ all | none | filled | unfilled ] 
[ -annotation_limit i_count ] 
[ -clear_annotations [ all | none | filled | unfilled ] 
[ -check_mode { hard | soft } ] 
[ -exclude_net {s_netName…} ] 
[ -exclude_type {[power] [ground] [clock]} ] 
[ -fill_type { all | {[notch] [corner] [gap] [trench]}} ] 
[ -ignore_active_route_status [ true | false ] ] 
[ -prop_name s_propertyName -prop_value s_propertyValue ] 
[ -trim_corners [ true | false ] ] 
[ -top_level_only [ true | false ] ] 
[ -use_fill_purpose [ true | false ] ] 

Description

Adds metal fill to notches, holes, gaps, and trenches that are smaller than a minimum required size, or to corners that do not meet the oaMinEdgeAdjacentLength or minEdgeMaxCount rules. By default, the shapes are added to the gapFill purpose for the metal layer.

Arguments

-all

Searches the entire design for notches to fill.

-annotate [ all | none | filled | unfilled ]

Specifies the annotations to create with this command. By default, annotations are not created.

all

Creates annotations for notches, trenches, gaps, holes, and corners that are filled or left unfilled by this command. This is the default when the -annotate argument is given.

none

Prevents the creation of any annotation by this command.

filled

Creates annotations for notches, trenches, gaps, holes, and corners that are filled by this command.

unfilled

Creates annotations for notches, trenches, gaps, holes, and corners that are left unfilled by this command.

-annotation_limit i_count

Limits the total number of annotations that can be created by this command. A value of -1 specifies no limit. Default is 1000.

-check_mode { soft | hard }

Controls the lookup of constraints or rules used for checking.

hard

Checks using hard constraints only.

soft

Checks soft (preferred) rules first, then will check against the hard rule if the soft rule is not found. This is the default.

-clear_annotations [ all | none | filled | unfilled ]

Specifies the fill notch annotations to remove before running this command.

all

Removes all annotations previously created by this command. This is the default when the -clear_annotations argument is given.

none

Prevents annotations from being removed.

filled

Removes annotations for notches, trenches, gaps, holes, and corners that were previously filled by this command.

unfilled

Removes annotations for notches, trenches, gaps, holes, and corners that were previously left unfilled by this command.

-exclude_net {s_netName…}

Specifies the names of nets to exclude from processing. By default, all nets are considered.

-exclude_type { [power] [ground] [clock] }

Specifies the net types to exclude from processing. By default, all net types are considered.

-fill_notch_set d_setObj

Adds the new fill shapes to the given set. You can use this to add annotations to a highlight set. For example, this argument,

-fill_notch_set [get_highlight -name HL1]

adds the new fill shapes to the HL1 highlight set.

-fill_type { all | {[notch] [corner] [gap] [trench] } }

Specifies the type of space to fill or all types.

Currently, gaps, notches and holes are filled when you choose gap.

-ignore_active_route_status [ true | false ]

  

When set to true, notches and gaps belonging to fixed routes are also filled.

Default: (false) Notches and gaps on fixed routes are not filled.

-lpp {s_layerlpp }

Specifies the layers and/or layer purposes to check. By default, all routing layers are checked.

-output_lpp {s_layerlpp }

Creates fill shapes on a specific layer or purpose. By default, fill shapes are created on the gapFill purpose of the input layer.

-prop_name s_propertyName

  

Attaches the given property to the added fill shapes. Must be specified with -prop_value. The property can be viewed using the Properties Browser or queried using inspect_getprop or inspect_prop.

-prop_value s_propertyValue

  

Assigns the value to the property given by -prop_name. The property can be viewed using the Properties Browser or queried using inspect_getprop or inspect_prop.

-region {f_xlo f_ylo f_xhi f_yhi}

Specifies the boundary of the area to process, given the lower left and upper right coordinates. If not specified, the entire design is processed.

-set d_setObj

Adds fill shapes to the specified set.

-top_level_only [ true | false ]

Specifies that only top-level shapes be checked against all levels. Default is false.

-trench_depth f_maxTrenchDepth

Specifies the maximum depth of a trench to be filled. If this argument is not given, trench filling will not occur.

-trench_width f_maxTrenchWidth

Specifies the maximum width of a trench to be filled. If this argument is not given, trench filling will not occur.

-trim_corners [ true | false ]

Trims corners when diagonals are present.

-use_fill_purpose [ true | false ]

Specifies that shapes be added to the fill purpose, instead of the gapFill purpose. Default is false.

-use_notch_spacing_rule [ true | false ]

Uses the oaMinNotchSpacing constraint to determine whether a notch needs to be filled. By default and when false, notches are filled if they violate the minimum spacing rule.

-width f_userunit

Specifies the minimum width spacing. Fills notches, holes and gaps that are smaller than this width. By default, the minimum same net spacing from the technology file is used.

Value Returned

i_count

Is the total number of added shapes.

Examples

The following example finds all Metal2 notches and holes that are smaller than 0.35 um wide and fills them with shapes on Metal2:gapFill.

fill_notch -all -lpp Metal2 -width .35 -fill_type notch

The following example fills corners by first setting the minimum edge lengths for adjacent edges, then issuing the fill_notch command to fill corners that do not meet the requirements within a region on Metal2.

set_constraint_parameter -name adjacentLength -Value 0.26
set_layer_constraint -layer Metal2 -constraint oaMinEdgeAdjacentLength -Value 0.2
fill_notch -lpp Metal2 -fill_type corner -region [get_window_area]

Related Topics

Create Commands

check_minarea


Return to top
 ⠀
X