Setting Spacing in Your Design
This topic covers how to set spacing for prBoundary and subcells.
Setting the prBoundary Spacing
If your design does not have existing routing outside of the prBoundary, you can use the environment variable, db.make_prboundary_blockage, to prevent the router from routing outside the prBoundary. You must set the variable prior to loading your design.
setvar db.make_prboundary_blockage true
When db.make_prboundary_blockage is set true when you load a design, blockage shapes for each routing layer are derived to represent the prBoundary and each of the blockage shapes is assigned a constraint group with the minBoundaryInteriorHalo constraint. This constraint specifies the minimum distance a shape on a specified layer must be from the enclosing prBoundary. The blockage shapes are used by the router and other functions, such as checking. If the minBoundaryInteriorHalo constraint is not already set, it defaults to one-half the minimum spacing (minSpacing) value. To change the minimum distance required between shapes and the enclosing prBoundary, use the set_layer_constraint command and specify the constraint group that is assigned to the prBoundary blockage shape. For example:
set_layer_constraint -layer Metal2 -constraint minBoundaryInteriorHalo -Value .3 -group myMetal2_minBoundaryInteriorHalo
Setting Spacing for Subcells
When data is loaded for a lower level of the hierarchy, blockage representing the subcell at that level is created at the higher levels. By default, spacing is assigned to the blockage according to the setting described in Handling Blockages. If there are routes in the subcell that require special spacing, such as two times the minimum spacing, that spacing can be assigned to the blockage at the higher levels by setting the db.load_as_detailed_abstract environment variable.
setvar db.load_as_detailed_abstract i_level
where i_level is the hierarchy level for the lower level shapes. minSpacing for the route spec attached to lower level routes or nets will be used for the corresponding blockage.
Related Topics
Preparing the Routing Environment
Return to top