罗风 · 2021年07月01日

PnR | Innovus 中的Soft Guide, Guide, Region, Fence

后端概念好繁琐,自从开始做ispatial 就被后端各种概念搞得七荤八素,挫败!挫败!挫败!在做物理综合时,除了LEF, DEF 概念搞懂之外,最常用到的就是各种 "guide" 了,在Innovus 中有以下四种.

Soft Guide: 

没有fixed location 是要求最不严格的一种 —— A soft guide constraint is similar to a guide constraint except that there are no fixed locations. 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.

定义方式,类似与虚拟clock 不需要指定pin/port 一样,Soft Guide 不需要坐标。

createInstGroup groupName

addInstToInstGroup XXX

createSoftGuide \<moduleName/groupName>

Guide: 

比soft guide 严格一点,但『可进可出』——即:被指定的cell 可能被摆放在guide 之外,没被指定的cell 可能被摆放在guide 之内—— The guide constraint is the loosest of all floorplan constraints in Innovus. It roughly defines an area within which you instruct the tool to place the cells of a given module.The guide constraint is automatically assigned to a module when it is moved or placed inside the core area. Cells from modules that are not part of the guide may be placed inside the guide if the area is underutilized. Likewise, cells from the modules defining the guide may be placed outside if the area is overutilized. To summarize, a guide is a soft indicant for placement of cells that may let some cells in and let some cells out. In the standard Innovus GUI, guides are pink in color.

定义方式,第一次看到llx, lly, urx, ury 大眼瞪小眼瞪了许久,才搞明白对应的是:左下角的坐标(x, y) 跟右上角的坐标(x, y), 有一天要画一个多边形区域,倒腾了一下午,才搞明白Innovus 中的多边形是用各种矩形相互叠加切出来的,恍然大悟的同时,觉得后端真繁琐!

createInstGroup groupName

addInstToInstGroup XXX

createGuide \<moduleName/groupName> llx lly urx ury

Region:

比Guide 更严格一点,但『可进不可出』——即:被指定的cell 不可以被摆放在Region 之外,没被指定的cell 可能被摆放在Region 之内 —— The region constraint too is a loose constraint. However, it is stronger than the guide. 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. To summarize, a region is a stronger indicant for the placement of cells that may let some cells in and does not let anything out. In the standard Innovus GUI, regions are light brown in color.

定义方式:

createInstGroup groupName

addInstToInstGroup XXX

createRegion \<moduleName/groupName> llx lly urx ury

Fence:

比Region 更严格一点,但『不可进不可出』——即:被指定的cell 不可以被摆放在Fence 之外,没被指定的cell 不可以被摆放在Fence 之内 ——The fence constraint is the strongest floorplan constraint in Innovus. The fence constraint does not allow cells from other modules to be placed inside even if the area is underutilized. In addition, the cells in a fenced area cannot be placed outside the defined fence. A fence is meant to be exclusive, although not completely. In some  cases, especially when the fence is too small or there are buffers in the design. To summarize, a fence is the strongest indicant for the placement of cells that neither lets cells in nor lets anything out. In the standard Innovus GUI, fences are dark brown in color.

定义方式:

createInstGroup groupName

addInstToInstGroup XXX

createFence \<moduleName/groupName> llx lly urx ury

综合时用的最多的是Region, Genus 有自己的命令定义以上各种类型的『Guide』如:

create\_group -name XXX -type guide -polygon {XX}

update\_group -name XX -add -objs {XXX}

Genus 采用的是Early physical, 即在syn\_gen 的时候就开始做module place, module place 决定placement 的大方向。在innovus 中可以用如下代码highlight 出module placement.

set\_object\_color -reset
set i 1
foreach inst  $instList   {
  set\_object\_color -color\_id [expr $i%30 ]  -include\_children color -object\_name $inst ;
  incr i
}

1.png

作者:陌上风骑驴
原文链接:https://mp.weixin.qq.com/s/xZBjCdOUa6JMIzWaLxQwCg
微信公众号:
陌上风.jpg

相关文章推荐

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
10943
内容数
1209
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息