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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 29323|回复: 35

[求助] 如何在ICC中加入IO和POWER PAD? 在线等!

[复制链接]
发表于 2012-9-22 09:42:16 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 HP_ccyz2012 于 2012-9-22 09:56 编辑

各位大侠,小弟在学习ICC,最近遇到一个问题,IO pad我通过在TOP中例化得到了,然后生成的网表里也有,如下:
  PI UPI_RST ( .PAD(RST), .C(PAD_RST) );
  PI UPI_CLK ( .PAD(CLK), .C(PAD_CLK) );
  PI UPI_SCL ( .PAD(SCL), .C(PAD_SCL) );
但是POWER PAD是怎么加进去的?我是直接手动写在网表中的,如下:
  PVDD1 UVDD1 ( .VDD(VDD) );
  PVSS1 UVSS1 ( .VSS(VSS) );
  PVDD2 UVDD2 ();
  PVSS2 UVSS2 ();
我用自己的设计按照lab的操作顺序,执行到
derive_pg_connection -power_net VDD  -power_pin VDD  -ground_net VSS  -ground_pin VSS
时报如下错误:
Error: Net VDD is not a power net. (MWUI-714)
derive pg failed
然后我打入:create_net -power VDD
Error: Net 'VDD' already exists in design 'I2C_Top'.  (UIED-13)
0
还有就是上面的网表中添加PAD的方法是我在网上看到的,不知道对不对,初学者求高手指点,非常感谢!!
 楼主| 发表于 2012-9-22 11:40:54 | 显示全部楼层
没人回呀,自己顶一个
 楼主| 发表于 2012-9-24 10:16:22 | 显示全部楼层
还是没人帮忙呀。。。。
发表于 2012-9-26 13:46:46 | 显示全部楼层
解决么  我也遇到这个问题了  ????  解决了 给我说下思路!!
发表于 2012-10-21 14:23:38 | 显示全部楼层
在你的网表里,把
PVDD1 UVDD1 ( .VDD(VDD) );
   PVSS1 UVSS1 ( .VSS(VSS) );
都删掉,重新写一个PAD的约束文件,再derive_pg_connection -power_net VDD  -power_pin VDD  -ground_net VSS  -ground_pin VSS
 楼主| 发表于 2012-10-22 09:34:34 | 显示全部楼层
回复 5# prolity


    PAD约束文件怎么写的?谢谢!
发表于 2012-10-23 23:42:31 | 显示全部楼层
回复 6# HP_ccyz2012


    # Create corners and P/G pads
create_cell {cornerll cornerlr cornerul cornerur}   PCORNER
create_cell {vss1left vss1right vss1top vss1bottom} PVSS1
create_cell {vdd1left vdd1right vdd1top vdd1bottom} PVDD1
create_cell {vss2left vss2right vss2top vss2bottom} PVSS2
create_cell {vdd2left vdd2right vdd2top vdd2bottom} PVDD2
# Define corner pad locations
set_pad_physical_constraints -pad_name "cornerul" -side 1
set_pad_physical_constraints -pad_name "cornerur" -side 2
set_pad_physical_constraints -pad_name "cornerlr" -side 3
set_pad_physical_constraints -pad_name "cornerll" -side 4
# Define signal and PG  pad locations
# Left side
set_pad_physical_constraints -pad_name "pad_t2ex" -side 1 -order 1
set_pad_physical_constraints -pad_name "p2_0_o" -side 1 -order 2
set_pad_physical_constraints -pad_name "p2_1_o" -side 1 -order 3
set_pad_physical_constraints -pad_name "p2_2_o" -side 1 -order 4
set_pad_physical_constraints -pad_name "p2_3_o" -side 1 -order 5
set_pad_physical_constraints -pad_name "p2_4_o" -side 1 -order 6
set_pad_physical_constraints -pad_name "p2_5_o" -side 1 -order 7
set_pad_physical_constraints -pad_name "p2_6_o" -side 1 -order 8
set_pad_physical_constraints -pad_name "p2_7_o" -side 1 -order 9
set_pad_physical_constraints -pad_name "vdd2left" -side 1 -order 10
set_pad_physical_constraints -pad_name "vdd1left" -side 1 -order 11
set_pad_physical_constraints -pad_name "vss1left" -side 1 -order 12
set_pad_physical_constraints -pad_name "vss2left" -side 1 -order 13
set_pad_physical_constraints -pad_name "pad_rxd" -side 1 -order 14
set_pad_physical_constraints -pad_name "pad_txd" -side 1 -order 15
set_pad_physical_constraints -pad_name "p3_0_i" -side 1 -order 16
set_pad_physical_constraints -pad_name "p3_1_i" -side 1 -order 17
set_pad_physical_constraints -pad_name "p3_2_i" -side 1 -order 18
set_pad_physical_constraints -pad_name "p3_3_i" -side 1 -order 19
set_pad_physical_constraints -pad_name "p3_4_i" -side 1 -order 20
set_pad_physical_constraints -pad_name "p3_5_i" -side 1 -order 21
set_pad_physical_constraints -pad_name "p3_6_i" -side 1 -order 22
set_pad_physical_constraints -pad_name "p3_7_i" -side 1 -order 23

