news 2026/10/20 2:34:04

静态时序分析:移除时间检查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
静态时序分析:移除时间检查

相关阅读

静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm=1001.2014.3001.5482


目录

介绍

发射时钟和捕获时钟相同

发射时钟和捕获时钟不同


介绍

在静态时序分析中,移除时间检查约束了触发器时钟引脚(时钟路径)和异步复位(包括异步置位)引脚(数据路径)之间的时序关系,以满足触发器的移除时间要求。简单来说就是,移除时间要求复位释放在时钟的有效沿到达之后一段时间再到达,这是为了数据被有效(锁存)捕获(这时的数据指的应该是复位值),关于异步复位的更详细介绍,可以参考下面的博客。

数字IC前端学习笔记:异步复位,同步释放https://chenzhang.blog.csdn.net/article/details/134481964?spm=1011.2415.3001.5331

通常来说,在检查一条时序路径时会有一个发射触发器,即发射数据的触发器(就算是输入端口也会有一个假想的发射触发器);还有一个捕获触发器,即捕获数据的触发器(就算是输出端口也会有一个假想的捕获触发器),在进行移除时间检查时,我们会使用最小路径即延迟最小的时序路径。

有一点需要特别注意,发射触发器和捕获触发器的时钟并不一定是同一个时钟,虽然在同步设计中常常能保证这一点。移除时间检查是从发射时钟的某个有效沿到其后捕获时钟的最近有效沿(不包括同时)的前一个有效沿,这里的先后并不考虑时钟延迟(包括时钟网络延迟和时钟源延迟)、时钟不确定度的,即考虑理想情况。在同步设计中,由于理想情况下时钟是对齐的,因此发射(捕获)时钟的任何一个沿的检查都是等效的。

发射时钟和捕获时钟相同

例如对于图1,假设使用复位同步器,图中有三个同步的D触发器,考虑发射触发器是reset_sync_ff2_reg而捕获触发器是data_out_reg的情况。

图1 一个简单的例子

图2是时钟的波形图,周期为10ns,假设D触发器是上升沿触发,则发射触发器会在5ns、15ns、25ns...发射数据,而捕获触发器则相应的会在5ns、15ns、25ns...捕获数据并检查移除时间是否满足要求。

图2 时钟波形图

由于Design Compiler与PrimeTime的设置不同,默认不进行移除时间检查,需要先进行下面的设置。

enable_recovery_removal_arcs 默认值false timing_disable_recovery_removal_checks 默认值true /*它们永远保持相斥,可以将enable_recovery_removal_arcs设置为true,也可以将 timing_disable_recovery_removal_checks设置为fasle,DC会自动设置另一个变量。*/ set enable_recovery_removal_arcs true set timing_disable_recovery_removal_checks false //两者取一即可

使用report_timing -delay_type min命令可以报告时序检查结果,如图3所示就是从reset_sync_ff2_reg触发器的时钟引脚CK到data_out_reg触发器的复位引脚RN的时序路径的报告(报告中会出现library removal time关键词)。

图3 移除时间时序报告

图3中Path_type为min,表示这是一个移除时间检查(或最小延迟时间检查),注意将其与其他SDC命令中的-max和-min选项区分开,并不代表着-max指定的参数就只用于恢复时间检查,也不代表着-min指定的参数就只用于移除时间检查(这取决于工作模式是否为bc_wc模式还是on_chip_variation模式)。

从图3中可以看出,发射时钟选择了5ns时的上升沿而捕获时钟也选择了5ns时的上升沿,在报告的最后给出了时序检查的裕度(slack),在满足时序要求的设计中,裕度应该是正的并且留有一定的余量。

发射时钟和捕获时钟不同

下面来看一个发射时钟和捕获时钟不是同一个时钟的例子。以图4为例,此时reset_sync_ff2_reg触发器的时钟改为clk1,周期为16,如图5所示;而data_out_reg触发器的时钟改为clk2,周期为14,如图6所示。

图4 发射时钟和捕获时钟不同的例子

图5 时钟clk1的波形图

图6 时钟clk2的波形图

根据我们的规则,易知发射时钟的有效沿在8ns、24ns、40ns、56ns...,而捕获时钟需要检查的相应有效沿在7ns、21ns、35ns、49ns...。在进行移除时间检查时,会对最难满足条件的时钟沿时刻组合进行检查,即相隔最小的一组时刻,在本例中为发射时钟在8ns而捕获时钟在7ns时。图6的时序报告证明了这一分析。

图7 移除时间时序报告

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 2:33:08

37:雇佣兵

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/20 2:31:52

PyTorch手写ViT实战:猫狗分类从零调试到部署

简介:本资源是一个面向深度学习初学者的Vision Transformer(ViT)图像分类实践项目,聚焦计算机视觉中的经典任务——猫狗二分类,帮助学习者从零理解Transformer架构在CV领域的落地逻辑与注意力机制原理。压缩包共2000个…

作者头像 李华
网站建设 2026/10/20 2:31:51

Cocos2D-X雷电游戏代码拆解:跨平台射击游戏实战指南

简介:这是一份面向Android与iOS开发者的Cocos2D-X雷电射击游戏修改版源码,适合具备基础编程知识、想学习游戏模块划分或尝试二次修改的读者。项目覆盖启动菜单、游戏主循环、敌机生成、子弹碰撞、关卡管理、粒子特效与音效等核心环节,从游戏主…

作者头像 李华
网站建设 2026/10/20 2:31:37

Windows原生RAT源码:单文件、无依赖、模块化远控技术验证

简介:这是一份面向网络安全研究人员与逆向学习者的GH0st远控木马被控端单EXE改造源码,聚焦于免杀实践与轻量化部署场景。相比主流DLL注入或服务驻留型RAT,该版本将全部功能整合进单一可执行文件,显著降低检测痕迹,并已…

作者头像 李华
网站建设 2026/10/20 2:31:36

轻量级离线人脸识别全链路DEMO:检测+关键点+活体+编码一体化实现

简介:这是一份面向Android开发者的人脸识别技术实战DEMO,聚焦移动端人脸检测、特征提取与匹配全流程实现,适用于安全门禁、身份核验等场景的快速原型开发与SDK集成学习。资源包含1758个文件,主体为Java源码(42个&#…

作者头像 李华
网站建设 2026/10/20 2:31:36

JavaWeb学生成绩管理系统:Servlet+JSP教学实战指南

简介:这是一套基于JavaWeb技术实现的学生成绩管理系统完整开发资源,面向Java初学者、高校课程设计学生及Web开发入门者,解决教育场景中成绩录入、查询、统计与报表生成等核心管理需求。资源包共138个文件,涵盖27个Java源码&#x…

作者头像 李华