时钟树优化与有用时钟延迟
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时钟树优化与有用时钟延迟
时钟树优化与有用时钟延迟在后端时序修正基本思路提到了时序优化的基本步骤。其中,最关键的阶段就是时钟树建立。基本的优化都优先在数据路径上进行,并且希望路径尽量的短,最好在一个时钟周期之内。当然,如果考虑输入、输出延迟,收敛悲观因素,库的建立时间,与时钟不确定性,以及不同时钟沿触发等因素,这个要求还要进一步的压缩,这些将在以后陆续进行讨论。
通常,我们希望时钟树偏差(clock tree skew) 越小越好,目标为零。所以,在建立时钟树(CTS)之前,我们首先将时钟设定为理想时钟。这样的好处是,优化数据路径时,不会对时钟路径有额外的修改。而且,因为排除了时钟的影响,可以看到最终优化的结果,是否能够满足时序的要求。如果不满足,最要考虑的就是数据路径组合逻辑是否太多,导致延迟过长。其他,可以估计一下RC延迟所占的比例,比如15%左右,过长时,检查是否路径逻辑单元之间是否间隔的太长等等。不过,本文重点要讨论的是,路径过长时,如何通过增加有用时钟延迟(useful skew) 来达到时序的满足。
IC compiler 有这样的命令skew_opt ,还有其两次流程(two pass)可供参考。