Product Documentation
Virtuoso Technology Data SKILL Reference
Product Version IC23.1, June 2023

techSetPrNonDefaultRule

techSetPrNonDefaultRule(
d_techID 
t_constraintGroupName
l_layerConstsProps
l_viaDefNames
[ l_vias ]
) 
=> t / nil

Description

Creates or updates the named constraint group with the specified place and route constraints specified technology database. ASCII technology file location: techLayerProperties section.

Arguments

d_techID

The database identifier of the technology database.

t_constraintGroupName

The name of the constraint group to create or update.

Valid values: Any unique string

l_layerConstsProps

A list of lists containing the constraints and layer properties. The list has the following syntax:

list ( list( tx_layer g_width g_space
[
n_notch ] g_wireExt g_cap g_resistance
[
g_edgecap ] ) … )

where,

  • tx_layer is the routing layer, stored in the named constraint group as follows:
    interconnect( ( validLayers (layer) ) )
    Valid values: The layer name or the layer number

  • g_width is the width, in user units, of a horizontal or vertical route segment on the specified layer, stored in the named constraint group as follows:
    spacings( ( minWidth layer value) )
  • g_space is the space, in user units, between horizontal or vertical route segments on the specified layer, stored in the named constraint group as follows:
    spacings( ( minSpacing layer value) )
  • n_notch is the notch spacing, in user units, allowed for the layer, stored in the named constraint group as follows:
    spacings( ( minSameNetSpacing layer value) )
  • g_wireExt is the wire extension, in user units, for the layer, stored in the named constraint group as follows:
    spacings( ( minWireExtension layer value) )
  • g_cap is the capacitance for the layer, stored in techLayerProperties as areaCapacitance for the layer.
  • g_resistance is the resistance for the layer, stored in techLayerProperties as sheetResistance for the layer.
  • g_edgecap is the edge capacitance for the layer, stored in techLayerProperties as edgeCapacitance for the layer.

l_viaDefNames

A list of via definition names. The list has the following syntax:

list ( t_viaDefName … )

where, t_viaDefName is the via definition name, stored in the named constraint group as follows:

interconnect( validVias ( viaDefName ) )

l_vias

A list of lists of via data. The list has the following syntax:

[ list( list( tx_viaLayer1 tx_viaLayer2 n_minSpace g_stack ) … ) ]

where,

  • tx_viaLayer1 specifies the bottom routing layer for the via.
    Valid values: The layer name, the layer number
  • tx_viaLayer2 specifies the top routing layer for the via.
    Valid values: The layer name, the layer number
  • n_minSpace is the minimum spacing, in user units, allowed between via layers.
  • g_stack indicates whether you can stack the via layers.
    Valid values: t (can be stacked), nil (cannot be stacked).
    This via data is stored in the named constraint group as follows:
    spacings( ( minSameNetSpacing layer1 layer2 value ) ( stackable layer1 layer2 t | nil ) )

Value Returned

t

The constraint group was created or updated, along with the specified layer properties.

nil

The technology database does not exist.

Example

techSetPrNonDefaultRule(tfID "rule1" list(
list("metal1" 1.0 .3 .2 .1 20 .01 10)
)
list("M2_M1")
list(
list("metal1" "metal2" .5 t)
)
)
=> t

Creates or edits the constraint group rule1 in the technology database identified by tfID. The constraint group is as follows:

;( group     [override] )
;( ----- ---------- )
( "rule1"   nil
    interconnect(
( validLayers (metal1 ) )
( validVias (M2_M1_via ) )
) ;interconnect
    spacings(
( minWidth "metal1" 1 )
( minSpacing "metal1" 0.3 )
( minSameNetSpacing "metal1" 0.2 )
( minWireExtension "metal1" 0.1 )
( minSameNetSpacing "metal1" "metal2" 0.5 )
( stackable "metal1" "metal2" t )
) ;spacings
 ) ;rule1

Also adds the following to the techLayerProperties subsection of the layerDefinitions section of the technology database:

  ( areaCapacitanc          metal1          20.000000 )
( edgeCapacitance metal1 10.000000 )
( sheetResistance metal1 0.010000 )

Return to top
 ⠀
X