oaheader.gif
topics.gif classes.gif classes.gif exceptions.gif progguide.gif infomodel.gif index.gif help.gif
 
 
 

Nondefault Rule

 [NONDEFAULTRULE ruleName

     [HARDSPACING ;]
     { LAYER layerName
          WIDTH width ;
         [DIAGWIDTH diagWidth ;]
         [SPACING minSpacing ;]
         [WIREEXTENSION value ;]
     END layerName   } ...
     [VIA viaStatement] ...
     [USEVIA viaName ;] ...
     [USEVIARULE viaRuleName ;] ...
     [MINCUTS cutLayerName numCuts ;] ...
     [PROPERTY propName propValue ;] ...

 END ruleName]

The LEF NONDEFAULTRULE maps to an oaConstraintGroup with the specified ruleName. A LEF rule named DEFAULT maps to the LEFDefaultRouteSpec in the design database.

The lef2oa translator checks whether a LEFDefaultRouteSpec constraint group already exists in the graph of techs. If a LEFDefaultRouteSpec constraint group exists, the translator generates a constraint group of the constraintGroupDef type LEFDefaultRouteSpec with a name in the format of LEFDefaultRouteSpec_<libName>. Early versions of the translator may issue an error when attempting to create a technology database with a LEFDefaultRouteSpec constraint group that referenced another technology database with its own LEFDefaultRouteSpec constraint group.

HARDSPACING ;

If specified, the spacing constraints in the following layer sections are labeled as hard.

LAYER layerName
  WIDTH width ;
[DIAGWIDTH diagWidth ;]
[SPACING minSpacing ;]
[WIREEXTENSION value ;]
 END layerName

The NONDEFAULTRULE LAYER statement maps to OpenAccess by appending the oaPhysicalLayer with the given layerName to the oaLayerArrayValue for the oacValidRoutingLayers constraint in the oaConstraintGroup for this non- default rule. The layer must already exist in the technology database, and must be a routing layer.

WIDTH width ;

The NONDEFAULTRULE LAYER WIDTH maps to OpenAccess using an oaIntValue for the oacMinWidth constraint in the constraint group for this non-default rule.

DIAGWIDTH diagWidth ;

The NONDEFAULTRULE LAYER DIAGWIDTH maps to OpenAccess using an oaIntValue for the oacMinDiagonalWidth constraint in the constraint group for this non-default rule.

SPACING minSpacing ;

The NONDEFAULTRULE LAYER SPACING maps to OpenAccess using an oaIntValue for the oacMinSpacing constraint in the constraint group for this non-default rule. Note that this is a hard constraint if HARDSPACING is specified.

WIREEXTENSION value ;

The NONDEFAULTRULE LAYER WIREEXTENSION maps to OpenAccess using an oaIntValue for the oacMinWireExtension constraint in the constraint group for this non-default rule.

MINCUTS cutLayerName numCuts ;

The NONDEFAULTRULE MINCUTS is stored in OpenAccess using an oaInt1DTblValue for the oacMinNumCut constraint in the constraint group for this non-default rule. The header for the table is the layer width for the metal layer above the given cut layer.

PROPERTY propName propValue ;

See PROPERTIES

USEVIA viaName ;

The NONDEFAULTRULE USEVIA statement maps to OpenAccess by appending the oaCustomViaDef or oaViaVariant with the given viaName to the oaViaTopologyArrayValue for the oacValidRoutingVias constraint in the oaConstraintGroup for this non-default rule. The oaCustomViaDef or oaViaVariant must already exist in the technology database.

USEVIARULE viaRuleName ;

The NONDEFAULTRULE USEVIARULE statement maps to OpenAccess by using the given viaRuleName to append the oaStdViaDef or oaViaVariant to the oaViaTopologyArrayValue for the oacValidRoutingVias constraint in the oaConstraintGroup for this non-default rule. The oaStdViaDef or oaViaVariant must already exist in the technology database.

The USEVIARULE statements are stored in OpenAccess as an oaStdViaDef or as an oaViaVariant for dataModel 4 and above.

VIA viaStatement

The NONDEFAULTRULE VIA statement maps to OpenAccess as an oaViaTopology that is appended to the oaViaTopologyArrayValue for the oacValidRoutingVias constraint in the oaConstraintGroup for this non-default rule.

For the mapping of the viaStatement, refer to the generic LEF VIA statement.