20/08/2025

What are the different types of placement bounds/blockages?

o  Placement blockage of type "Hard" means that placeDesign will not place any cells in this area. Use this blockage type to totally restrict standard cells from being placed here.

o   A placement blockage of type "Soft" means that placeDesign will not place any cells in this region. However, placement legalization, timing optimization, and clock tree synthesis (CTS) can place buffers/inverters in this area. This blockage type is often used to block channels between macros. It prevents the placer from placing standard cells in this area, thus avoiding congestion problems. However, optimization is allowed to insert buffers/inverters in these channels, which is useful when buffering long nets and can improve timing and routability.

o     Global placer - soft-blockage is seen by global place as hard-blockage - but incremental placer does not move any existing instance from soft blockage area, just no instances can be moved into that area.

o    Detail placer -  only allow buffers, invertors, and clk-gate inside soft blockage. Any other complex cell instance will see a soft-blockage as hard blockage. Exception are instances within regions covered by soft-blockage also ignore the soft-blockage.

o   A placement blockage of type "Partial" (also referred to as density screens) means that only a certain percentage of the specified area is available for global placement. This partial area available to  global placement is specified when defining the Partial blockage. So, a Partial blockage of 30% , i.e. 70% of the specified area can be used for global placement, can be defined using the following syntax:

o   createPlaceBlockage -type partial -density 70 -box {776.711 756.060 1162.058 558.509}

o   The 30% blockage is of type "Soft"; that is, timing optimization and CTS can use this area.

 

o   Placement Bounds: (Regions/Guides/Fences): These define areas where specific groups of cells should be placed.

o    Soft Guide: same as Guide, except no location is given. This provides a stronger grouping for the instances under the same soft guide. The soft guide constraint is not as restrictive as a fence or a region constraint, so some instances might be placed further away if these have connections to other modules.

o    Guide: A soft constraint. The placer tries to place the assigned cells within the guide but may place them outside if utilization is high or other constraints conflict. Useful for influencing placement without strict boundaries.

o    Region: When a region is defined, it requires all the cells of the modules contained in the defined region to be placed in the specified region area. If there is an extra space in the region, other cells from other modules may be brought inside

o    Fence: A hard constraint. Cells assigned to a fence must be placed within that boundary. No other cells will be placed inside fence.

 

o   Partial Blockage Impact:

o    Congestion Relief: Reduces the number of cells in a specific area, freeing up local routing resources and mitigating congestion.

o    Density Control: Helps achieve more uniform density distribution, which is beneficial for routability and manufacturability (CMP).

Timing: Can potentially worsen timing slightly if cells that were optimally placed close together are forced further apart due to the density restriction. However, by reducing congestion, it can also improve timing by enabling shorter routing paths later.

Share:

0 comments:

Post a Comment