综合DC/RC--要点

综合的注意事项

Q1.1 需要fix hold吗?
不需要,hold交由后端去做就好了。
所以综合时,不需要读入min.lib,不用设wc_bc等复杂的选项

Q1.2 综合出来的网表如何验证?
如RTL做形式验证
gate-sim (网表仿真)。不要用延迟。
不需要从DC输出SDF,因为那个根本不准,而且它也无法保证没有hold违反

 

Q1.3 如何让DC自动插入clock gating
在脚本中加入
set power_cg_always_enable_registers true
set_max_leakage_power 0.0
set_max_dynamic_power 0.0
set_clock_gating_style (指定ICG)

insert_clock_gating
replace_clock_gates

 

Q1.4 综合时要检查哪些项目?
最最起码要做,
综合前,check_design,check_timing,保证所有的path都有约束(含timing exception)
综合后,report_timing, report_constraint,report_area,report_power,report_qor

 

Q1.5 如何解决综合后setup的违法?
多综合几遍
检查约束是否合理
最后只好改RTL了

 

Q1.6如何判断约束是否合理?
什么是合理的约束还真不好说,但是下面是一些不合理的情况,遇到了一定得解决
2#楼里面所列约束项目不完整的
startpoint或endpoint的clock cycle特别大的,说明那是异步时钟
某个cell或net延迟很大的,可能是clock net当作signal用了,设了dont_touch

 

Q1.7如何得到更好的网表?
对于DC,一般人们都喜欢把clockperiod调小一点(10~25%),那样DC会给你个timing比较好的网表,但是代价的面积的增大和功耗的增加。当然,你调clockuncertainty也有同样的效果

 


输出verilog netlist如何设置大小写不敏感?
define_name_rules -case_insensitive ...
change_names
ungroup使用
http://bbs.eetop.cn/thread-315456-1-6.html

 


你可能感兴趣的:(IC设计)