innovus 报告多边形floorplan的boundary坐标

news2025/2/12 17:42:55

b721d99e5edc436d8b771d1836e150fc.png

6a68817b2fed4a87b174aac613f3dcde.png

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

拾陆楼知识星球

历史文章:

常用dbGet命令

dbGet快速入门

a420c47f24be41ddbd8d5b1b20d812ec.png

使用"Cut Rectilinear"功能可以​调整floorplan形状,使其变成非矩形多边形(polygon)。​

Floorplan-Edit Floorplan-Cut Rectilinear

8f5cdab7cccc4e59885105e02b459b8a.jpg 需要注意的是:

1) 此时layout应该处于"Floorplan View"

90bd5e678ca646ea9ccef385809360cc.png

 2) 使用cut rectilinear之后若工具报告Warning:

**WARN: (IMPSYT-4P516): Failed to run the command because it attempts to change the top cell to rectilinear. Please set enableRectilinearDesign to 1 first before calling this command.

这时要设置如下命令再去切die boundary。

"setPreference EnableRectilinearDesign 1"

7901aa593f5f456faef1ed357ec4f8e1.jpg

74afe63592e540e493582121c6c8e77f.png9774ef302fea41abb8dde2564c9baa0a.png不同于ICC2报floorplan的die size/core boundary那么方便,innovus要繁琐一点,这里分享一下,报告非矩形多边形floorplan boundary box的方法。

83ac1acd63c5461384c3415b4c4fd965.png

Die size

 

1)getObjFPlanPolygen

getObjFPlanPolygen cell [dbGet top.name]

坐标是一串数字,没有{}。

2)dbShape fplan boxes

dbShape -output polygon [dbGet top.fplan.boxes]

dbShape输出的polygon是有{}的。

 

1ff2f029e29644b78a2feb9728291a25.png

Core size

 

​1)dbShape core row list

dbShape -output polygon [dbGet top.fplan.rows.box]

优点是不用写脚本处理,一句命令就可以,缺点是没有row的地方就被省略了。

2)proc get_core_bndry

