ICC_lab总结——ICC_lab4:时钟树综合

时钟树综合的理论知识总结在这里:http://www.cnblogs.com/IClearner/p/6580034.html

下面是实践环节:使用ICC进行时钟树综合。

这个实验的目标是:

  ·设置CTS的选项和例外

  ·综合时钟树

  ·生成和分析时钟树偏差和时序报告,以确定CTSQoR

  ·修复保持时间违例并优化设计以获得更好的面积

  ·使用非默认布线规则对时钟网络进行布线

  ·分析布线后的时钟网络

在实验之前需要准备下面的文件:

 

 

 

 

圈圈那个文件是对标准单元布局好的设计,其他的三个脚本文件如上所述,需要我们进行自己编写。准备好数据后(库什么的就不用说了,自己解决),就可以开始实验了:

·打开设计,检查时钟树

--->打开库,再打开设计

--->查看时钟的偏移与一些属性:report_clock skew  -attributes

--->查看时钟树的总体情况:report_clock_tree  -summary

--->检查是否有违规:report_constraint   -all

--->通过GUI查看是否有时序例外的端口

·时钟树综合前的准备

1--->把有时序例外的管脚设置为stop_pin:set_clock_tree_exceptions  -stop_pins   

  {I_SDRAM_TOP/I_SDRAM_IF/sd_mux_*/S}

2--->将所有时钟的时钟目标偏移设置为0.1。 从默认值0放宽偏斜目标将加快时钟树合成:set_clock_tree_options  -target_skew  0.1

3--->调整CTS后时序分析和优化的时钟不确定性指:set_clock_uncertainty 0.1 [all_clocks]

4--->指定在CTS的“DRC缓冲”阶段使用的缓冲区:set_clock_tree_references -references   {bufbd1 bufbd2 bufbd4 bufbd7 bufbdf}

5--->配置CTS使用非默认布线:

define_routing_rule  CLOCK_DOUBLE_SPACING \

-spacings {METAL3 0.42 METAL4 0.63 METAL5 0.82}

report_routing_rule CLOCK_DOUBLE_SPACING

set_clock_tree_options -routing_rule CLOCK_DOUBLE_SPACING \

-layer_list {METAL3 METAL5} -use_default_routing_for_sinks 1

6--->查看检查报告,验证已经进行了设置:

v report_clock_tree  -settings

7--->进行物理检查:

check_physical_design  -stage  pre_clock_opt  -display

8--->设置(时钟树)延迟计算模式:

set_delay_calculation clock_arnoldi ;注意,在后面新的版本里面,已经不适合直接使用–clock_arnoldi的选项了,需要进行修改;这么修改可以进行man这个命令

9--->最后再检查一下:check_clock_tree

·进行时钟树综合

1--->合成所有时钟树,无需任何时序优化或布线:

clock_opt only_cts no_clock_route

2--->查看CTS之后的全局偏移总结:report_clock_tree -summary

使用clock timing命令生成不同的偏差报告:

report_clock_timing -type skew -significant_digits 3

3--->生成时序报告:v report_timing

4--->生成所有的违规报告,并查看:v  report_constraint -all

5--->保存设计:save_mw_cel -as clock_opt_cts

·进行保持时间优化

1--->启用保持时间修复:set_fix_hold [all_clocks]

2--->查看报告:report_qor

3--->进行面积范围设置:

set_max_area 0

## Set Area Critical Range

## Typical value: 5 percent of critical clock period

set physopt_area_critical_range 0.2

4--->RC参数的提取:extract_rc

5--->执行CTS后无时钟布线的时序、面积和扫描链优化:

clock_opt -only_psyn -area_recovery -optimize_dft -no_clock_route

6--->查看报告和违规:

report_qor

report_constraint -all

7--->保存设计:save_mw_cel -as clock_opt_psyn

·进行时钟树布线

1--->时钟树布线:route_zrt_group -all_clock_nets -reuse_existing_global_route true

2--->查看是否违规:report_constraint -all

3--->保持设计:save_mw_cel -as clock_opt_route

4--->查看物理设计:report_design -physical

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值