专栏首页陌上风骑驴看ICPnR | Innovus 中的Soft Guide, Guide, Region, Fence

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 }

本文分享自微信公众号 - 陌上风骑驴看IC(MoShangFengQiLv),作者:陌上风骑驴

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 论综合 | 是什么让一个数字前端实现硅农开始学习Floorplan 的?

    如题,是什么让一个数字前端实现硅农开始学习Floorplan 的?是制造工艺的进步,是实现方法学的被迫更新,是养家糊口生的本能,正可谓:头发落完终不悔,为伊消得...

    老秃胖驴
  • P&R | 物理设计流程概述

    题记,VLSI System Design 上的这篇文章其实没什么实质性的内容,只是一个特别特别笼统的概述,而且由于年久失修,某些地方的概念欠完备,但该文趣味十...

    老秃胖驴
  • P&R | 如何在实现全流程中考虑IR-Drop

    随着工艺进步,芯片上的线宽越来越窄,单位电阻也越来越大,而同时设计的复杂度也越来越高,芯片尺寸非但没有减小还长得更大了,以至于绕线越来密集,这对电源完整性提出了...

    老秃胖驴
  • 【CodeForces 618C】Constellation

    Cat Noku has obtained a map of the night sky. On this map, he found a constellat...

    饶文津
  • PAT (Advanced Level) Practice 1145 Hashing - Average Search Time (25分)

    The task of this problem is simple: insert a sequence of distinct positive integ...

    glm233
  • 估算聚类正确性&使用小批量KMeans来处理更多数据

    We talked a little bit about assessing clusters when the ground truth is not kno...

    到不了的都叫做远方
  • auto_increment 自增键的一些说明

    原文: https://yq.aliyun.com/articles/59263?spm=5176.8091938.0.0.bjzoFN

    二狗不要跑
  • Baozi Leetcode 190: Reverse Bits & 中年大叔程序员沮丧聊天疫情中的WFH

    哈喽大家好!有段时间没有跟大家更新了,各位疫情期间在家工作是否顺心?欢迎收听包子聊天系列:中年程序员大叔沮丧聊天-疫情中WFH怎么感觉更累了?!

    包子面试培训
  • 新功能Go modules介绍

    A module is a collection of related go packages. Modules are the unit of source ...

    李海彬
  • OCP-052考试题库汇总(12)-CUUG内部解答版

    Which three are true about the Automatic Workload Repository (AWR)?

    用户5892232

扫码关注云+社区

领取腾讯云代金券