28 March 2015

Blockages and Halo

Blockages

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

*Standard cell: A standard cell is a group of transistors and interconnects structures that provides a boolean logic function (e.g. AND, OR, XOR, XNOR, NOT) or a storage function (flipflops or latch).

Types of blockages describes as below,

Soft (Non-buffer) blockage:

Soft blockage specifies a region where only buffer 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 std. cell in this region.

 

Hard blockage:

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

Hard blockage are mostly used to
  • Block standard cells to certain regions in the design,
  • Avoid routing congestion at macro conners,
  • Control power rail generations at macro cores.

Partial blockage:

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.

Placement blockage:

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

Placement blockage 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.

*Macros:  Macros are intellectual properties that can be directly used in the design. These are need not to be design. For example memories, processor core, PLL etc.

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 standard cells can be placed. Halo allows placement of buffers and inverters in its area.

  • Halos of two adjacent macros can be overlap.
  • If macro are moved from one place to another place, halos will also be moved. But in case of blockages if the macros are moved from one place to another place the blockages cann't be moved.

9 comments:

  1. Sir, does Halo act as a routing blockage also or it's just a placement blockage
    ??

    ReplyDelete
    Replies
    1. Placement blockage is on the base unlike routing blockages. So halos are only placement blockage.
      Correct me if I'm wrong.

      Delete
    2. Halo act as placement blockage so it allows routing then no routing congestion happened in routing is it right....

      Delete
    3. No....halo allows Routing
      Halo doesn't not alow the std cells and buffers so extra routing is not done by tool

      Delete
  2. Sir, these blockages blocks standard cells and buffers only or power stripes also. .?

    ReplyDelete
  3. Service Professional And Agents Software

    Professional services automation (PSA) software helps companies in professional services manage most or all back-office and front-office activities. PSA systems are used to track operations and related costs, as well as the revenues they generate. These products are used by consultants.

    ReplyDelete
  4. why halo , what is prons and cons of halo?

    ReplyDelete