静态时序分析:保持时间分析

相关阅读

静态时序分析icon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12567571.html?spm=1001.2014.3001.5482


        在静态时序分析中,保持时间检查约束了触发器时钟引脚(时钟路径)和输入数据引脚(数据路径)之间的时序关系,以满足触发器的保持时间要求。简单来说就是,保持时间要求数据在时钟的有效沿到达之后依然稳定一段时间,这是为了数据被有效(锁存)捕获。

        通常来说,在分析一条时序路径时会有一个发射触发器,即发射数据的触发器(后面我们会知道,就算是输入端口也会有一个假象的发射触发器);还有一个捕获触发器,即捕获数据的触发器(后面我们会知道,就算是输出端口也会有一个假象的捕获触发器),每条时序路径会分析捕获触发器的保持时间是否满足。在进行保持时间检查时,我们会使用最小路径即延迟最小的时序路径。

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

 图1 一个简单的例子

        图2是时钟的波形图,周期为10ns,假设D触发器是上升沿触发,则发射触发器会在5ns、10ns、15ns...发射数据,而捕获触发器则相应的会在5ns、10ns、15ns...捕获数据并分析保持时间是否满足要求(注意,保持时间检查是在发射沿后的下一个捕获沿之前的一个捕获沿)。 

图2 时钟波形图

        使用report_timing命令可以报告时序分析结果,如图3所示就是从t_reg触发器的时钟引脚CK到data_out_reg触发器的输入引脚D的时序路径的报告。

图3 保持时间时序报告

        从图3中可以看出,发射时钟选择了5ns时的上升沿而捕获时钟也选择了5ns时的上升沿,在报告的最后给出了时序分析的裕度(slack),在满足时序要求的设计中,裕度应该是正的并且留有一定的余量(注意在这个例子中,DFF触发器的保持时间甚至为负,这是可以做到的)。

        下面来看一个发射时钟和捕获时钟不是同一个时钟的例子。还是拿图1作为例子,但t_reg触发器的时钟改为clk_1,周期为16,如图4所示;而data_out_reg触发器的时钟改为clk_2,周期为14,如图5所示。 

图4 时钟clk_1的波形图

图5 时钟clk_2的波形图  

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

图6 保持时间时序报告 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2799503.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

ArcgisForJS如何访问Arcgis Server?

文章目录 0.引言1.准备ArcGIS相关工具2.创建含有ArcSDE地理数据库的MXD文件3.注册ArcSDE地理数据库4.发布数据到Arcgis Server5.ArcgisForJS访问ArcGIS Server数据 0.引言 ArcGIS API for JavaScript 是一个用于在Web和移动应用程序中创建交互式地图和地理空间分析应用的库。它…

量子加密机的工作原理是什么

量子加密机,作为现代加密技术的一大飞跃,正逐渐成为信息安全领域的研究热点。与传统的加密方法相比,量子加密技术以其独特的优势,为信息安全提供了更为坚实的保障。 量子加密的核心在于利用量子力学的特性,尤其是量子纠…

【电子书】计算机课程

资料 wx:1945423050 个人整理了一些互联网电子书 计算机课程 Netty权威指南(第2版).epubSharePoint Server 2016 IT Pro 部署指南.epubTensorFlow自然语言处理.epubWebGIS之OpenLayers全面解析.epub从Paxos到Zookeeper分布式一致性原理与实践…

开篇:通过 state 阐述 React 渲染

前段时间开始着手React项目的开发,关于React的一些思想也有了一些体会(尤其是同vue之间的差异),特梳理&总结相关内容,便于理解。 ✓ 🇨🇳 开篇:通过 state 阐述 React 渲染 说在…

Java SE 入门到精通—基础语法【Java】

敲重点! 本篇讲述了比较重要的基础,是必须要掌握的 1.程序入口 在Java中,main方法是程序的入口点,是JVM(Java虚拟机)执行Java应用程序的起始点。 main方法的方法签名必须遵循下面规范: publ…

游戏配置二级缓存一致性问题解决方案

游戏服务器进程在启动的时候,一般会把所有策划配置数据加载到内存里,将主键以及对应的记录存放在一个HashMap容器里,这称为一级缓存。部分功能可能还需要缓存其他数据,这些称为二级缓存。举个例子,对于如下的玩家升级表…

电脑wifi丢失修复

当你打开电脑突然发现wifi功能不见了,可以先查看一下网卡的状态 在控制面板中找到设备管理器,打开就能找到网络适配器, 我这里是修复过的,wifi丢失后这里可能会显示WALN是丢失的,其他项显示黄色感叹号。 如何修复呢…

