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

create_wire_chamfer

create_wire_chamfer 
[ -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_inout1 f_endOfStripe1}} ] 
[ -chamfer_value2 {f_chamfer2 | { f_inout2 f_endOfStripe2}} ] 
[ -allow_violation [ true | false ] ] 
[ -inner_chamfer [ true | false ] ] 
[ -chamfer_end_of_stripe [ true | false ] ] 

Description

Creates chamfer on wires (pathSegs). The wire chamfer mechanism replaces 90-degree wires with 45-degree wires. An example of a wire chamfer is shown in the following figure.

Wire Chamfer on a 90-degree Wire Turn

Arguments

-all  

Creates wire chamfers on all the wires of the design. This is the default.

-allow_violation [ true | false ]

When true, creates wire chamfers even when they cause design rule violations. By default, chamfers that cause violations will not be created.

-chamfer_end_of_stripe [ true | false ]

When true, creates wire chamfers on the ends of wires to align with chamfered via arrays. By default and when false, ends of wires are not chamfered.

-chamfer_filter {s_filter…}

Filters the wires on which chamfers are created based on specified criteria. For example:

  • To create chamfers only on wires with maximum voltage greater than 100V, specify {"voltage > 100.0"}
  • To create chamfers only on wires with width greater than or equal to 10 microns, specify {"width >= 10.0"}
  • To create chamfers 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_inout1 f_endOfStripe1}}

Specifies the chamfer value to be applied if length1 or length2 is less than the length_threshold value.

  • If a single value is specified, it is the inner, outer, and end-of-stripe chamfer.
  • If two values are specified, the first value is the inner and outer chamfer, and the second value is the end-of-stripe value.

-chamfer_value2 {f_chamfer2 | {f_inout2 f_endOfStripe2}}

Specifies the chamfer value to be applied if length1 and length2 are greater than or equal to the length_threshold value.

  • If a single value is specified, it is the inner, outer, and end-of-stripe chamfer.
  • If two values are specified, the first value is the inner and outer chamfer, and the second value is the end-of-stripe value.

-inner_chamfer [ true | false ]

If set to false, chamfer_value1 or chamfer_value2 applies to the outer corner of the wire. The default value of true applies chamfer_value1 or chamfer_value2 to the inner corner of the wire.

-layer {s_layerName…}

Creates wire chamfer 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 is used to determine if chamfer_value1 or chamfer_value2 is applied.

If length1 or length2 is less than the length_threshold value, chamfer_value1 is applied; otherwise chamfer_value2 is applied. The Wire Chamfer on a 90-degree Wire Turn figure shows how length1 and length2 are measured.

-region {f_xlo f_ylo f_xhi f_yhi}

Creates chamfer 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.

Examples

Example 1—Inner wire chamfer

create_wire_chamfer -all -layer M2 -length_threshold 5.0 -chamfer_value1 1.5 -chamfer_value2 2.0 -inner_chamfer true

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

In the following figure, a wire chamfer of 2 microns is created on the inner side of the wire, because the lengths of both segments (5.5 and 8 microns) are greater than length_threshold (5 microns).

Inner Wire Chamfer Situation Where length1 and length2 Are Greater Than length_threshold

Example 2—Outer wire chamfer

create_chamfer_wire -all -layer M2 -length_threshold 6.0 -chamfer_value1 2.0 -chamfer_value2 3.0 -inner_chamfer false

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

The following command using dual values for -chamfer_value1 and -chamfer_value2 has the same result:

create_chamfer_wire -all -layer M2 -length_threshold 6.0 -chamfer_value1 {2.0 0} -chamfer_value2 {3.0 0} -inner_chamfer false

In the following figure, a wire chamfer of 2 microns is created on the outer side of the wire, because the length of one segment (5.5 microns) is less than length_threshold (6 microns).

Outer Wire Chamfer Situation Where length1 Is Less Than length_threshold

Example 3—Chamfering end of stripe wires

create_chamfer_wire -all -layer M2 -length_threshold 6.0 -chamfer_value1 {2.5 2.0} -chamfer_value2 {3.5 3.0} -chamfer_end_of_stripe true

Chamfers the ends of stripes by 2.0 if the length of the wire is less than 6.0, or by 3.0 if the length of the wire is greater than or equal to 6.0.

The following figure illustrates the effect of specifying the chamfer_end_of_stripe argument, which chamfers power routing stripes to align with chamfered via arrays.

Chamfering End of Stripe Wires Using chamfer_end_of_stripe

Related Topics

Route Commands

create_chamfer_fill


Return to top
 ⠀
X