马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 keelinx 于 2011-10-13 14:54 编辑
在55工艺下使用传统的综合方式遇到如下问题:
在worst case(ss_1.08_125)下综合的网表,timing clean,但是在(ss_1.08_m40)这个corner下有setup violation。
我们使用如下方法,均遇到问题。
1)在125 corner下使用compile_ultra -scan -gate_clock综合网表,在m40 corner下读入ddc文件,再做增量编译(compile_ultra -incr),会发生错误,认为之前综合使用的125库中的clock gate单元和m40库有冲突。
2 )在125 corner下使用compile_ultra -scan -gate_clock综合网表,在m40 corner下读入netlist文件,再做增量编译(compile_ultra -incr),但在插扫描链的时候,发现很多带clock gate的寄存器无法插到扫描链上。 3)在125 corner下使用compile_ultra -scan 综合网表,在m40 corner下读入netlist文件,再做增量编译(compile_ultra -gate_clock -incr),发现扫描链可以插上,但是timing达不到要求。 每一个corner有一个独立的db文件,每次更换corner都是重新读入db文件,重设$target_library。
请问在不使用MCMM流程的情况下,使用怎样的流程才可保证网表在ss_1.08_125和ss_1.08_m40两个corner下都满足timing的要求?
另外,是不是在DC综合时,我只需要保证在worst case(ss_1.08_125)下综合的网表,timing clean就可以了。而在(ss_1.08_m40)这个corner下的setup violation,用后端fix就可以了呢? |