innovus里边有不少physical drc检查工具,其中的verifyconnectivity 别有一番有趣的用法,借此机会,一起来看看其中的一个亮点。
在innovus工具里边,用户经常会使用verifyconnectivity 来进行open ,绕线完整性等问题的查验。对于绕线结果,尤其是pg绕线结果,使用这个命令可以很好的帮助用户在power planning阶段查验pg的闭合连接的状态(在pg db中使用,有点类似s家的verify_pg_nets ),这个命令的检查点包括并不限于
pg的整体贯通性:open checkmacro的pg pin 连接闭合信号开路检查 (signal routing open)悬垂绕线/天线效应检查(danglingwire/antenna)上述前三点都是比较常规的检查,通常没有太多的歧义,但是对于最后一个danglingwire/antenna,invs有自己独到的理解方式,这里仔细理解和分析以下这个检查项目
danglingwire的原理描述danglingwire描述:wire通常是指连接在某一个pin/terminal的net在物理上的形状,danglng是指这个wire后面有没有连接任何的负载,如果这个wire同时也连接在其他的input pin,由于这个danglingwire的存在,势必会引入潜在的antenna问题,这就是为什么invs把danglingwire和antenna标注在一起的原因。
在上述拓扑结构结构中,有两个连结关系:u1.z -> u2.a 和 u1.z -> u3.a ,对应的实际物理绕线如上述黑色和红色走线标记。这种绕线方式在invs的verifyconnectivity评判里,就会将红色部分的绕线(wire)报告一个danglingwire的问题。
红色部分绕线已经对这个绕线闭合结构没有任何贡献,同时还会导致net1的绕线被无意中变长,这样的绕线会导致三个影响:
红色绕线部分会占用额外的绕线资源,但是对数据库有没有贡献,所以这是对绕线资源的浪费红色绕线会让net1的rc变大, 会让net1的传输变慢,导致不期望的延迟对于u2.a和u3.a 输入pin而言,由于输入管脚对应的绕线变长,红色绕线有可能导致更多的输入管脚的antenna违例。由于pg via drop的特点,这种danglingwire的情形在pg 绕线会比较常见,反而由于nanoroute特有的算法,对于信号连接,基本不会出现danglingwire的现象。
这里的pg连接是从m6 -> via56 -> m5,从invs的理解来看,这条m5 wire的的最右侧部分(从via56结束一直到m5的最右端,红色高亮区域),是一小段的danglingwire绕线,因为在via56的部分,这条m5已经完成了pg贯通的使命,多出来的那部分就被invs判定为没有贡献的danglingwire。
在pg创建的时候,无法在addstripe的命令从根本上解决,这是因为pg stripe通常都是两横两纵的布局,总会有一个via56 距离m5的端点较远。
如上图所示,尽管pg 布局里边已经将vss的via56推到了最右侧,但是vdd的danglingwire还是无法避免。由此可见,用户在创建pg的时候。在使用同样m6/m5的时候,通过调整offset,可以让danglingwire问题缓解,可以间接的提高ir的质量,但是不能根治danglingwire的问题
danglingwire问题的解决方法invs评判danlingwire的标准是:wire走线在通过最右一个有效连结via或者load_pin后,绕线长度不能超过走线宽度的一半,否则会被判定为danglingwire
以上图为例,对于上边比较短的m5是没有danglingwire违例的。可以看到,此时m5的右侧只比via56的右侧超出了0.825um,正好是m5绕线宽度的一半(0.162/2),这个时候就不会出现danglingwire的问题了。对应的下边的m5,右侧长度没有修剪,所以依然能看到danglingwire的违例。
经测算,在这个示例当中,通过缩短m5的长度,可以释放大概 7.375um 的m5的绕线资源
std-cell rail 的danlingwire 问题理解假设当前设计的std-cell pg rail在m1层,invs对m1的关注和m5是一致的,如果用户没有进行任何的preplace std-cell的规划,布局(包括tapcell,endcap等pre-place的器件),或者preplace std-cell的节点距离m1的终点有一些距离,那么在pg里边也会报告类似的danglingwire的问题。
但是,这样的m1 danglingwire会在chipfinish的时候完全消失,这是因为所有的std-cell row上,最后都会布满std-cell或者std-filler,这个m1上的danglingwire的违例在pd db上不需要理会,除非是这个区域不需要放置std-cell,那么用户需要从site-row的剪裁下手,节约std-cell的资源占用
同样的数据库,在进入到chipfinish后,m1的danglingwire已经自愈了。
danglingwire 和 open的区别经过上述的讨论,应该已经很好的理解invs里边对于danglingwire的定义,对于普通用户而言,danglingwire的影响主要是侵占一些设计的绕线资源(但是要注意不同阶段的danglingwire由于负载的改变,这个违例的形态会发生一定的变化,譬如上述的std-cell rail 的danglingwire问题)。相较而言,用户更应该优先关注open问题,
invs 对open有两种定义:
对于同样的net,但是没有连接在一起的wire piece,这里的定义比较像s家的 floating shape,譬如下图左侧的几个wire piece,这个就是open(也就是常说的floating shape),如果确定不需要,也可以做直接删除处理
但是,更为常见的open,是缺少从m6到m1 的via,这个时候就是需要用户及时处理,否则最后的lvs是过不去的
没有连接到网络的pg pin:unconnpin
这里需要注意一点,由于invs的verifyconnectivity 是基于wire shape的,所以如果需要查验某一个net的open或者unconnpin,前提是这个net至少一根wire shape,否则invs会给出下列提示,
同时,会在violations browser里边以noroute 表示出来:意即该net没有任何的wire shape
敲黑板划重点invs里的danglingwire是潜在的绕线资源浪费,需要用户自行判断,并进行处理,在不影响ir分析的基础上,可以更好的利用现有资源。
Verizon携手合作伙伴加速释放5G技术的最大潜能
WT2605C-L011语音芯片IC:蓝牙音频与数据传输功能的集成优势及应用
linux驱动的入口函数module_init的加载和释放
老旗舰和新中端到底应该怎么选择 小米和vivo拿错了剧本
混合介质PCB多层板层压制造用材简介
innovus中的DanglingWire的理解和处理
医疗器械产业科学发展高层峰会在京举行
韩国发生超级传播 机器人企业挺身而出
国外网友成功将速龙200GE超频 最高超频至3.9GHz
把Station P2变成游戏机?影音播放器?甚至是开发用的主机?
华为:AI将成为颠覆移动互联网时代的下一个拐点
方波,三角波发生器电路图
中国联通推出“5G快闪直播间”为数字娱乐跨界注入了更多活力
在人工智能的市场发展态势下 芯片行业又将赢来新的洗牌
可自然降解且生物相容的可植入微型超级电容器
区块链的跨链项目Polkadot介绍
国际标准单位
需要数据处理?认准华为数据工坊DWR
将MPU6050与Raspberry Pi连接并显示16x2 LCD值的步骤
密度和比重国标美标具体对比