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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 265|回复: 3

[求助] innovus 做top 数字子模块的时钟长度怎么处理?

[复制链接]
发表于 2024-12-11 17:44:18 | 显示全部楼层 |阅读模式

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

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

x
请问用innovus 做top, 对于数字子模块,在place的时候带入子模块place后的db,在cts的时候换成子模块ropt后的db
1, 这种换db有命令吗?除了手动换
2,如果是cts的时候用的是ropt的子模块db,那做cts的时候还需要给到子模块的clk pin 设置insertion delay 吗?还是说工具可以根据lib信息知道里面时钟走了多长?然后和外面的做balance
3,为何数字的子模块需要注意子模块里面的时钟走了多长,但是对于usb phy,hdmi phy,mipi phy这些里面时钟却不用做特殊处理了,从头到尾就一个lib,也没设内部时钟长度




发表于 2024-12-13 14:06:42 | 显示全部楼层
本帖最后由 semon_lee 于 2024-12-13 14:17 编辑

1.只update过lib,cts 时用route后的lib,当然ILM也可以吧没有试过
2.cts 阶段是需要给加insertion delay的,要不然可能会拖长寄存器
3.子模块时钟一般都是从顶层送进去的,所以需要care 打平之后的整体树长是否均衡,否则flat 后skew 过大hold 搞不掉;其他IP一般和数字部分的时钟交互的比较少,所以不是很care,但是有问题的时候也要关注下的;
核心原则,确保flat后时钟平或者skew可控
个人经验有限,还望经验丰富的朋友交流指导下
 楼主| 发表于 2024-12-13 21:18:09 | 显示全部楼层


semon_lee 发表于 2024-12-13 14:06
1.只update过lib,cts 时用route后的lib,当然ILM也可以吧没有试过
2.cts 阶段是需要给加insertion delay的 ...


请问你lib 怎么得到的?pt 生成的还是innovus里面直接出的lib
发表于 2024-12-14 09:52:26 | 显示全部楼层
本帖最后由 semon_lee 于 2024-12-14 09:56 编辑


lgs4903483 发表于 2024-12-13 21:18
请问你lib 怎么得到的?pt 生成的还是innovus里面直接出的lib


1.pt 产生的可以,innovus 产生的也可以,但是innovus 出的有点慢,所以一般我都是pt 的;
2.需要注意的就是,update lib 的时候如果之前用的是innovus 的换成pt 的,可能出现update 失败的问题,最好是更换前后的lib 都是一个工具出的;
3.如果嫌麻烦,直接place 阶段吃block route后的lib也可以,只需要在place 阶段给block的clk标长度负值就可以,只是不是很准确而已;
4.目前看比较合适的方式还是ILM模型,相对能让工具在不同阶段care的多一些,能更精确些


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-12-24 04:09 , Processed in 0.017073 second(s), 6 queries , Gzip On, Redis On.

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