在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 13893|回复: 27

[求助] Innovus加电源pad的流程是怎么的?

[复制链接]
发表于 2020-2-5 16:33:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
想请教下各位老兄,Innovus加电源pad的流程是怎么的?

DC出来的netlist需要带power pin吗?

如果不带power pin,导入innovus前需要手动把power pad添加到netlisth里去吗,像这样?
        VCCKLA pad_vcc_core_left(.VCCK());
        GNDKLA pad_gnd_core_left(.GNDK());
        VCCKLA pad_vcc_core_right(.VCCK());
        GNDKLA pad_gnd_core_right(.GNDK());
        VCC3IOLA pad_vcc_io_left(.VCC3IO());
        GNDIOLA  pad_gnd_io_left(.GNDIO());
        VCC3IOLA pad_vcc_io_right(.VCC3IO());
        GNDIOLA  pad_gnd_io_right(.GNDIO());


这几个pad的端口里需要填写电源的net name吗?VDD、VSS、VIO之类的?但是这几条线是网表里没定义的啊?强行wire定义一个吗?加不加感叹号?

还是说不改变网表,直接导入innovus,然后用addIoInst或者addInst指令添加这些pad?像这样?
addIoInst -inst vcckRIGHT -cell VCCKLA -ori R90 -loc {3554.32 169.4}
addIoInst -inst gndkRIGHT -cell GNDKLA -ori R90 -loc {3554.32 225.4}
addIoInst -inst gndioRIGHT -cell GNDIOLA -ori R90 -loc {3554.32 281.4}
addIoInst -inst vccioRIGHT -cell VCC3IOLA -ori R90 -loc {3554.32 337.4}


添加完后怎么指引它们连上版图里的电源环呢?

希望有经验的同志指条明路~谢谢啦
 楼主| 发表于 2020-2-5 16:36:08 | 显示全部楼层
我试过第一种方法,把几个电源pad例化进网表,但是导入innovus之后,几组io都自动连到了一块,VDD和VIO都连在一起了,好像不太科学。我记得VIO是不需要特地去定义电压域的吧?
 楼主| 发表于 2020-2-5 16:39:05 | 显示全部楼层
第二个方法呢,导入后addIoInst添加pad,我也试过。
然后
globalNetConnect VDD -type pgpin -pin VCCK -inst *
globalNetConnect VSS -type pgpin -pin GNDK -inst *

感觉很合理啊,每次sroute就会卡住很长时间,然后挂掉。挂前提示
**WARN: (IMPSR-1254):        Cannot find any block pin of net VSS. Check netlist, or change option to include the pin.
**WARN: (IMPSR-1256):        Cannot find any CORE class pad pin of net VSS. Change routing area or layer to include the expected pin, or check netlist, or change port class in the technology file.

所以我实在也不知道这个正确的流程是怎样做了
 楼主| 发表于 2020-2-5 21:52:23 | 显示全部楼层
又试了一下,把几个电源pad和corener pad全部例化进网表,core电源pad的端口里填VDD,  IO电源里填VIO, VDD和VIO都不需要在网表里声明,直接写进去不会报错。
但是有时VDD可以正常连到电源环上,有时连不出来,不知道为什么

还是希望有人可以指导一下正确的流程。
发表于 2020-2-7 14:43:48 | 显示全部楼层
1.APR拿到的网表中不包含任何PG IO
2.在APR Flow中使用addInst -physical加入需要添加的IO Inst.
3.编辑GNC,source GNC脚本
4.添加PAD
5.添加PG text
发表于 2020-2-7 14:45:15 | 显示全部楼层
GNC的时候注意,提前设置好Chip中PG Net Name,并在Init_design之前定义好。
 楼主| 发表于 2020-2-8 18:10:27 | 显示全部楼层


Lover_Momo 发表于 2020-2-7 14:43
1.APR拿到的网表中不包含任何PG IO
2.在APR Flow中使用addInst -physical加入需要添加的IO Inst.
3.编辑GNC ...


多谢回复!

不懂你所说的GNC是什么意思,是用来power definition的吗?

还有加PG text是在PG pad的端口上写字么?

虽然不太懂你的意思,但看你的思路应该是不在netlist里加PG pad,而是在flow里用addIns加。

我找到了一个台湾CIC的tutorial,它是在网表里加PG的。

两种方法我都试过了,发现都是可行的,都能成功在版图里加上pad,而且也能连上电源环,只要global net connect设置对。。。我突然懂了GNC什么意思了。。。多谢

我之前sroute就死机的原因也找到了,原来是floorplan没把core的尺寸设置对,不是trace的整数倍,软件又没有自动调整,导致sroute卡死。
发表于 2020-2-9 10:45:11 | 显示全部楼层
加油!
方法千万条,合适自己的方法最关键。
发表于 2020-2-9 10:52:55 | 显示全部楼层
谈一点我自己关于PG IO的加法认知:
整个的APR IO Plan的设计呢需要考虑很多因素:
大的方面讲:IO Domain划分;IO位置。
细节方面,Power Domain的供电要求;不同Domain之间的隔离;IO之间的DRC Rule;ESD保护;SSO等等。
这些都影响着Physical阶段的物理实现,简单点说就是P给到底要加几组是由数字后端来决定的,所以不太建议给到APR初始网表将PG等的Special IO加入到网表当中。
简单点说,PG IO不影响Function,前端给的网表只需要完成Function的就好。何必那么麻烦呢,对吧!!!
我的一点个人粗鄙见解。
发表于 2020-2-9 10:54:19 | 显示全部楼层
谈一点我自己关于PG IO的加法认知:
整个的APR IO Plan的设计呢需要考虑很多因素:
大的方面讲:IO Domain划分;IO位置。
细节方面,Power Domain的供电要求;不同Domain之间的隔离;IO之间的DRC Rule;ESD保护;SSO等等。
这些都影响着Physical阶段的物理实现,简单点说就是PG IO给到底要加几组是由数字后端来决定的,而不是前端像加多少是随意的,所以不太建议给到APR初始网表将PG等的Special IO加入到网表当中。
简单点说,PG IO不影响Function,前端给的网表只需要完成Function的就好。何必那么麻烦呢,对吧!!!
我的一点个人粗鄙见解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-21 18:01 , Processed in 0.024972 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表