Product Documentation
Virtuoso Space-based Router Constraint Reference
Product Version IC23.1, June 2023

set_constraint

set_constraint 
-constraint s_constraintName 
[-group s_groupName | -net s_netName] 
[-db {tech | design}] 
[-create [true|false]] 
|-hardness {hard | soft}] 
[-model {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4}] 
[-transient [true|false]] 
[-verbose [true | false]] 
{ {-BoolValue s_boolean} 
| {-Value f_userunit} 
| {-AreaValue f_userunit} 
| {-CellPathListValue {s_cellview …}} 
| {-DualValue {f_userunit f_userunit}} 
| {-DualValueTbl {{f_userunit f_userunit} …}} 
| {-IntValue i_value} 
| {-FltValue f_value} 
| {-DblValue f_double} 
| {-LayerValue s_layerName} 
| {[-ViaDefTechLib s_viaTechLib] -ViaDefValue s_viaName} 
| {-StringValue s_value} 
| {-StringAsIntValue s_value} 
| {-LayerArrayValue {s_layerName}} 
| {-RangeValue s_range} 
| {-RangeArrayValue {s_range …}} 
| {-RangeArray1DTblValue {{ f_width i_count {s_range …}}…}} 
| {-ValueArrayValue {f_userunit …}} 
| {-ViaDefArrayValue {s_viaName} 
| {{-Int1DTblValue {{f_userunit i_value} …}} 
  | {-OneDTblValue {{f_userunit f_userunit} …} [-OneDTblValueB {{f_userunit f_userunit} …} ]} 
  | {-OneDDualValueTbl {{f_userunit f_userunit f_userunit} …}}   | {-OneDDualArrayTblValue {{f_width i_pairCount {{f_ext f_oppExt}…}}…}} 
  | {-Dbl1DTblValue {{f_userunit f_value} …}} 
  | {-FltHeader1DTblValue {{f_value f_userunit}}} 
  | {-Flt1DTblValue {{f_userunit f_value}…}} 
  | {-LngDbl1DTblValue {{f_userunit f_value} …}} 
  [-row_name s_name] 
  [-row_interpolation {snap_down | snap_down_inclusive | snap_up 
  | snap_up_inclusive | linear}] 
  [-row_extrapolation {{snap_down | snap_up | linear} {snap_down | snap_up 
  | linear}}]} 
| {-TblCols {f_userunit} 
  { -Int2DTblValue {{f_userunit {i_value …}} …} 
  | -TwoDTblValue {{f_userunit {f_userunit …}} …} 
  | -Dbl2DTblValue {{f_userunit {f_value …}} …}} 
    [-row_name s_name] 
    [-row_interpolation {snap_down | snap_down_inclusive | snap_up 
    | snap_up_inclusive | linear}] 
    [-row_extrapolation {{snap_down | snap_up | linear} 
                         {snap_down | snap_up | linear}}] 
    [-col_name s_name] 
    [-col_interpolation {snap_down | snap_down_inclusive | snap_up 
    | snap_up_inclusive | linear}] 
    [-col_extrapolation {{snap_down | snap_up | linear} 
                         {snap_down | snap_up | linear}}]} 

Description

Sets a simple constraint value and/or adds a simple constraint to a constraint group.

You must set parameters (set_constraint_parameter) for the constraint prior to issuing this command in order for the parameter(s) to be applied properly.

Arguments

-AreaValue f_userunit

Sets the constraint to the value in user units to represent a squared dimension for area values.

-BoolValue s_boolean

Sets the constraint to this boolean value.

-CellPathListValue {s_cellView …}

  

Sets the constraint to one or more lib/diodecell/view strings.

-col_extrapolation {{snap_down | snap_up | linear} {snap_down | snap_up | linear}}

Indicates how the value is extrapolated for the 2-D table column. The first entry applies to keys below the range of the table, and second entry applies to keys above the range of the table.

snap_down

Returns the constraint value for the highest column value if the key is greater than the highest column value.

snap_up

Returns the constraint value for the lowest column value if the key is less than the lowest column value.

linear

-col_interpolation {snap_down | snap_down_inclusive | snap_up | snap_up_inclusive | linear}

Indicates how the value is interpolated for the 2-D table column when the column key value does not match a column value but is within the range of the column values.

snap_down

Returns the constraint value for the next lower column value.

snap_down_inclusive

Returns the constraint value for the next lower header value, including when the key matches the higher header value.

snap_up

Returns the constraint value for the next higher row value.

snap_up_inclusive

Returns the constraint value for the next higher header value, including when the key matches the lower header value.

linear

Returns a constraint value that is between the values for the next lower and the next higher values, in proportion to where the key is in that range.

-col_name s_name

Specifies the name for the 2-D table column. Defaults to length.

-constraint s_constraintName

Specifies the name of the constraint. If you include this argument without a constraint name, the list of valid simple constraint names is output.

-create [true|false]

When true, will create a new constraint even if one already exists. This is used for constraints in an AND or OR type constraint group. When false (default), if a constraint already exists, its value is overwritten, otherwise the new constraint is created.

-db {tech|design}

Specifies the name of the database in which to find the group, if specified.

Default: First design database and then technology database is searched.

-Dbl1DTblValue {{f_userunit f_value} …}

Sets the constraint to the 1-D table of paired values. Each pair includes a row value (typically representing width) and a double precision constraint value.

-Dbl2DTblValue {{f_userunit {f_value …}} …}

Sets the constraint to the 2-D table of ordered sets. Each set includes a row value (typically representing width) and one double precision constraint value for each column value given by the -TblCols argument.

-DblValue f_value

Sets the constraint to the double precision value.

-DualValue {f_userunit f_userunit}

Sets the constraint to dual dimensions in user units.

-DualValueTbl {{f_userunit f_userunit}…}

Sets the constraint to the given table of dual dimensions in user units. The table must include an even number of dimensions. For example, {1.0 1.5 2.0 2.5} represents two dual dimensions.

-Flt1DTblValue {{f_userunit f_userunit} …}

Sets the constraint to the 1-D table of paired values. Each pair includes a user unit header value (typically representing width) and a constraint float value.

-FltHeader1DTblValue {{f_value f_userunit}}

Sets the constraint to the 1-D table with float value headers and values in user units (user units).

-FltValue f_value

Sets the constraint to the float value.

-group s_groupName

Specifies the name of the constraint group, or rule spec. Defaults to the foundry rule spec for OA constraints, and the design rule spec for all other constraints.

-hardness {hard|soft}

Indicates the level of hardness or strictness for the constraint:

hard

Ground rule or hard setting. Constraint must be met. This is the default and is equivalent to -hard.

soft

Recommended or better setting. This is equivalent to -hard false.

-Int1DTblValue {{f_userunit i_value} …}

Sets the constraint to the 1-D table of paired values. Each pair includes a row value (typically representing width) and an integer constraint value.

-Int2DTblValue {{f_userunit {i_value …}} …}

Sets the constraint to the 2-D table of ordered sets. Each set includes a row value (typically representing width) and one integer constraint value for each column value given by the -TblCols argument.

-IntValue i_value

Sets the constraint to the integer value.

-LayerArrayValue {s_layerName}

Sets the constraint to the list of layer names.

-LayerValue s_layerName

Sets the constraint to the layer name.

-LngDbl1DTblValue {{f_userunit f_value} …}

Sets the constraint to the 1-D table of paired values. Each pair includes an area value header and a double precision constraint value.

-model {OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4}

Specifies the antenna model to associate the constraint value with.

-net s_netName

Adds the constraint to the constraint group of the named net. If the net does not already have a constraint group, one is created.

-OneDDualArrayTblValue {{f_width i_pairCount {{f_ext f_oppExt} …}}…}

Sets the constraint to the 1-D table of dual dimension arrays. Each set includes a row value, representing width, a count of dual dimension pairs in the array, and the dual dimension array constraint value. The table must be enclosed in braces and cannot include braces. The following example is acceptable,

{1 2 1.0 1.2 1.5 1.7 2 1 1.3 1.6}

whereas the next example is not acceptable:

{1 2 1.0 {1.2 1.5 1.7 2} 1 1.3 1.6}

-OneDDualValueTbl {{f_userunit f_userunit f_userunit} …}

Sets the constraint to the 1-D table of dual dimensions. Each pair includes a row value (typically representing width) and a constraint value as a dual dimension in user units. The number of entries enclosed in braces must be a multiple of 3.

-OneDTblValue {{f_userunit f_userunit} …}

Sets the constraint to the 1-D table of paired values. Each pair includes a row value (typically representing width) and a constraint value in user units.

-OneDTblValueB {{f_userunit f_userunit} …}

Sets the constraint to the second 1-D table of paired values for a dual table set. Each pair includes a row value (typically representing width) and a constraint value in user units.

-RangeArray1DTblValue {{f_width i_count {s_range …}}…}

  

Sets the constraint to the table of ranges, indexed by width using the format given in Range Values.

-RangeArrayValue {s_range}

Sets the constraint to a list of ranges using the format given in Range Values.

-RangeValue s_range

Sets the constraint to a range using the format given in Range Values.

-row_extrapolation {{snap_down | snap_up | linear} {snap_down | snap_up | linear}}

Indicates how the value is extrapolated for the 1-D or 2-D table row. The first entry applies to keys below the range of the table, and second entry applies to keys above the range of the table.

snap_down

Returns the constraint value for the highest row value if the key is greater than the highest row value.

snap_up

Returns the constraint value for the lowest row value if the key is less than the lowest row value.

linear

-row_interpolation {snap_down | snap_down_inclusive | snap_up | snap_up_inclusive | linear}

Indicates how the value is interpolated for the 1-D or 2-D table row.

snap_down

Returns the constraint value for the next lower row value.

snap_down_inclusive

Returns the constraint value for the next lower header value, including when the key matches the higher header value.

snap_up

Returns the constraint value for the next higher row value.

snap_up_inclusive

Returns the constraint value for the next higher header value, including when the key matches the lower header value.

linear

Returns a constraint value that is between the values for the next lower and the next higher row values, in proportion to where the key is in that range.

-row_name s_name

Specifies the name for the 1-D or 2-D table row. Defaults to width.

-StringAsIntValue s_value

Sets the constraint to an integer value that is mapped to the given string.

-StringValue s_string

Sets the constraint to the string value.

-TblCols {i_length}

Specifies a list of column values for the 2-D table.

-transient [true|false]

  

When true, the constraint exists in memory only and will not be saved. When false (default), the constraint will be saved.

-TwoDTblValue {{f_userunit {f_userunit …}}…}

Sets the constraint to the 2-D table of ordered sets. Each set includes a row value (typically representing width) and one constraint value in user units for each column value given by the -TblCols argument.

-Value f_userunit

Sets the constraint to the value in user units.

-ValueArrayValue {f_userunit…}

Sets the constraint to the list of values in user units (user units).

-verbose [true|false]

Outputs the old and the new settings for the constraint to the Transcript area. By default, the setting messages are not output.

-ViaDefArrayValue {s_viaName}

Sets the constraint to the list of via definition names.

-viaDefTechLib s_viaTechLib

Specifies the technology library for the related ViaDefValue.

-ViaDefValue s_viaName

Sets the constraint to the given via definition.

Examples

Returns the list of valid simple constraint names, provided a design is already loaded.

set_constraint -constraint foo

Specifies the list of layers that can be used when routing.

set_constraint -constraint validRoutingVias -hard \
-ViaDefArrayValue {via1 via2 via2ts via3 via3ts via4 via4ts via5 via5ts \
via6 via3e via4e via5e}

Related Topics

get_constraint

set_constraint_parameter


Return to top
 ⠀
X