Thursday, 1 August 2013

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):

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.

Halos of two adjacent macros can be overlap.

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.