# Top side
set_pad_physical_constraints -pad_name "p0_7_i" -side 2 -order 1
set_pad_physical_constraints -pad_name "p0_6_i" -side 2 -order 2
set_pad_physical_constraints -pad_name "p0_5_i" -side 2 -order 3
set_pad_physical_constraints -pad_name "p0_4_i" -side 2 -order 4
set_pad_physical_constraints -pad_name "p0_3_i" -side 2 -order 5
set_pad_physical_constraints -pad_name "p0_2_i" -side 2 -order 6
set_pad_physical_constraints -pad_name "p0_1_i" -side 2 -order 7
set_pad_physical_constraints -pad_name "p0_0_i" -side 2 -order 8
set_pad_physical_constraints -pad_name "pad_int0" -side 2 -order 9
set_pad_physical_constraints -pad_name "vdd2top" -side 2 -order 10
set_pad_physical_constraints -pad_name "vdd1top" -side 2 -order 11
set_pad_physical_constraints -pad_name "vss1top" -side 2 -order 12
set_pad_physical_constraints -pad_name "vss2top" -side 2 -order 13
set_pad_physical_constraints -pad_name "pad_int1" -side 2 -order 14
set_pad_physical_constraints -pad_name "p3_7_o" -side 2 -order 15
set_pad_physical_constraints -pad_name "p3_6_o" -side 2 -order 16
set_pad_physical_constraints -pad_name "p3_5_o" -side 2 -order 17
set_pad_physical_constraints -pad_name "p3_4_o" -side 2 -order 18
set_pad_physical_constraints -pad_name "p3_3_o" -side 2 -order 19
set_pad_physical_constraints -pad_name "p3_2_o" -side 2 -order 20
set_pad_physical_constraints -pad_name "p3_1_o" -side 2 -order 21
set_pad_physical_constraints -pad_name "p3_0_o" -side 2 -order 22

# Right side
set_pad_physical_constraints -pad_name "p1_7_i" -side 3 -order 1
set_pad_physical_constraints -pad_name "p1_6_i" -side 3 -order 2
set_pad_physical_constraints -pad_name "p1_5_i" -side 3 -order 3
set_pad_physical_constraints -pad_name "p1_4_i" -side 3 -order 4
set_pad_physical_constraints -pad_name "p1_3_i" -side 3 -order 5
set_pad_physical_constraints -pad_name "p1_2_i" -side 3 -order 6
set_pad_physical_constraints -pad_name "p1_1_i" -side 3 -order 7
set_pad_physical_constraints -pad_name "p1_0_i" -side 3 -order 8
set_pad_physical_constraints -pad_name "pad_t2" -side 3 -order 9
set_pad_physical_constraints -pad_name "vdd2right" -side 3 -order 10
set_pad_physical_constraints -pad_name "vdd1right" -side 3 -order 11
set_pad_physical_constraints -pad_name "vss1right" -side 3 -order 12
set_pad_physical_constraints -pad_name "vss2right" -side 3 -order 13
set_pad_physical_constraints -pad_name "pad_clk" -side 3 -order 14
set_pad_physical_constraints -pad_name "pad_rst" -side 3 -order 15
set_pad_physical_constraints -pad_name "p0_7_o" -side 3 -order 16
set_pad_physical_constraints -pad_name "p0_6_o" -side 3 -order 17
set_pad_physical_constraints -pad_name "p0_5_o" -side 3 -order 18
set_pad_physical_constraints -pad_name "p0_4_o" -side 3 -order 19
set_pad_physical_constraints -pad_name "p0_3_o" -side 3 -order 20
set_pad_physical_constraints -pad_name "p0_2_o" -side 3 -order 21
set_pad_physical_constraints -pad_name "p0_1_o" -side 3 -order 22
set_pad_physical_constraints -pad_name "p0_0_o" -side 3 -order 23