跳表是一种什么样的数据结构

跳表是有序集合的底层数据结构,它其实是链表的一种进化体。正常链表是一个接着一个用指针连起来的,但这样查找效率低只有O(n),为了解决这个问题,提出了跳表,实际上就是增加了高级索引。朴素的跳表指针是单向的并且元素…

第十八章 Redis的使用

文章目录 1. Redis安装2. Redis的使用命令3. python使用redis 1. Redis安装 链接:https://pan.baidu.com/s/1EIGLFjDRxWyy1bU9Hwr_dw?pwdoloh 提取码:oloh 添加环境变量 Redis 启动 在命令行输入:redis-server 命令 设置redis数据库的…

【Vuforia+Unity】AR04-地面、桌面平面识别功能

不论你是否曾有过相关经验,只要跟随本文的步骤,你就可以成功地创建你自己的AR应用。 官方教程Ground Plane in Unity | Vuforia Library 这个功能很棒,但是要求也很不友好,只能支持部分移动设备,具体清单如下&#xf…

【PX4SimulinkGazebo联合仿真】在Simulink中使用ROS2控制无人机进入Offboard模式起飞悬停并在Gazebo中可视化

在Simulink中使用ROS2控制无人机进入Offboard模式起飞悬停并在Gazebo中可视化 系统架构Matlab官方例程Control a Simulated UAV Using ROS 2 and PX4 Bridge运行所需的环境配置PX4&Simulink&Gazebo联合仿真实现方法建立Simulink模型并完成基本配置整体框架各子系统实现…

4.网络游戏逆向分析与漏洞攻防-游戏启动流程漏洞-模拟游戏登陆器启动游戏并且完成注入

内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏启动流程的分析 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:bcf7559184863febdcad819e48aaacad9f25d633 代码下…

写一份简单的产品说明书:语言和表达技巧

在当今竞争激烈的市场环境中,一个好的产品说明书对于产品的销售和推广起着至关重要的作用。无论是软件、电子产品还是日用品,一份简洁明了、语言精准的产品说明书能够有效地传达产品的特点和使用方法,吸引消费者的注意力并建立信任感。接下来…

计网 - 域名解析的工作流程

文章目录 Pre引言1. DNS是什么2. 域名结构3. 域名解析的工作流程4. 常见的DNS记录类型5. DNS安全6. 未来的发展趋势 Pre 计网 - DNS 域名解析系统 引言 在我们日常使用互联网时,经常会输入各种域名来访问网站、发送电子邮件或连接其他网络服务。然而,我…

JS知识点学习

构造函数 构造函数语法: 大写字母开头的函数创建构造函数。 // 1.创建构造函数 function Pig(name) { this.name name } // 2. new关键字调用函数 // new Pig(佩奇) // 接受创建的对象 const peppa new Pig(佩奇) console.log(peppa) // {name:佩奇} …

微服务篇之监控

一、为什么要监控 1.问题定位 假设客户端查询一些东西的时候,需要经过网关,然后服务A调用服务H,服务H调用K,服务K调用MySQL,当查询不出来的时候,我们不能快速定位到底是哪个服务的问题,这就需要…

YOLOv5代码解读[02] models/yolov5l.yaml文件解析

文章目录 YOLOv5代码解读[02] models/yolov5l.yaml文件解析yolov5l.yaml文件检测头1--->耦合头检测头2--->解耦头检测头3--->ASFF检测头Model类解析parse_model函数 YOLOv5代码解读[02] models/yolov5l.yaml文件解析 yolov5l.yaml文件 # YOLOv5 🚀 by Ult…

分组统计

目录 分组统计 根据部门编号分组,查询每个部门的编号、人数、平均工资 根据职位分组,统计出每个职位的人数、最低工资与最高工资 如果查询不使用 GROUP BY 子句,那么 SELECT 子句中只允许出现统计函数,其他任何字段不允许出现…

Global Gamers Challenge | 与 Flutter 一起保护地球

作者 / Kelvin Boateng 我们知道 Flutter 开发者热爱挑战,因此我们很高兴地宣布,新一轮的 Flutter 挑战赛来了! 挑战https://flutter.cn/events/puzzle-hack Global Gamers Challenge 是一项为期 8 周的比赛,参赛者需要设计、构建…

【数据结构】单向循环链表

一、mian函数 #include <stdio.h> #include "./3.looplinklist.h" int main(int argc, const char *argv[]) {looplinklist* head create_looplinklist();insertHead_looplinklist(head,100);insertHead_looplinklist(head,200);insertHead_looplinklist(hea…