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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 26901|回复: 36

[讨论] DC综合进阶问题——深入探讨脚本综合一些细节问题

[复制链接]
发表于 2013-3-20 10:25:36 | 显示全部楼层 |阅读模式

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

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

x
(1)、对于综合一开始我们需要target library和link library这个问题,我想请教一下,关于这个工艺角很多时候看得到一些前辈只用最差的情况,而有些前辈又会使用最差和最好两种情况,我想问问,这个在项目中应该如何去设定或者衡量?因为这个也是一个估算情况所以关于这个的设定对于后面综合完成后的结果会不会有什么不同?望指教~
(2)、对于set operation conditions这个的设定,现在一直使用的是“set_operation_conditions -analysis_type on_chip_variaton -library [get_libs {xxxx.db:xxxx}] -min xxx -max xxx”,也有看到一些项目里会去掉-analysis_type on_chip_variaton 这样的选项,这个也希望前辈能讲解一下~
(3)、对于set_wire_load_model 这个的选择一般选择在什么范围可以?是越小越好吗?
(4)、对于设定driving_cell器件,这个选择有什么需要考虑的呢?我看很多项目里都将这个设置在BUFX2或者BUFX4这个范围内?
(5)、对于时钟很慢的设计中如只有1MHz这样的情况,clock -priod 1000,这样情况下的latency、uncertainty、transition设定在什么范围比较好呢?因为论坛里有些大侠是说了一些经验值什么70%啊、30%啊什么的,但是如果像时钟周期很长的如本例中的1000又该如何去考虑和设定呢?补充如果工艺在.25um下
(6)、对于input delay、output delay、input transition、output transition一些关于input、output的设定对于我们Bankend人员可以向项目负责人那边询问些什么有用的值,比如像pad上的一些什么参数,然后根据这些我们又能怎么去设定呢?这个问题还望大神多多指点
(7)、最后想问问,我综合出来后用DC自带的时序检查工具查出来hold违例有很多,而且时序还是slack -4.24,想知道在综合时如何去修hold?之前用过set_fix_hold [list clk]因为设计中只有一个clk时钟,所以这样的方式并不是太理想,还望前辈能多给点儿建议
发表于 2013-3-20 11:14:18 | 显示全部楼层
我只把我有把握的说下,工作一年多的来献丑了。
1.DC综合的确是采用的最差的工艺库,因为最差的条件都满足了,其它的条件肯定会满足啊,要做好最坏的打算,呵呵~~
6.这些信息的设置,一般是做DC的去设置,在时钟定义好之后,做DC的会设置好这些信息,然后DC会出来报告,至少DC出来的setup等timing信息要没有违例,或者几乎可以忽略,不然这些参数的设置就不合理。PT和后端的要紧密结合去做floorplan,后端做好一版floorplan之后,然后给做PT的去分析,修复各种违例。然后又交给后端的人再做floorplan,如此反复,直到所有的违例都清掉,如果有些timing无法休掉的话,PT可以选择性的放松某些路径的timing或者后端的去调整floorplan的大小。
7.hold一般在DC时是不需要管的,DC一般只关注setup,不过听我们后端的说,ICC好像看不到hold违例,hold只能在PT里面看到,PT里面修复hold是用fix_eco_timing命令修复的。没用过DC去修复timing,反正我司用的是PT修复timing。
 楼主| 发表于 2013-3-20 12:27:42 | 显示全部楼层
回复 2# clean_water


    谢谢clean_water的回答,不过很多问题还是没有解决,对于前面你的回答,我想说一下,不知道你公司数字部分分得那么细,我们这边后端是从DC——PR——PT——LVS&DRC,所以没有专门的DC部门,前端的数据也需要我们自己去整理,所以期待后面更多前辈的回答,不过还是很感谢你的交流
 楼主| 发表于 2013-3-20 16:08:23 | 显示全部楼层
顶上来了~~~
 楼主| 发表于 2013-3-21 09:09:12 | 显示全部楼层
回复 5# zhq415758192


    每日一题里没有查到相关内容
 楼主| 发表于 2013-3-22 09:10:34 | 显示全部楼层
唉~~~又要沉了
发表于 2013-3-26 09:28:45 | 显示全部楼层
同问~~坐等大神
发表于 2013-4-3 23:21:37 | 显示全部楼层
回复 6# Synopsys-IC


   不好意思, 请问"每日一题"在哪?
   我没有找到, 可否提供链接. 谢谢.
发表于 2013-4-5 19:10:59 | 显示全部楼层
1. target_library是dc中mapping过程中的库,link_library是所有设计到的库。dc中不应该也无法考虑hold情况,所以只需要max库就可以了。当然你要加也可以,只是没有意思而已。
2. 同1,不考虑hold,你爱用什么都可以,这个指令是给PR和PT用的,你不用太在意。
3. 如果你能保证时钟频率很慢的情况下可以不用设置;如果不能保证timing一定满足,推荐使用最坏的,当然跑完一轮PR后反馈结果就大概知道了。
4. 这个跟模拟电路工程师说吧。不过经验是大部分他们给的驱动力都相当于数字电路X4的。
5. DC时钟都是理想的,不用考虑时钟的attribute。可能source latency有时需要考虑一下,这个是PR和PT考虑的东西。30%的是值uncertainy,这个跟wire_load_model差不多,都是给设计带来悲观的,到底悲观成什么样或是用什么方法,每个项目和每个公司不一样的,但是目的都一样,让设计更悲观以避免更多的反复。
6. input delay和output delay是根据设计估计出来的。其他是port的属性,这些要向模拟工程师要,具体代表什么意思要去看工艺库和书了,这里就不说了。
7. dc不修hold,没意义。就算在pr中修hold也要根据情况而定。hold还分好多种呢。。
 楼主| 发表于 2013-4-7 11:05:06 | 显示全部楼层
回复 11# dianyubaobei


    很感激兄台的指点,这里面就两点还想继续讨论一下,就是有关驱动这一块,我看兄台你有说到一般用BUFX4的来估算,我在项目中一般用的X2的大小的,主要是考虑到把设计尽量估计在很差的环境下,也希望能综合出好一些的网表,就这个想跟大家讨论一下,这个set_driving_cell是不是设置的越小越好呢?那样工具会尽量去满足,然后可以获得一个不错的netlist;
      第二个有关最后一个问题提到的hold的问题,虽然我们知道hold在dc里可能不会去修,但是我想它在综合的时候dc还是会考虑到去优化的吧?就像为什么工具里有这样一条指令“compile -only_hold_time”,而且我发现综合完后跑PT的hold违例有-4点多,所以我想看能不能在约束上加紧一些,不知道这个hold违例一般控制在多少可以交给后端去做,估计如果违例太大也不行吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-1 07:37 , Processed in 0.027250 second(s), 5 queries , Gzip On, Redis On.

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