ICC_lab总结——ICC_lab4:时钟树综合
时钟树综合的理论知识总结在这里:http://www.cnblogs.com/IClearner/p/6580034.html
下面是实践环节:使用ICC进行时钟树综合。
这个实验的目标是:
·设置CTS的选项和例外
·综合时钟树
·生成和分析时钟树偏差和时序报告,以确定CTS的QoR
·修复保持时间违例并优化设计以获得更好的面积
·使用非默认布线规则对时钟网络进行布线
·分析布线后的时钟网络
在实验之前需要准备下面的文件:

圈圈那个文件是对标准单元布局好的设计,其他的三个脚本文件如上所述,需要我们进行自己编写。准备好数据后(库什么的就不用说了,自己解决),就可以开始实验了:
·打开设计,检查时钟树
--->打开库,再打开设计
--->查看时钟的偏移与一些属性: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
ICC_lab总结——ICC_lab4:时钟树综合的更多相关文章
- 【stm32】时钟树解析
有时候会突然忘了这个重要的时钟树,这里转载一个比较好的,以防忘记. STM32时钟系统 在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频 ...
- Linux下时钟框架实践---一款芯片的时钟树配置
关键词:时钟.PLL.Mux.Divider.Gate.clk_summary等. 时钟和电源是各种设备的基础设施,整个时钟框架可以抽象为几种基本的元器件:负责提供晶振 Linux内核提供了良好的CC ...
- STM32学习笔记:【001】时钟树与RCC
导言 如果学过单片机的同学应该不会陌生,学习51单片机时最经常听到的就是“最小系统”. 最小系统里面少不了晶振,否则单片机无法工作. 单片机需要晶振(时钟源)来工作,那么对于STM32芯片同样如此. ...
- EFM32G232F64时钟树
1.为了熟悉MCU的时钟树,先看看EFM32G232F64的CMU(ClockManagementUnit) 时钟管理单元(CMU)用于管控晶振(时钟源)和各个时钟节点.出于降低功耗和启动时间的目的, ...
- RCC—使用 HSE/HSI 配置时钟 ---时钟树
本章参考资料:< STM32F4xx 中文参考手册> RCC 章节.学习本章时,配合< STM32F4xx 中文参考手册> RCC 章节一起阅读,效果会更佳,特别是涉及到寄存器 ...
- RK3288 查看时钟树
主控端可以通过指令查看时钟树,enable_cnt为1,表示时钟已使能. # cat d/clk/clk_summary cat d/clk/clk_summary clock enable_cnt ...
- NUCLEO-L053R8 RCC时钟树 MCO输出
RCC时钟配置实验 最近玩了一下Nucleo-L053R8板子,即STM32L053R8T6.浏览了RCC章节后,顺便做了个小实验,现在给大伙分享一下. 实验非常简单,配置一下系统时钟,可以通过肉眼观 ...
- STM32 时钟树配置快速入门
layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 为什么要了解时钟树? ...
- STM32入门系列-STM32时钟系统,STM32时钟树
时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...
随机推荐
- 全球分布式数据库:Google Spanner(论文翻译)
本文由厦门大学计算机系教师林子雨翻译,翻译质量很高,本人只对极少数翻译得不太恰当的地方进行了修改. [摘要]:Spanner 是谷歌公司研发的.可扩展的.多版本.全球分布式.同步复制数据库.它是第一个 ...
- 记录UITextField删除状态
self.testTextField.leftView = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; self.testTextField. ...
- Linux文件权限及用户管理
/etc/passwd文件与 /etc/shadow文件/etc/passwd文件/etc/passwd文件主要存放登录名.UID等用户相关信息,用户登录密码存放在/etc/shadow文件中.例子: ...
- 数据库--iOS
1.创建表 @"create table if not exists Person(id integer primary key autoincrement,name text,gender ...
- jQuery 监听元素内容变化的方法
我们可以用onchange事件来完成元素值发生改变触发的监听.但是 onchange 比较适用于<input>.<textarea> 以及 <select> 元素. ...
- 开放才能进步!Angular和Wijmo一起走过的日子
Angular 已成为广受欢迎的前端框架.去年9月份,期待已久的 Angular2 的正式版发布之后,Angular 又迎来了新一轮热潮.伴随着 Angular 这一路走来,Wijmo 一直都是第一个 ...
- websevice(Web服务)基础
webservice简介: 1.WebService到底是什么? WebService是一种跨编程语言和跨操作系统平台的远程调用技术.所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户 ...
- Windows下composer的下载与配置
composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 下面记录一 ...
- CI Weekly #14 | 如何搭建合适的持续交付开发流程?
时隔 10 个月,flow.ci 开始正式收费上线.为感谢对我们的内测支持,所有内测用户可继续免费使用基础版 30 天,截止至 3 月 15 日失效.欢迎随时告诉我们你对收费版 flow.ci 的反馈 ...
- 解析jQuery中extend方法--源码解析以及递归的过程《二》
源码解析 在解析代码之前,首先要了解extend函数要解决什么问题,以及传入不同的参数,会达到怎样的效果.extend函数内部处理传入的不同参数,返回处理后的对象. extend函数用来扩展对象,增加 ...