# Bottom side
set_pad_physical_constraints -pad_name "p1_0_o" -side 4 -order 1
set_pad_physical_constraints -pad_name "p1_1_o" -side 4 -order 2
set_pad_physical_constraints -pad_name "p1_2_o" -side 4 -order 3
set_pad_physical_constraints -pad_name "p1_3_o" -side 4 -order 4
set_pad_physical_constraints -pad_name "p1_4_o" -side 4 -order 5
set_pad_physical_constraints -pad_name "p1_5_o" -side 4 -order 6
set_pad_physical_constraints -pad_name "p1_6_o" -side 4 -order 7
set_pad_physical_constraints -pad_name "p1_7_o" -side 4 -order 8
set_pad_physical_constraints -pad_name "pad_t0" -side 4 -order 9
set_pad_physical_constraints -pad_name "vdd2bottom" -side 4 -order 10
set_pad_physical_constraints -pad_name "vdd1bottom" -side 4 -order 11
set_pad_physical_constraints -pad_name "vss1bottom" -side 4 -order 12
set_pad_physical_constraints -pad_name "vss2bottom" -side 4 -order 13
set_pad_physical_constraints -pad_name "pad_t1" -side 4 -order 14
set_pad_physical_constraints -pad_name "p2_0_i" -side 4 -order 15
set_pad_physical_constraints -pad_name "p2_1_i" -side 4 -order 16
set_pad_physical_constraints -pad_name "p2_2_i" -side 4 -order 17
set_pad_physical_constraints -pad_name "p2_3_i" -side 4 -order 18
set_pad_physical_constraints -pad_name "p2_4_i" -side 4 -order 19
set_pad_physical_constraints -pad_name "p2_5_i" -side 4 -order 20
set_pad_physical_constraints -pad_name "p2_6_i" -side 4 -order 21
set_pad_physical_constraints -pad_name "p2_7_i" -side 4 -order 22
仅供参考。你试试看行不行哈。
发表于 2012-10-23 23:58:59 | 显示全部楼层
回复 7# prolity


    想请问,ICC里究竟是如何识别power 和 ground的,如果是通过IO类型识别,那么在网表里声明应该就可以了,向你刚刚那种通过命令添加IO的方式,也只能通过IO类型来判断啊?不了解,求指教。
发表于 2012-10-24 08:23:56 | 显示全部楼层
同为新手,来讨论讨论。。
现在做的流程里面,IO和PAD都没有写在网表中,而是自己创建之后place的。

另外我觉得网标里声明POWER和GROUND有点不对劲,网表里没有PIN和PORT的物理位置呀。
我查了下tsmc给的lef文件里,电源pin,port带有 USE POWER 的记述,·mw 的database应该是基于lef创建的吧
 楼主| 发表于 2012-10-25 15:42:41 | 显示全部楼层
回复 7# prolity


    谢谢!
我把网表里的port去掉了,按照上面你说的这样做过一次,但是还是没有出现像例子里那样的电源和地环,不知道什么原因,求高手赐教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-6-1 18:30 , Processed in 0.026053 second(s), 6 queries , Gzip On, Redis On.

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