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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 13573|回复: 38

[原创] icc2enc脚本+后端问题

[复制链接]
发表于 2019-12-23 16:45:15 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 andy89926 于 2019-12-25 14:15 编辑

没想到一把年纪又开始做数字后端,碰到一些问题,想跟各位大佬请教一下:

1、DC的综合我是用的worst condition,ss0p88c125的,约束也相对比较紧,完事write_sdc生成的sdc可以直接给PR工具吗?dont_touch、drive cell、wire_load_mode 这些需要去掉吗? 还是说约束要放松一点给PR? 不做compile,直接输出的sdc可以用吗?

2、我PR用的INNOVUS,因为对C家的工具稍微熟悉一点。PR完后的网表和spef又到PT去做signoff,发现大量的hold违例,我明明有做前后CTS optimization和route optimization,怎么看起来hold一点都没被优化呢?难道我的MMMC有问题?这个我就设置了两个corner,一个最好一个最差,是不是太极端了收敛不了?

3、PR没法搞定hold,我只好在PT里fix_eco_timing,需要插一大堆的buffer,我设计才2W的面积,居然eco要插入1300面积的buffer,是不是不正常?

4、PT上eco完了update timing,hold是好了,可是slack也只有0.0几ns,太小了,怎么让它插多点,让slack大一点呢?
为了方便讨论,我把主要的脚本也贴上来吧。
另外贡献一个eco转换的脚本,PT吐出来的脚本不支持INNPVUS,我自己写了个转换,亲测可用。不过只能插buff儿,不能change size。

另外吐槽一下ICC的教程ICC-RM_H-2013.03 ,一大堆的脚本文件,每个脚本才几句话,为什么不合在一个文件里呢,叫人翻的头疼,不如INNOVUS的教程Innovus_IEEE1801,几个文件简单明了。

innovus.zip

6.75 KB, 下载次数: 186 , 下载积分: 资产 -2 信元, 下载支出 2 信元

icc2enc.zip

686 Bytes, 下载次数: 246 , 下载积分: 资产 -2 信元, 下载支出 2 信元

DC.zip

1.5 KB, 下载次数: 105 , 下载积分: 资产 -2 信元, 下载支出 2 信元

pt_postPR.zip

3.63 KB, 下载次数: 155 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2019-12-23 16:59:40 | 显示全部楼层
我的一点儿想法:
1. 约束按+25%综合。完事后给后端sdc可以直接给,他们会改。你自己做PR,就自己改了去PR。拿掉ideal_net_work, dont_touch,wire_load_mode。drvice cell保留啊你是模块级别的得有
2. 和 3 是一个问题。你去看看cts的结果,是不是tree不对。很不平的话,靠后面optdesign -hold,是搞不掉的。硬来,就是插超级多的buffer, 就不太正常。
 楼主| 发表于 2019-12-23 17:46:18 | 显示全部楼层


axxqql 发表于 2019-12-23 16:59
我的一点儿想法:
1. 约束按+25%综合。完事后给后端sdc可以直接给,他们会改。你自己做PR,就自己改了去PR ...


谢谢你的意见,我明白你的意思了
我这是个小模块,自己前端后端一条龙,那就是DC吐sdc之前要把约束给放开一点,频率降低一点,然后再写出sdc给PR,太紧了不好,对吧?

是在clock tree debugger里看tree吧,我看了的,挺平的啊,幅度在0.1n以内,算不错了吧,衡量tree好不好就看平不平吧?

我先试试放开些约束吧,我记得我试过的,DC时钟周期从1.5ns放松到2ns,也不好使,hold没搞对。我再一次。
发表于 2019-12-23 21:15:26 | 显示全部楼层
thanks
发表于 2019-12-24 12:40:39 | 显示全部楼层
INNOVUS 跑 postCTS, postRoute optDesign 之前要先用 setOptMode 设置一下,可以把 -holdTargetSlack 加大一点。
也许 setAnalysisView 没有设对。 Hold 最悲观的 view 没有设对。

