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

Blockages

 [BLOCKAGES numBlockages ;

      [- LAYER layerName
          [ + COMPONENT compName
          | + SLOTS
          | + FILLS
          | + PUSHDOWN
          | + EXCEPTPGNET ]
          [ + SPACING minSpacing
          | + DESIGNRULEWIDTH effectiveWidth ]
          {RECT pt pt | POLYGON pt pt pt ...} ...
      ;] ...
      [- PLACEMENT
          [ + COMPONENT compName
          | + PUSHDOWN
          | + SOFT
          | + PARTIAL maxDensity ]
          {RECT pt pt} ...
      ;] ...

 END BLOCKAGES]

The DEF BLOCKAGES are mapped to oaLayerBlockage or oaAreaBlockage. The blockage type is determined from the LAYER/SLOTS/FILLS/PLACEMENT attributes as shown in the following table.

DEF blockage type oacBlockageTypeEnum
PLACEMENT oacPlacementBlockageType
LAYER FILLS oacFillBlockageType
LAYER SLOTS oacSlotBlockageType
LAYER oacRoutingBlockageType

LAYER layerName

The DEF LAYER BLOCKAGE maps to an oaLayerBlockage on the specified layer. The layer must exist in the technology database.

COMPONENT compName

compName corresponds to the name of the instance (mapped into the DEF namespace) that is the owner of the blockage.

SLOTS

The SLOTS blockage type maps to oacSlotBlockageType as shown in the previous table.

FILLS

The FILLS blockage type maps to oacFillBlockageType as shown in the previous table.

PUSHDOWN

The BLOCKAGE PUSHDOWN attribute is stored in the oaBlockage pushDown flag. Use the following API to determine whether the PUSHDOWN attribute needs to be written (TRUE value returned) or not:

   oaBoolean oaBlockage::isPushedDown() const

EXCEPTPGNET

For dataModel 4, the EXCEPTPGNET attribute maps to the allowPGNet attribute of the blockage.

The EXCEPTPGNET parameter does not map to OpenAccess for earlier dataModels. A warning is issued if EXCEPTPGNET is found in this context in DEF.

SPACING minSpacing

This information is stored using an oacMinSpacing constraint in the constraint group for the blockage.

DESIGNRULEWIDTH effectiveWidth

The BLOCKAGE DESIGNRULEWIDTH attribute is stored in the oaBlockage effectiveWidth attribute.

RECT pt pt

This information corresponds to the lower left and upper right points of the bounding box of a blockage.

POLYGON pt pt pt ...

This information corresponds to the points of a blockage.

PLACEMENT

The DEF PLACEMENT BLOCKAGE maps to an oaAreaBlockage.

COMPONENT compName

compName corresponds to the name of the instance (mapped into the DEF namespace) that is the owner of the blockage.

PUSHDOWN

The BLOCKAGE PUSHDOWN attribute is stored in the oaBlockage pushDown flag. Use the following API to determine whether the PUSHDOWN attribute needs to be written (TRUE value returned) or not:

   oaBoolean oaBlockage::isPushedDown() const

SOFT

The SOFT and PARTIAL parameters map to the oaAreaBlockage object. The maxDensity value for PARTIAL blockages is a float. The SOFT type blockage has a density value that depends on the dataModel. The value defaults to 0% for OpenAccess dataModel 4 and defaults to 100% for dataModel 3.

PARTIAL maxDensity

The SOFT and PARTIAL parameters map to the oaAreaBlockage object. The SOFT type blockage has a density value of 100%. The maxDensity value for PARTIAL blockages is a float. The value defaults to 0% for OpenAccess dataModel 4 and defaults to 100% for dataModel 3.

RECT pt pt

This information corresponds to the lower left and upper right points of the bounding box of a blockage.