微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > DC综合进阶问题——深入探讨脚本综合一些细节问题

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

时间:10-02 整理:3721RD 点击:
(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时钟,所以这样的方式并不是太理想,还望前辈能多给点儿建议

我只把我有把握的说下,工作一年多的来献丑了。
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。

谢谢clean_water的回答,不过很多问题还是没有解决,对于前面你的回答,我想说一下,不知道你公司数字部分分得那么细,我们这边后端是从DC——PR——PT——LVS&DRC,所以没有专门的DC部门,前端的数据也需要我们自己去整理,所以期待后面更多前辈的回答,不过还是很感谢你的交流

顶上来了~

其他的问题,请看陈小编每日一题。
说句公道话: ICC可以看得到holdviolation

每日一题里没有查到相关内容

唉~又要沉了

同问坐等大神

不好意思, 请问"每日一题"在哪?
我没有找到, 可否提供链接. 谢谢.

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还分好多种呢。



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

每日一题在哪里 我怎么没有找到啊?

再顶上去,看看还有没有大神指点啊~

过来看看。还有什么东西要学习啊

光看没用,多交流,探讨才是出路

clock uncertainty需要设置到30%么?太大了吧?

这个需要根据当时项目的具体要求视情况而定

正在学习综合!想问一下,关于综合后log等都需要看些什么东西?

主要看错误和警告啊

学习中。望大神继续补充



这东西必须大家一起讨论的,还望多写写自己的看法

标题

我是新手上路,很多问候还很迷糊。不敢乱发言,生怕误导了别人。我也刚发了一个贴子,从这贴子你应能看出我是很新的新手。有时间请帮我回答一下。不胜感激。

多多交流吧,我也是从这个论坛成长起来的,不过现在论坛已经衰落了,很多大神都走了,我估计也快了

顶上来了~

工作了一段时间,说下我对综合的理解吧,如果有不对的地方,欢迎大神指正。
(1)、对于综合来说,主要关心setup问题,貌似不关心hold问题,对网表做组大程度地setup优化,可以史电路可以工作在最快的时钟下,对于hold问题一般交给后端解决。
(2)、set operation conditions设定,芯片时序分析条件,一般来说设置成ocv,具体原因忘记了,不敢胡乱说,建议看一下dc或者pt的user guide,里面有详细的解释
(3)、set_wire_load_model是线的估算模型,90ns一下,库中的模型不再准确一般使用zero的模型,当然这种情况对于综合来说需要有更大的margin,90以上?不知道选择原则是什么,当年做90以上的项目时很懵懂。
(4)、driving_cell在时序分析阶段,模拟端口外部有个器件在驱动输入端口,一般来说选择驱动能力比较小的Burrer,个人认为对于module级综合可以使用这种方法,但是对于top级综合用这个就不准确了,因为实际芯片工作你不可能使用一个库里的器件驱动整个芯片?
(5)、时钟的latency、uncertainty、transition设定应该具体情况具体分析,如果1mhz的时钟设成30%,那就太大了,最好还是找下后端人员,不同的工艺节点这些值貌似不同,注意在设置uncertainty时别忘了加上pll的jetter。个人觉得latency在综合时只是个估算的结果,但是在post sta时需要在网表中将时钟路径报出来,替换估算的结果。
(6)、对于input delay、output delay、input transition、output transition这些值,一般来说在芯片项目开发之初对订下来芯片的外设都是什么,到外设手册上查找每个端口的时序,然后计算出来这些值。如果没有手册建议设上一个比较宽松的约束例如40%,如果没有约束对于DC来说它不知道怎么做极有可能乱做。
(7)、hold不要去管,大概看一下路径是否正常就好,如果不正常很有可能是约束的问题,建议修改掉,否则后端按照错误的约束优化电路就杯具了。

mark
mark
mark
mark
mark

看着大神们的讨论,挺不错的,学到很多,我在DC的时候,看违例报告,发现会出现很多hold违例的,老师也说DC的时候不用考虑这个,但是一直不理解为什么呢?

必须赞啊,解答很好

顶贴赚积分

看着三年前的帖子,,,,,,新得不能再新的新人,,,,实在是对DC不太懂啊,,,就没有模板吗?参数设置根据什么呢,到现在一脸蒙逼。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top