( ESNUG 350 Item 4 ) --------------------------------------------- [4/27/00]
From: [ A Synopsys PhysOpt CAE ]
Subject: Arranging Intentional PDEF/TCL Placement Obstructions in PhysOpt
Hi, John,
Here's another tip that would be useful to us if you published it in ESNUG.
There are two basic ways one can place intentional obstructions in the
PhysOpt design flow to block the tool for placing within specific zones or
blocks inside of your design:
1) Input through Floorplan PDEF
2) Created with the create_obstruction command.
Here is an example of a placement blockage in PDEF for PhysOpt. Note the
coordinates for this obstruction are in 0.01 micron units.
( CLUSTER PLACEBLOCKAGE_1
( OBSTRUCTION 221 )
( RECT 80320.0 1896600.0 128020.0 1898600.0 )
( X_BOUNDS 80320.0 128020.0 )
( Y_BOUNDS 1896600.0 1898600.0 )
)
To check the units for your PDEF, look for the following line near the top
of the PDEF file to verify the units:
( DISTANCE_UNIT 0.01 )
When you read the PDEF into PhysOpt, you will see the following warnings:
Warning: Line 2371, This obstruction becomes placement obstruction.
Obstruction size will be ignored for placment obstruction, use CLUSTER
RECT and CLUSTER X_BOUNDS/Y_BOUNDS attribute to represent the
obstruction size. (PDEFP-33)
This warning refers to the RECT statement in the PDEF example above. The
X_bounds and Y_bounds parameters actually specify the placement blockage.
To do the same thing via a TCL script, the command syntax is the same as
a wiring obstruction except for the layer number (99). See syntax below:
create_obstruction -name obstr_1 -layer 99 -coordinate {X1 Y1 X2 Y2}
where:
name: is a unique name for the obstruction
layer: needs to be a non-routing layer to be treated as a placement
obstruction.
coordinate: The coordinates for the bounding box of the obstruction.
X1: lower left x-coordinate
Y1: lower left y-coordinate
X2: upper right x-coordinate
Y2: upper right y-coordinate
NOTE: PhysOpt reports coordinates in 0.01 microns but you must input
coordinates in full microns.
To verify the layer numbers for routing so you can pick a non_routing layer,
check the PDEF. You should see something like the following in your PDEF:
( LAYER_DEF
( LAYER MET1 10 )
( LAYER MET2 12 )
( LAYER MET3 14 )
( LAYER MET4 16 )
( LAYER MET5 18 )
)
So, with the case above, we refer to layer 99 which is not a routing layer,
therefore, it becomes a placement blockage.
- [ A Synopsys PhysOpt CAE ]
|
|