通常 INNOVUS 出网表+DEF或GDS, Quantus从DEF/GDS 产生 SPEF。
Netlist+SPEF -> Tempus.  Tempus can automatically generate ecoAddRepeater commands for hold fix.  
 楼主| 发表于 2019-12-24 15:41:11 | 显示全部楼层
本帖最后由 andy89926 于 2019-12-24 15:42 编辑


jake 发表于 2019-12-24 12:40
INNOVUS 跑 postCTS, postRoute optDesign 之前要先用 setOptMode 设置一下,可以把 -holdTargetSlack 加大 ...


谢谢,又学到了
还想问一下,
我的setAnalysisMode就这么一句话,没有-lib -max什么的,可以吗?
setAnalysisMode -analysisType onChipVariation -cppr none

MMMC里是用最ff的lib和RCbest来组成hold view的。

INNOVUS 自己不是可以extract RC然后写出spef么?不如Quantus准吗?还是完全不能用。因为我用INNOVUS的timing debug看到的和PT里反应的完全不一样,timing debug看到setup有一半的路径违例,一两条hold违例,可是PT里却setup毫无问题,hold有几十条违例很多。 约束条件是一样的。 我怀疑timing debug是不是不准,还是哪里设置错了


发表于 2019-12-24 16:25:51 | 显示全部楼层
其实我很好奇你的sdc为什么有两个?差别从名字上看是ss和ff,这是啥?孤陋寡闻了。一般mmmc 多mode是说function mode和test mode,你这个是么?
你这个里面有powerdomain吧,那你留意一下两个domain之间,是不是有不对劲,如果iso没整好,timing也会怪怪的。
理论上innovus和tempus不会差太大,一家的东西,引擎算法都差不多。你过一下设置,比如si啦,derate啦,ocv啦。
 楼主| 发表于 2019-12-24 16:41:47 | 显示全部楼层
本帖最后由 andy89926 于 2019-12-24 16:46 编辑


axxqql 发表于 2019-12-24 16:25
其实我很好奇你的sdc为什么有两个?差别从名字上看是ss和ff,这是啥?孤陋寡闻了。一般mmmc 多mode是说func ...


感谢回复,

两个sdc其实是主要内容一样的,弄两个就是为了解决一个warning。
因为sdc里driving_cell设置的是-library fsh0l_ers_generic_core_ss0p99v125c -lib_cell INVTLERMX1,而ff的lib set里没有fsh0l_ers_generic_core_ss0p99v125c ,读hold view的时候就会报个warning,
所以我又弄了一个sdc,在里面把driving_cell改成对应的-library fsh0l_ers_generic_core_ff1p21v0c -lib_cell INVTLERMX1.

powerdomain学着例程弄了一下,例程里有两个,我就只设置一个,所以没有iso。我应该可以去掉这个东西吧?

我刚按照楼上的仁兄的办法弄一套流程下来,至少把timing debugger给过了。
首先把约束放松了1倍,然后在 postCTS阶段设置  -setupTargetSlack 0.5 , postRoute 阶段 -holdTargetSlack 0.2  -setupTargetSlack 0.3, 才勉强把PR阶段的违例都解决了。
下一步就是加紧约束,难道这就是传说中的timing closure?有内味儿了。。

还没解决的就是INNOVUS和PT区别太大的问题,还在摸索。


 楼主| 发表于 2019-12-24 16:44:36 | 显示全部楼层
我想知道这种规模(2W area 400M)的设计,老手来做是不是半个下午就搞定了
发表于 2019-12-24 17:29:42 | 显示全部楼层


andy89926 发表于 2019-12-24 16:44
我想知道这种规模(2W area 400M)的设计,老手来做是不是半个下午就搞定了


也看吧。。看难点卡哪里了。。。形状不拐,层数不太少,时序不苛不是超级快....  跑不跑tempus, voltus, lvs/drc/ant。。。

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

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-25 08:54 , Processed in 0.030069 second(s), 7 queries , Gzip On, Redis On.

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