Sometimes we need to place a particular group of standard cells or modules in a particular area (box). PnR tools allow us to do that. If I talk particularly about Cadence Innovus APR tool, It has three types of regions called Guide, Fence and Region through which we can provide guidance to the placement tool. Let’s explore what actually these three placement constraints do and what are the differences.
Guide:
- The guide is assigned to certain cells in the design
- The guide allows to assigned cell sit outside the box
- It also allows the other cells to sit inside the box
- It is a soft constraint.
Innovus command:
createGuide obj_name box
Example:
createGuide adder9 100.000 200.000 110.000 210.000
This is will create a guide for the module adder9 to the box (100 200 110 210)
Fence:
- The fence is assigned with certain cells in the design.
- A fence does not allow the assigned cell to sit outside the box defined.
- A fence does not allow the other cells to sit inside the box also. So the area is exclusively reserved for the assigned cells.
- It is a hard constraint
Innovus command:
createFence obj_name box
Example:
createFence SH12 200 400 220 440
This is will create a fence for the module SH12 to the box (200 400 220 440)
Region:
- The region is assigned with certain cells in the design.
- A region does not allow the assigned cell to sit outside the box defined.
- It may cause congestion in the area assigned if not chosen the area wisely.
- The only difference between the region and the fence is that it allows the other cells to sit inside the box.
- It is a hard constraint
Innovus command:
createRegion obj_name box
Example:
createRegion SH7 200 400 220 440
This is will create a module guide in floorplan view with the status region for SH7 module to the box (200 400 220 440)
Delete module guide :
- The delete the Guide / Fence / Region for the module use unplaceGuide command.
Example:
unplaceGuide SH7
This will delete the module guide for the SH7 module
Thank you!
is the bounds(soft and hard) and fence,region are same? if it is different please specify whats the difference