INVS里的DanglingWire的自动化清理实战

news2024/11/19 22:42:39

在上一讲中一起了解了INVS里的DanglingWire(innovus中的DanglingWire(悬垂线)的理解和处理),常言道理论联系实际,在理解原理的基础上,那一定是要服务项目的,这篇后续火速跟进,一起使用自动化的方式来进行处理,节省芯片的绕线资源。
DanglingWire在INVS看来是可以进行trim的,这些也基本出现在PG gen的过程中,可能会来自于下列命令(或不仅限于下列命令):

  • sroute
  • editPowerVia
  • addStrip

既然大家已经了解了DanglingWire的出现原因,在进行trim收到操作前,用户需要对自己的PG 进行优化,来减少DanglingWire的出现几率,这里有包括但不限于以下的一些建议

  • 如果有PG ring的规划,需要优先创建core ring和block ring
  • 建立PG stripe,尽量extend到ring上,这里有几个选项用户可以关注
    在这里插入图片描述
  • 在没有 std-cell row的channel,不要创建可能会被macro打断的PG stripe , 譬如
    在这里插入图片描述
    上述工作完成后,用户需要使用verifyConnectivity进行查验,如有遗漏可以尽量补足。
    用户始终要明确:INVS的native命令是效率更高,收效更明显的处理手段。在任何手工/脚本操作前,都应该应用尽用INVS native 命令。
    反过来讲,一个完美的结果也不是一蹴(一个命令)而就的,打磨在所难免的,在日渐竞争的芯片后端岗位中,掌握别人不了解或者现在不了解的方法,是有机会能够让你获取【短暂的】领先的
    对于剩余的DanglingWire的问题,这里提供一个procedure(函数),进行解决。函数的基本使用方法如下
  1. 打开INVS数据库
  2. 在INVS,导入函数

在这里插入图片描述

这是ICerDev团队原创函数的第三次释放,版本信息如下
- 版本号: V0.12
- 交付时间: 2023-01-10
- 更新内容: 添加trim_danlingwire函数

  1. 使用help查看函数帮助
    在这里插入图片描述
  2. 小试牛刀
    在使用trim_danlingwire函数之前,先来使用命令verifyConnectivity验证一下当前数据库的DanglingWire的状态

在这里插入图片描述
可以看到,当前数据库有606个DanglingWire的问题

在这里插入图片描述
查看细节可以看到,基本是M1的问题,基于上篇文章的讲解对于std-cell的M1 PG rail上的问题,在PG DB上是不用理会的,这些在后期会自动修复。
这里以M6层举例,一起看看这个函数的处理能力
step1: 在进行trim前,推荐使用show_only的方式来进行脚本运行评估(evaluate)
在这里插入图片描述
函数此时以评估模式运行,可以看到,在基于M6和VIA5的基础下,函数评估出整个系统会有87根M6共计5237的绕线资源属于DanglingWire的范畴,可以被优化掉。此时,用户可以通过GUI的红色高亮区域进行查验
在这里插入图片描述
从full-view视图可以看到,函数评估出来的可优化的点位主要集中在FP的下侧,zoom-in看一下究竟
在这里插入图片描述

用户大致查验这些高亮的区域,如果没有明细问题,就可以进行真实的trim
step2: trim DanglingWire
对于上述高亮区域,可以使用下面的命令进行trim
在这里插入图片描述
可以看到,刚才高亮的区域,此时已经被trim掉了
在这里插入图片描述
用户此时可以通过verifyConnectivity查看DanglingWire状态
在这里插入图片描述
可以看到,数据库中的DanglingWire从606 降到了548,其他的错误类型并未发生变化,
再进行GUI进行细节查看
在这里插入图片描述
可以看到刚才下部大面积的DanglingWire已经消失了,M6的DanglingWire也从60个降低到了2个,在这个数据库中,基本可以实现一次性全部修复
用户

具体脚本分享,请参见题主的知识星球:艾思IC后端设计
【INVS里的DanglingWire的自动化清理实战–脚本分享】

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

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

相关文章

中国第一个 Apache 顶级开源项目的突围之路!

【CSDN 编者按】近些年开源大热,开源创业之风随之四起。作为近两年特别火的商业方向,开源创业者如何才能在一片红海中乘风破浪,在行业中占据一席之地?第一个由中国人主导贡献到 ASF 的顶级开源项目 Apache Kylin 做出了有效探索&a…

字节序,主机字节序与网络字节序

📌————本章重点————📌 🔗了解字节序的概念; 🔗了解大小端的概念;🔗了解主机字节序和网络字节序的区别;🔗学习主机字节序和网络字节序相机转化的接口; ✨————————————✨字节序 概念&am…

人工智能助力古彝文识别,推动传统文化传承

人工智能助力古彝文识别,推动传统文化传承0. 前言1. 古彝文1.1 古彝文介绍1.2 古彝文识别的重要意义1.3 古彝文识别的挑战2. 古彝文识别国内外研究进展3. 基于深度学习的古彝文识别3.1 深度学习简介3.2 基于深度学习的古彝文识别模型架构4. 古彝文识别进展与展望小结…

HTML小游戏19 —— html5版开心斗地主小游戏(附完整源码)

💂 网站推荐:【神级源码资源网】【摸鱼小游戏】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】本节教程我会带大家使用 HTML…

【练习】Day05

