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

create_chamfer_fill

create_chamfer_fill 
[ -all | -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -set d_setObj ] 
[ -layer {s_layerName…} ] 
[ -chamfer_filter {s_filter…} ] 
[ -length_threshold f_threshold ] 
[ -chamfer_value1 {f_chamfer1 | { f_inner1 f_outer1}} ] 
[ -chamfer_value2 {f_chamfer2 | { f_inner2 f_outer2}} ] 
[ -extend_via_chamfer [ true | false ] ] 
[ -allow_violation [ true | false ] ] 
[ -output_purpose s_purposeName ] 
[ -material_removal_purpose s_purposeName ] 
[ -useEdgeLength [ true | false ] ]

Description

Creates chamfer fill on wires (pathSegs). The chamfer fill mechanism removes 90-degree corners by filling the corners of wires that form T-junctions, L-shaped wires, wire-to-via, wire-to-rectangle, and wire-to-polygon connections. T-junctions and L shapes created using only rectangles or polygons are not considered for chamfer fill.

An example of a chamfer fill shape on an L-shaped wire is shown in the following figure.

Chamfer Fill on an L-Shaped Wire

An example of chamfer fill for a wire that connects to a pin (rectangle) is shown in the following figure.

Chamfer Fill on a T-Junction Where a Wire Connects to a Pin

The following figure shows examples of chamfer fill shapes added at the intersections of wires and rectangles or polygons.

Chamfer Fill Where a Rectangle or Polygon Crosses a Wire

If the chamfer fill added by this command causes a minEdgeMaxCount violation, the chamfer fill edges are extended to fix the violation, as shown in the following figure.

Chamfer Fill Extended to Prevent a minEdgeMaxCount Violation

Arguments

-all  

Creates chamfer fill on all the wires of the design. This is the default.

-allow_violation [ true | false ]

When true, adds chamfer fill even if it causes design rule violations. By default, chamfer fill that causes violations will not be added.

-chamfer_filter {s_filter…}

Filters the wires on which chamfer fill is created based on specified criteria. For example:

  • To create chamfer fill only on wires with maximum voltage greater than 100V, specify {"voltage > 100.0"}
  • To create chamfer fill only on wires with width greater than or equal to 10 microns, specify {"width >= 10.0"}
  • To create chamfer fill only on wires with width greater than or equal to 8 microns, and voltage less than 45V, specify {"width > 8.0" "voltage < 45.0"}

-chamfer_value1 {f_chamfer1 | {f_inner1 f_outer1}}

Specifies the chamfer value to be applied if length1 or length2 is less than the length_threshold value. See Example 2—Chamfer fill situation where length_threshold is considered for an example.

  • If a single value is specified, it applies to both the inner and outer chamfers.
  • If two values are specified, the first value is the inner chamfer value and the second value is the outer chamfer value.

-chamfer_value2 {f_chamfer2 | {f_inner2 f_outer2}}

Specifies the chamfer value to be applied if length1 and length2 are greater than or equal to the length_threshold value. See Example 2—Chamfer fill situation where length_threshold is considered for an example.

  • If a single value is specified, it applies to both the inner and outer chamfers.
  • If two values are specified in a list, the first value is the inner chamfer value and the second value is the outer chamfer value.

-extend_via_chamfer [ true | false ]

When false, chamfer fill will not be added to wire-to-via junctions.

(Default) When true, adds chamfer fill on wire-to-via junctions.

-layer {s_layerName…}

Creates chamfer fill only on the layers specified in the list. By default, all the routing layers are included.

-length_threshold f_threshold

Specifies the threshold value that determines whether chamfer_value1 or chamfer_value2 is applied.

If length1 or length2 is less than the length_threshold value, chamfer_value1 is applied; else, chamfer_value2 is applied. See Example 2—Chamfer fill situation where length_threshold is considered for an example of how length1 and length2 are measured.

-material_removal_purpose s_purposeName

Adds a chamfer shape on the specified purpose to be processed during stream out or fracturing to remove the 90-degree corner of an L-shaped wire.

-output_purpose s_purposeName

Specifies the purpose for the added chamfer fill shapes. The default is gapFill.

-region {f_xlo f_ylo f_xhi f_yhi}

Creates chamfer fill only on the wires in the specified region. By default, the entire design is processed.

-set d_setObj  

Operates on route segments in the set.

-useEdgeLength [ true | false ]

Computes the length on the external edges of the wire. The default is false, in which case the centerline of the wire is used.

Examples

Example 1—Chamfer fill situation where length_threshold is not considered

create_chamfer_fill -all -length_threshold 0.0 -chamfer_value1 2.0 -chamfer_value2 2.0

Creates chamfer fill of 2 microns on all routing layers for all 90-degree corners at T-junctions, L-shaped wires, and wire-to-via connections. When applied to the example in the following figure, chamfer fill of 2 microns is created on both sides of the T-junction.

Chamfer Fill Situation Where length_threshold Is Not Considered

Example 2—Chamfer fill situation where length_threshold is considered

create_chamfer_fill -all -layer M2 -length_threshold 5.0 -chamfer_value1 1.5 -chamfer_value2 2.0

Creates chamfer fill on the M2 layer according to the following conditions:

The following figure illustrates this with a T-junction. The left corner has segments of 3.0 and 8.0 microns in length, so its chamfer fill is 1.5 microns. Both segments (5.50 and 8.0 microns) for the right corner are greater than or equal to the length_threshold of 5.0 microns, so its chamfer is 2 microns.

Chamfer Fill Situation Where length_threshold Is Considered

Example 3—Using material_removal_purpose to chamfer the external corner of an L-shaped wire

create_chamfer_fill -all -layer M2 -material_removal_purpose "noDrawing"

Removes the 90-degree corners by adding chamfer fill on the M2 layer at T-junctions, L-shaped wires, and wire-to-via connections. In addition, chamfer fill on the noDrawing purpose is added to overlap the 90-degree corners of L-shaped wires as shown in the following figure.

Using material_removal_purpose to Chamfer the External Corner of an L-Shaped Wire

Related Topics

Route Commands

create_wire_chamfer


Return to top
 ⠀
X