Thursday, 1 August 2013

Blockages and Halos


Blockages are specific locations where placing of cells are prevented or blocked. These act as guidelines for placing std cells in the design. Blockages will not be guiding the placement tool to place std cell at some particular area, but it wont allow placement tool to place std cells at specified locations. This way blockages are act as guidelines to the placement tool.

Blockages are of following types

  • Soft ( Non-Buffer ) Blockage
  • Hard ( std cell) Blockage
  • Partial Blockage
  • Placement Blockage
  • Routing Blockage
Soft Blockage :

Soft Blockage specifies a region where only buffers can be placed. That means standard cells cannot be placed in this region. It blocks (prevents) the placement tool from placing non-buffer cells such as standard cells in this region.

Hard Blockage :

Hard blockage specifies a region where all standard (std) cells and buffers cannot be placed. It prevents the placement tool from placing std cells and buffers in this region.

 Hard blockages are mostly used to

  • Block std cells to certain regions in the design
  • Avoid routing congestion at macro corners
  • Control power rail generations at macro corners
Partial Blockages: 

The blockage factor for any blockage is 100% by default. So no cells can be placed in that region, but the flexibility of blockages can be chosen by Partial Blockages. To reduce placement density without blocking 100% of area, changing the blockage factor of an existing region to flexible value will be a better option.

Placement Blockage:

Placement blockage prevent the placement tool from placing cells at specific regions. Placement blockages are created at floor planning stage. 

Placement blockages are used to
  • Define standard cells and Macro Area
  • Reserve channels for buffer insertion
  • Prevent cells from being placed nearer to macros
  • Prevent congestion near macros
Routing Blockage:

Routing blockages block routing resources on one or more layers. It can be created at any point in the design.

HALO ( Keep-Out Region): 

  1. HALO is the region around the boundary of fixed macro in the design in which no other macro or std cells can be placed. Halo allows placement of buffers and inverters in its area. 
  2. Halos of two adjacent macros can be overlap. 
  3. If the macros are moved from one place to another place, Halos will also be moved. But in the case of blockages if the macros are moved from one place to another place the blockages cannot be moved. 
Now Android Application available, Click here to download it


  1. This comment has been removed by a blog administrator.

  2. Like types of blockage, Is there any type for Halos also?

  3. This comment has been removed by the author.