一起学时序分析之建立/保持时间裕量

news2024/11/24 5:26:15

何为裕量?

        裕量,英文名称叫做“Slack”。我们在Vivado实现后的报告中常常能看到这样一栏:

因为都是缩写,所以我们来解释一下前四栏的含义:

  1. WNS,即Worst Negative Slack,最差负时序裕量。这个表征了我们设计的电路中,最差的那条路径的时序裕量,如果为正,则说明满足建立时间要求,如果为负,则说明建立时间时序出现问题。
  2. TNS,即Total Negative Slack,也就是所有负时序裕量路径之和,数字的含义和上面是一样的。
  3. WHS,即Worst Hold Slack,代表最差保持时序裕量 ,为正则说明满足保持时间要求,为负则说明保持时序出现问题。
  4. THS, 即Total Hold Slack,也就是总的负保持时序裕量路径之和。

        上面我们一直提到了一个词:裕量。究竟如何理解“裕量”这个词呢?所谓的裕量字面上理解就是多出来的量,之前的文章中我们讨论过建立时间和保持时间的概念。

        对于建立时间,我们要求信号在建立时间之前就要稳定下来,至于具体提前了多久,那就得用“建立裕量”WNS和TNS进行衡量。

        对于保持时间,我们要求信号要在保持时间之后才可以变换,至于延后了多久,那就得用“保持裕量” WHS,THS进行衡量。

多说一嘴,建立时间要满足时序路径中最慢的信号也要符合要求,因此称为最大分析。保持时间要保证时序路径中最快的信号也要满足要求(不能在保持时间之前变换),因此称为最小分析。

     在理解了裕量的概念之后,我们可以开始研究“裕量”究竟应该怎么进行计算了。

建立时间裕量

                 在图示的时序路径中,Clock是时钟源的时钟,由于布局布线等因素,该时钟上升沿到达reg1的时钟端口Clock1时会有一小段延时T_{clk1},Clock1的上升沿也被我们称为启动沿。

        从启动沿到寄存器Q输出数据还有一小段延时,即T_{co},并且数据经过寄存器间的数据通路时还会有一小段延时,即T_{data}。因此我们可以得出:

数据到达时间 =时钟基准(0ns)+ T_{clk1}(3.2ns)+T_{co}+T_{data}(0.8ns) = 4ns

         同理,很容易计算数据被捕获的时间边界为:

数据锁存时间 = 时钟基准2(10ns)+T_{clk2}(2ns) - 建立时间(1.4ns)= 10.6ns 

因此可以知道,

建立时间余量 =  数据锁存时间 - 数据到达时间 = 6.6ns(即图中蓝色部分)

        只要建立时间裕量是正值,则说明我们的设计是符合要求的,如果为负值则说明不满足建立时间的要求,容易产生亚稳态等问题。 

保持时间裕量

 

         保持裕量的计算和建立裕量差不多,其核心为:

保持时间裕量 = 数据保持时间 - 数据锁存时间 

对于数据保持时间:

数据保持时间 = 数据到达时间(4ns) + 数据周期时间(Sig In = 10ns) = 14ns

对于数据锁存时间:

数据锁存时间 =  时钟基准2(10ns)+T_{clk2}(2ns) + 保持时间(1.4ns)= 13.4ns  

因此,数据的保持时间裕量:

保持时间裕量 = 数据保持时间 - 数据锁存时间 = 0.6ns 

        如果保持时间裕量为负,则说明数据在保持时间之前就发生了改变,因此将不满足保持时间的要求。

学习计算裕量的目的

        其实,在开发过程中并不需要我们去手工计算裕量,因为EDA软件将帮助我们计算。那为什么我们还要学习裕量的计算呢?其实这就是一种“从哪里来,到哪里去”的道理,我们心中要明白,这个时序裕量是怎么计算的,当我们遇到不满足裕量要求的情况时,我们能明确地知道问题的出处,以及解决问题的方法。

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

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

相关文章

leetcode:1579. 保证图可完全遍历【并查集思路】

目录题目截图题目分析ac code总结题目截图 题目分析 从删除比较难,考虑增加增加的过程中无用的边就可以删除考虑alice和bob各自的联通分量最后希望都是1,一开始都是n如果将两个独立的联通分量连起来了,那么连通分量个数减1这里很明显就是用并…

kubernetes-Pod详解2

kubernetes-Pod详解2 文章目录kubernetes-Pod详解2Pod生命周期创建和终止pod的创建过程pod的终止过程初始化容器钩子函数容器探测方式一:Exec方式二:TCPSocket方式三:HTTPGet重启策略Pod调度定向调度NodeSelector亲和性调度NodeAffinityPodAf…

Kamiya丨Kamiya艾美捷AREG酶联免疫吸附试验原理

Kamiya艾美捷AREG酶联免疫吸附试验预期用途: 该试剂盒是一种用于体外定量测量大鼠AREG的夹心酶免疫测定法血清、血浆和其他生物流体。仅供研究使用。不用于诊断程序。 存储: 所有试剂应按照小瓶上的标签保存。校准器、检测试剂A、检测试剂B和96孔带板应…

ZMQ之高可靠对称节点--双子星模式

一、概览 双子星模式是一对具有主从机制的高可靠节点。任一时间,某个节点会充当主机,接收所有客户端的请求;另一个则作为一种备机存在。两个节点会互相监控对方,当主机从网络中消失时,备机会替代主机的位置。 双子星模…

