DC中为什么越优化setup的违例越大呢
时间:10-02
整理:3721RD
点击:
DC中将setup优化到了-0.12,只用了compile_ultra 后来添加了 timing_high_effort_script选项,结果违例更大了;后来将这条path的group的weight由1改为2 再编译了一次 结果违例又增大了一些,请问这是怎么回事呢....
按理说应该越来越小才对啊
这条path是reg2in的path
我看了下报告,工具将LVT的cell替换为了HVT的cell,怎么感觉工具反着进行了,应该是LVT的delay才会小啊
不解啊!
1. 第二次编译要用-incremental,因为DC remapping能力很弱。
2. DC Path Group的正确用法是在次关键路径上增加weight。在最关键路径上增加weight只会有反效果。
多run几遍,有点感觉还行 ?
DC的N2N的能力一般,多次run的结果不一定比第一次好。
正确的做法是,compile_ultra -> compile_ultra -incre (可以多次)。对critical path的优化策略都放在第一次compile_ultra.
恩 我也发现了 还是多谢你的一直关注
N2N你是指?
netlist 到 netlist 优化。 DC的强项在于RTL到 netlist, 如果是netlist到netlist DC的能力比RTL compiler要弱
恩 原来这样;多谢啦! 你用过RTL Compiler没!
用过。个人认为比DC好用,不用记太多命令。 结果不好,比较容易去debug是工具还是设计的问题。
我以前也觉得DC很难Debug很难控制,比如Log打印的内容太少, 有些路径有时修得干净有时又会冒出来,后来证明是没有正确使用Path Group造成的。
三点Tips:
1. 即便不作特别设置,DC也会自动分配Path Group。可以report_path_group看看。
2. Path Group可以很明显影响结果质量,可尝试把所有路径归到default Group(即全局只有default一个Group)再Run一下,对比一下结果。
3. 变量compile_log_format可以控制Log打印的内容。