数字ASIC设计概要:Placement 简介

Coarse Placement

夫天下之事,能一蹴而就者,鲜有闻矣。欲成大厦,必先成其大概,而后成其屋室。

Cell 的 Placement 亦如是。在进行 Legalize 之前,需要把 Cell 的大致位置先确定下来。这个确定Cell大致位置的过程就叫做 Coarse Placement.

Coarse Placement 可以描述为这样一个问题:在指定的平面空间(Floorplan)内,确定各个标准单元Cell的位置,以使时序等设计指标最优。

Coarse Placement 通常由EDA工具根据设计者的要求自动完成。设计者的任务是给EDA工具以足够的指导以做出尽可能好的结果来。

如何影响Coarse Placement的结果?

夫治水之道,唯疏堵二法而已。天下之理同也。

所谓设计者的“要求”,就Placement来说,归结起来,大的方面无非两类:

  • 堵:指定Cell不能放在某个区域。这个称之为 Blockage
  • 疏:指定Cell只能放在某个区域。这个称之为 Bound

关于 Placement 的物理约束基本上都由此演变而来。

Placement大法之“堵”

  1. Hard Blockage:

    “清场!清场!所有人员不得进入划定区域!”

  2. Soft Blockage:

    “清场!清场!所有人员未经允许,不得进入指定区域!”

  3. Keepout Margin:

    “我需要宽敞的空间,我周围谁也不许呆。”

  4. Cell Density:

    “这里的容积率需要控制!”

Placement大法之“疏”

  1. Bound:

    “请呆在指定的区域内,不要出来。”

  2. Exclusive Bound:

    “请呆在指定的区域内,不要出来。其它人不得进入!”

  3. Group Bound:

    “去哪我不管。但所有人员请务必呆在指定大小的区域内!”

  4. Fixed:

    “你给我呆在那里别动!哪也别去!”

  5. Relative Placement:

    “她去哪里,我就去哪里。我就要和她在一起!”