gateway网关聚合knife4j文档,同时兼容swagger2与swagger3

基于前两篇文章,进行整合 springcloud-gateway 聚合swagger3请求接口丢失appliactionName解决 springcloud-gateway聚合knife4j接口文档 为何要兼容?微服务开发者有的使用了swagger2版本,有的使用了swagger3版本,但暴露外部给前…

聊一聊我的第一个开源项目

项目地址:https://github.com/kpretty/hdd 我在21年的国庆写过一篇文章:《Docker 实战:部署hadoop集群》,当时也是刚接触docker,作为docker第一个练手项目对很多概念理解的不是很到位,因此那篇文章所使用的…

基于PHP+MySQL菜品食谱美食网站的设计与实现

美食是人类永恒的追求,现在有很多的美食爱好者,他们希望通过自己的各种方式来学习更多的美食制作方式,以及分享自己制作美食的一些过程,说让更多的人。享受到更加美味可口的饭菜。本系统也是基于这样的目的来进行开发的。 本系统是通过PHP:MySQL来进行开发,主要实现…

存储器扩展,画图题

目录 存储器与CPU的接口 地址线的连接 数据线的连接 控制线的连接(读写和片选) 考题 引出 第一题 第二题 第三题 计算地址范围(这里用的38译码器) 第四题 填空题 第五题 第六题(2017) 要求&…

【微信小程序】CSS模块化、使用缓存在本地模拟服务器数据库

🏆今日学习目标:第十五期——CSS模块化、使用缓存在本地模拟服务器数据库 😃创作者:颜颜yan_ ✨个人主页:颜颜yan_的个人主页 ⏰预计时间:25分钟 🎉专栏系列:我的第一个微信小程序 文…

【这款神器可以有】3DMAX一键墙体门洞窗洞插件使用教程

3DMAX一键墙体门洞窗洞插件,只需导入户型图,单/双面墙体一键生成。 【主要功能】 --一键生成墙体 --一键门洞 --一键窗洞 --支持单/双面墙体生成 【安装方法】 无需安装,直接拖动插件脚本到3dmax窗口即可打开插件。 【快速开始】 将3dm…

11.我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景

我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景 本系列Netty源码解析文章基于 4.1.56.Final版本 写在前面..... 本文是笔者肉眼盯 Bug 系列的第三弹,前两弹分别是: 抓到Netty一个Bug,顺带来…

【Spring(七)】带你手写一个Spring容器

有关Spring的所有文章都收录于我的专栏:👉Spring👈 目录 前置准备 第一步、创建我们自定的注解 第二步、创建我们自己的容器类 测试 总结 相关文章 【Spring(一)】如何获取对象(Bean)【Spring&a…

CSS伪类使用详解

基本描述 CSS伪类是很常用的功能,主要应用于选择器的关键字,用来改变被选择元素的特殊状态下的样式。 伪类类似于普通CSS类的用法,是对CSS选择器的一种扩展,增强选择器的功能。 目前可用的伪类有大概40多个,少部分有兼…

Spring Bean的生命周期理解

一、Spring Bean的生命周期大的概括起来有四个阶段: 1、实例化 2、属性填充注入 3、初始化使用 4、Bean的销毁 二、如流程图所示 三、步骤说明 1、实例化 实例化一个Bean,即new 2、IOC依赖注入 按照Spring上下文对实例化的Bean进行属性填充注入 3、setB…

昆船智能上市:预计年营收19亿到22.5亿 市值48亿

雷递网 雷建平 11月30日昆船智能技术股份有限公司(简称:“昆船智能”,证券代码:301311)今日在深交所创业板上市。昆船智能本次发行股票6000万股,发行价为13.88元,募资8.33亿元。昆船智能开盘价为…

2022CTF培训(七)逆向专项练习

附件下载链接 babyre 首先是一个迷宫&#xff0c;由于答案不唯一&#xff0c;因此到 dfs 求出所有路径。 #include <bits/stdc.h>constexpr char s[] "**************.****.**s..*..******.****.***********..***..**..#*..***..***.********************.**..*…

springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】

springMVC01,springMVC的执行流程【第一个springMVC项目&#xff1a;HelloWorld】springMVC的简介springMVC的执行流程第一个springMVC项目&#xff08;XML配置版本&#xff09;1.创建项目1.1 新建maven项目&#xff1a;1.2 添加web支持1.3 在pom.xml中导入依赖1.4 配置tomcat2…

【云享·人物】华为云AI高级专家白小龙:AI如何释放应用生产力,向AI工程化前行?

摘要&#xff1a;AI技术发展&#xff0c;正由应用落地阶段向效率化生产阶段演进&#xff0c;AI工程化能力将会不断深入业务&#xff0c;释放企业生产力。本文分享自华为云社区《【云享人物】华为云AI高级专家白小龙&#xff1a;AI如何释放应用生产力&#xff0c;向AI工程化前行…

[附源码]Python计算机毕业设计Django飞越青少儿兴趣培训机构管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

旅游景区地图导览系统,传统导览智慧新升级

地图在景区导览中一直扮演着重要角色。 从传统导览的纸质地图&#xff0c;再到智慧导览的电子地图&#xff0c;游客都可以从景区地图上了解到景点名称、游玩路线、服务设施等内容&#xff0c;帮助游客更好地游览景区。 相比传统的纸质地图导览&#xff0c;电子地图导览系统有哪…