努力经营当下,直至未来明朗! 文章目录一、选择二、编程1. 跳跃游戏[贪心算法]2. 寻找重复数[注意思路!]答案1. 选择2. 编程普通小孩也要热爱生活! 一、选择 HASH 函数冲突处理方式不包括以下哪一项:(&…

YOLOv5源码详解——项目目录

YOLOv5 目录 .github .github相关,不重要 datasets 存放数据集,刚下载下来的源码是不包含这个文件夹的 classify 图像分类模块,包含以下4个文件 predict.py —— 图像分类预测脚本train.py ——图像分类训练脚本val.py —— 图像分类验证脚本tutorial.…

Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发

一、标准CRUD使用 对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢? 我们先来看张图: 1.1 环境准备 这里用的环境就是Java开发学习(四十)----MyBatisPlus入门案例与简介中使用的环境 二、新增 在进行新增之前,我们可以分析下新增的方法…

马蹄集 公式计算

公式计算 难度&#xff1a;青铜 01 时间限制&#xff1a;1秒巴占用内存&#xff1a;64M 计算公式 (1/2)*(a*xc(ac)/(4*a)》 格式 输入格式&#xff1a;输入为整型x,a,空格分隔 #include <bits/stdc.h> using namespace std; int main() {int x, a;cin >> x >&g…

1、JDK17安装

目录 一、简介 二、安装步骤 三、在Windows 10系统中配置环境变量 四、运行jdk 一、简介 JDK全称Java SE Development kit(JDK)&#xff0c;即java标准版开发包&#xff0c;是Oracle提供的一套用于开发java应用程序的开发包&#xff0c;它提供编译&#xff0c;运行java程…

二叉树【数据结构】【超详细,一学就会!!!】

目录 &#x1f4d6;1.什么是二叉树&#xff1f; &#x1f334;2.满二叉树和完全二叉树 ⛳2.二叉树的性质 &#x1f525;3.二叉树的创建与遍历 3.1 创建二叉树 3.2 前中后序遍历——递归和非递归 &#x1f3f9;4.二叉树的实现 1️⃣获取树中节点的个数 2️⃣获取叶子节点…

MATLAB-三维插值运算

MATLAB中是支持三维及三维以上的高维插值的。三维插值的基本原理与一维插值和二维插值是一样的&#xff0c;但三维插值是对三维函数进行的插值。在MATLAB中&#xff0c;使用interp3函数实现插值&#xff0c;其调用格式如下。vi interp3(x,y,z,v,xi,yi,zi) %返回值 vi是三维插值…

2022ICPC杭州站

A. Modulo Ruins the Legend 题目链接&#xff1a;Problem - A - Codeforces 样例1输入&#xff1a; 6 24 1 1 4 5 1 4样例1输出&#xff1a; 1 0 5样例2输入&#xff1a; 7 29 1 9 1 9 8 1 0样例2输出&#xff1a; 0 0 0题意&#xff1a;给你一个长度为n的数组a[]&#x…

【NI Multisim 14.0原理图的设计——原理图分类】

目录 序言 一、原理图的设计 &#x1f34a;知识点&#xff1a; 二、原理图分类 &#x1f349;1.平坦式电路 &#x1f349; 2.层次式电路图 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和…

【用JS自制表格软件玩数据】10. 为表格脚本设计一个语法解析器

设计脚本语言的语法解析器概述脚本源码语法预览运行效果如下图设计计算符号的优先级定义一些关键词生成一份关键词的map方便引用枚举关键词的类型错误异常的捕获字符匹配代码的字符转化成迭代器关键词标记器词法分析器设计一个队列处理器源代码字符串迭代器代码的块级运行环境脚…

【HTML基础篇003】前端基础之CSS选择器大全

✨一、CSS的基本介绍 CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;它就会按照这个样式表来对文档进行格式化&#xff08;渲染&#xff09;。 ✨二、CSS的几种引入方式 &#x1f338;2.1、方法一&am…

连接查询之内连接(等值连接、非等值连接和自连接)

1、等值连接&#xff1a;表连接条件是等值关系&#xff0c;我们称为等值连接。 需求&#xff1a;查询每个员工所在部门名称&#xff0c;显示员工名和部门名&#xff1a; 查看员工表的ename和deptno字段信息&#xff1a; 查看部门表中的deptno和dname字段信息 SQL92语法&#x…

2023年最值得关注的机器人趋势TOP10

新兴的机器人技术趋势和预测满足了对工业自动化、数字化和可持续性的需求。仓库中的材料处理由自动移动机器人&#xff08;AMR&#xff09;和自动引导车辆&#xff08;AGV&#xff09;实现自动化。相关机构对8949家全球初创企业和2023年机器人趋势规模的样本进行了研究&#xf…

Linux的安装(云服务器专讲)

一、Linux环境的安装有一下几种方式&#xff1a;双系统或则将自己的笔记本搞成Linux系统——严重不推荐&#xff0c;这样安装成本高、并且容易把自己电脑弄坏。虚拟机推荐wmware player这是免费的&#xff0c;并且推荐是打在了centos7.x版本的&#xff0c;这个的好处就是不需要…

微信接入 ChatGPT(学习笔记,不作教程)

微信接入 ChatGPT前置条件接入前提去Linux虚拟机&#xff08;必须有go环境&#xff09;安装前先配置下ssh密钥生成新的ssh密钥检查将 SSH 密钥添加到 ssh-agent将 SSH 密钥添加到您在 GitHub 上的帐户上去github上将密钥复制在里面然后点击添加ssh密钥安转部署最后直接go run m…

【JavaSE】Java序列化详解

【JavaSE】Java序列化详解 文章目录【JavaSE】Java序列化详解一&#xff1a;什么是序列化和反序列化?二&#xff1a;序列化协议对应于 TCP/IP 4 层模型的哪一层&#xff1f;三&#xff1a;常见序列化协议有哪些&#xff1f;四&#xff1a;JDK 自带的序列化方式1&#xff1a;序…