proc get_core_bndry {} {

set dieBox 

[dbGet top.fplan.boxes]

set offset_l [dbGet top.fplan.core2left]

set offset_b [dbGet top.fplan.core2bot]

set offset_r [dbGet top.fplan.core2right]

set offset_t [dbGet top.fplan.core2top]

set bot_left [dbShape $dieBox MOVE "-$offset_r -$offset_t"]

set bot_right [dbShape $dieBox MOVE "$offset_l -$offset_t"]

set up_right [dbShape $dieBox MOVE "$offset_l $offset_b"]

set up_left [dbShape $dieBox MOVE "-$offset_r $offset_b"]

set coreBndry [dbShape -output polygon $bot_left AND $bot_right AND $up_right AND $up_left]

return coreBndry

get_core_bndry

上述脚本中如果四个offset值相同,用下面的命令更方便:

dbShape -output polygon $dieBox SIZE -$offset

横向offset相同,且纵向offset也相同可以用:

dbShape -output polygon $dieBox SIZEX -$offset_x SIZEY -$offset_y

e9fc4c0e7dba436195d18068de358a51.png

7e86f37c49544a6687a0e0c12e7029e1.jpg 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

干货文章|特殊区域在OSPF协议中的分析

我们都知道OSPF路由器协议是基于SPF算法计算最优路径,当用于SPF算法的LSDB的越大,那么路由器的计算压力就越大,对于一些性能不佳的OSPF路由器来说,如何尽可能地减小LSDB规模也就成了OSPF设计时要考虑到的问题,为了进一…

Vim学习(二)—— 编译C程序

打开终端,这里以MobaXterm为例, 邮件创建新的空文件并命名, 然后cd到对应路径下,用 vim hello.cvim打开创建的文件,进入编辑模式,编辑完程序后按Esc退出编辑模式,输入 :wq保存并退出&#xf…

C++——vector介绍及其简要模拟实现

vector的介绍 此主题介绍转载自(https://cplusplus.com/reference/vector/vector/) 1.vector是一个表示可变大小数组的序列容器 2.vector同数组一样,采用连续存储空间来存储元素,这样可以用下标来对vector中的元素进行访问,但是vector的大…

centos7 安装桌面

先装 xrdp $ sudo yum install -y epel-release $ sudo yum install -y xrdp $ sudo systemctl enable xrdp $ sudo systemctl start xrdp开防火墙端口 $ sudo firewall-cmd --add-port3389/tcp --permanent $ sudo firewall-cmd --reload比较喜欢 GNOME $ sudo yum groupin…

python自动化:系统凭据的获取与添加

在自动化流程开发中,我们经常会遇到输入帐号、密码的情况,帐号明文还可以,但是密码不想展示给他人,但是不想自己去手动输入怎么办? 基于以上情况我们可以使用windows自带的凭据管理器进行密码存储,其实我们…

数据结构与算法之时间空间复杂度

主要简介 1. 时间复杂度:运行一个程序所花费的时间。O() 2. 空间复杂度:运行程序所需要的内存 OOM,开了空间的地方, 比如 数组 链表,缓存对象,递归 时间复杂度表示方式 O(1),O(n),O(nlogn),O(n^2),O(n1),O(logn),O(n!…

造个轮子-任务调度执行小框架-任务清单执行器实现

文章目录 前言执行器流程提交流程线程池实现执行器实现接口状态标志执行周期实现清单代理创建清单项执行总结前言 okey,上一篇文章我们提到了,如何实现它的一个清单的一个代理。这里的话我们来捋一捋我们的这个执行流程是啥: 所以的话,我们的我们这里今天要做的是这个执行…

Jmeter - 函数助手

__StringFromFile StringFromFile函数用于获取文本文件的值,一次读取一行 1、输入文件的全路径:填入文件路径 2、存储结果的变量名(可选) 3、Start file sequence number (opt):初始序列,例如从第3行开始读…

ATFX汇评:美7月通胀率数据基本符合预期,美指仍无法站稳103关口

ATFX汇评:据美劳工部,美国7月未季调CPI年率,最新值3.2,高于前值3%,低于预期值3.3%,这标志着连续12个月的下降已经停止;7月未季调核心CPI年率,最新值4.7%,低于前值4.8%&am…

Poco框架(跨平台自动化测试框架)

Poco基于UI控件搜索原理 ,适用于Android、iOS原生和各种主流的游戏引擎应用。 中文官方文档:欢迎使用Poco (ポコ) UI自动化框架 — poco 1.0 文档 参考文档: Poco介绍 - Airtest Project Docs 环境准备 安装库:pip install po…

本地安装hadoop及其依赖组件

安装目录以及各个版本 大数据安装版本 软件版本备注hadoophadoop-3.3.4hdfs基础sparkspark-3.2.4-bin-hadoop3.2计算框架zookeeperapache-zookeeper-3.5.7-bin分布式服务器hbasehbase-2.4.11列式存储hiveapache-hive-3.1.3-bin数仓元数据 启动服务 su - hadoop -- 启动hadoo…

Vue3 nodejs 安装和配置---vue3教程一

文章目录 前言1、nodejs安装2、配置缓存路径:3、 阿里镜像cnpm使用4、 yarn安装5、配置nodejs国内镜像6、查看各个版本7、node npm yarn概念8、nodejs 和vue 关系外传 前言 本人主做后端Java,以前搞全栈开发是,还没有vue,rect等前端框架&…

如何解决物流投诉问题,拥有更多的回头客?

在电商物流中,客户投诉比较多的一块通常是配送延迟或派送问题。以下是一些可能导致此类问题的原因以及解决方法: 配送员数量不足或调度不合理:电商企业可能面临配送员不足的情况,导致派送时间延长或出现派送失败等问题。解决方法…

【写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串】

写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串 1.题目 写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 AABCD和s2 BCDAA,返回1 给定s1abcd和s2ACBD,返回0. AABCD左…

40 proc 文件系统

前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…

为何不禁用危险的memcpy或更新memcpy源码,而使用更安全的memcpy_s

关于使用更安全的memcpy_s而不禁用危险的memcpy或更新memcpy源码的问题,以下是一些考虑因素:首先,memcpy_s并不是绝对安全的实现。尽管它要求您提供一个长度参数来确保不会发生溢出或越界问题,但这个长度仍然需要您自己提供&#…

液压系统比例阀放大器US-DAT2-F、US-DAPQ-N、US-DAS2

比例放大器US-DAS1、US-DAS2、US-DAPQ-N、US-DAPQ-H、US-P1、US-P2、US-DAT2-F、US-DAT2-A适配控制各种不带位置反馈比例阀; 控制如博世力士乐(Bosch Rexroth)、伊顿威格士(EATON Vickers)、油研(YUKEN&am…

从小白到大神之路之学习运维第78天-------Kubernetes集群应用部署测试

第四阶段 时 间:2023年8月11日 参加人:全班人员 内 容: Kubernetes集群应用部署测试 目录 应用部署测试 应用部署测试 下面我们部署一个简单的Nginx WEB服务,该容器运行时会监听80端口。 (一)环境…

vue报错‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

运行我的后台管理项目的时候报错:‘vue-cli-service’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 查看自己package.json中是否有vue 或者vue-cli-service 查看自己项目目录下有没有node_module文件夹,如果有删除,然后…

uprobe trace多线程mutex等待耗时

问题背景环境 ubuntu2204 服务器支持debugfs uprobe,为了提升应用程序的性能,需要量化不同参数下多线程主程序等待在mutex上的耗时区别 linux document中对uprobe events的说明如下 uprobetracer.rst - Documentation/trace/uprobetracer.rst - Linux…