建立时间和保持时间(setup time 和 hold time)_weixin_30376083的博客-程序员宅基地

建立时间和保持时间贯穿了整个时序分析过程。只要涉及到同步时序电路,那么必然有上升沿、下降沿采样,那么无法避免setup-time 和 hold-time这两个概念。本文内容相对独立于该系列其他文章,是同步时序电路的基础。

针对xilinx手册中一些概念的更新和术语的规范化,以及存在的一些问题,参考文档为UG906,已进行了一系列修改。--2019/5/5

系列目录 

    时序收敛:基本概念

    建立时间和保持时间(setup time 和 hold time)

    OFFSET约束(OFFSET IN 和OFFSET OUT)

    Clock Skew , Clock uncertainly 和 Period

    特殊约束From To

    OFFSET IN 使用举例

    Achieving Timing Closure

1. 什么是setup-time 和 hold-time

    同步时序电路设计中,只在时钟的上升沿或下降沿进行采样。为了正确得到采样结果,需要确保采样时刻数据有效,因此工具会对综合结果进行静态时序分析,以判断时钟和数据之间的相对关系是否满足要求。以寄存器-寄存器之间的路径为例子

image

图1

 

image

图2

  •     发射时间(launch edge):源时钟发射数据的时刻
  •     采样时间(capture edge):目的时钟采样数据的时刻(显然采样时刻要晚于发射时刻)

    而Setup time和Hold time,按照维基百科的解释为

Setup time is the minimum amount of time the data signal should be held steady before the clock event so that the data is reliably sampled by the clock. This applies to synchronous input signals to the flip-flop.

Hold time is the minimum amount of time the data signal should be held steady after the clock event so that the data are reliably sampled. This applies to synchronous input signals to the flip-flop.

image

    无论是Setup time 或者Hold time,都是指时间上的相对关系;在具体分析过程中,时钟有发射时钟和采样时钟,而各个路径上的数据也有不同的延时,因此仅提及Setup time/Hold time往往有指代不清的问题。因此,Xilinx在UG902中明确了

  •     setup relationship:时序分析工具给出的launch edge和capture edge之间setup关系
  •     setup requirement:launch edge和capture edge之间最严格的setup约束(分析得到所有的setup relationship中的最小值)
  •     hold relationship:时序分析工具给出的launch edge和capture edge之间hold关系
  •     hold requirement:launch edge和capture edge之间最严格的hold约束(分析得到所有的hold relationship中的最大值)

 

    如图2所示,在同一理想时钟下,假设时钟周期为5ns;lanch time记为0ns,则capture time为5ns,此时setup relationship为5ns,hold relationship为0ns。

 

2. 建立在Setup和Hold上时序分析

    建立在上一节基础上,可以对数据的具体采样时刻进行分析,以判断是否在数据有效时刻完成了采样。如果说采样时刻比数据到达时刻晚,则满足了setup的要求。

    如图1所示,由于源时钟可能有路径延时,因此Q端的输出会比launch time晚source clock path delay,同时由于在数据路径上有延时,因此到达下一寄存器Q端还需花费datapath delay时间,因此

    Data Arrival Time(Setup) = launch edge time + source clock path delay + datapath delay

    类似可计算实际的采样时刻

    Data Required Time(Setup) = Caputure edge time + destinationclock path delay – clock uncertainty – Synchronous Element Setup time

    其中Synchronous Element Setup time是寄存器的特性,Clock Uncertainty类似下图所示,由于时钟的不确定性,需要考虑最坏情况。

image

   Xilinx计算Slack来判断是否满足是需要求。Slack的中文意思是“松弛的”,可以简单的理解为设计余量。即如果slack是正数,那么设计满足要求,否则不满足要求。对于setup time的slack,有

        Slack = Data Required Time(Setup) - Data Arrival Time(Setup)

   如图2所示的理想情况下,Required Time(setup)为5ns,只要datapth delay不大于5ns,那么Slack就能满足要求。

   当然,在一个设计中会存在多条路径,所有的Slack均需要满足要求。

   

    类似的,也可以给出Hold的分析结果;与setup不同,要求数据完成采样之后下一个数据才能到达。

    Data Arrival Time(hold) = launch edge time + source clock path delay + datapath delay

    Data Required Time(Setup) = Caputure edge time + destinationclock path delay + clock uncertainty + Synchronous Element Hold time

    Slack = Data Arrival Time(Hold) - Data Requried Time(Hold)

   如图2所示的理想情况下,Required Time(Hold)为0ns,只要datapth delay大于0,那么Slack就能满足要求。

转载于:https://www.cnblogs.com/sea-wind/p/4680666.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30376083/article/details/99268603

智能推荐

lambda引入时 Error:Execution failed for task ':test:transformClassesWithRetrolambdaForDeb_这是一个秘密的博客-程序员宅基地

在引入tatarka:gradle-retrolambda时报错Error:Execution failed for task ':test:transformClassesWithRetrolambdaForDeb 将版本改为3.7.0即可(我引入的是3.5.0错了)classpath 'me.tatarka:gradle-retrolambda:3.7.0'...

【python】清空jupyter notebook所有输出的命令_嘤桃子的博客-程序员宅基地_jupyter 清空输出

在跑六百万数据集时加了print,导致输出的内容太多,不仅跑了几个小时,还让ipynb文件非常大根本打不开!!清空jupyter notebook输出的命令:jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace xxxx.ipynb如果想把清空所有输出后的源代码文件另存为,命令为:jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to notebook

如何利用github在.md文件中添加图片_曦曦湘涟的博客-程序员宅基地_github md图片

1、在github上的仓库建立一个存放图片的库,库的名字随意。如:Images-blog2、将需要在.md文件中显示的图片整理在一个文件夹中,然后push到Images-blog库中3、然后打开github官网,进入仓库的Images-blog库中,打开图片点击红框所示的按钮,copy地址4、在.md文件中填入:![Image](https://raw.githubuserconte...

前端工程化和webpack_温柔且无情的博客-程序员宅基地

前端工程化和webpack前端工程化简介前端工程化指的是:在企业级的前端项目开发中,把前端开发所需的工具、技术、流程、经验等进行规范化、标准化。企业中的Vue项目和React项目,都是基于 工程化 的方式进行开发的。工程化开发好处:自成体系、标准的开发方案和流程前端开发四个现代化:模块化 (JavaScript模块化、CSS模块化、静态资源模块化)组件化 (复用现有的UI结构、样式、行为)规范化 (目录结构的划分、编码规范化、接口规范化、文档规范化、Git分支管理)自动化 (自

React 学习笔记 —— redux 的使用_tanleiDD的博客-程序员宅基地

安装使用运行命令yarn add reduxredux 原理图主要流程组件 通过 Action Creators 分发(dispatch) action 给 StoreStore 将 之前的状态(previousState)、action,传递给 ReducersReducers 对状态处理后,返回给 Store 新的状态组件通过 getState() 获取状态各部分职责Action Creators: 负责生成 action 对象,并分发给 StoreStore:负

linux 查看硬件信息_永不消逝的代码的博客-程序员宅基地

linux 如何查看硬盘大小,内存大小等系统信息及硬件信息 top 可以看到不少信息 fdisk & disk - l & df 查看系统硬盘信息和使用情况 lspci 查看主板信息等 cat /proc/cpuinfo CPU信息 cat /proc/meminfo 内存信息

随便推点

jenkins update center遇到的坑_sunican的博客-程序员宅基地_jenkins updatecenter

目前的环境是,把jenkins.war 放在MAC 的tomcat webapps里尝试修改tomcat,添加参数:vim /Library/Tomcat//conf/context.xml <Context> ... <Environment name="JENKINS_JAVA_OPTIONS" value="-Dhudson.model.UpdateCenter.pluginDownloadReadTimeoutSeconds=120 -Dhudson

el-table tree 改变某一个单元格背景色_aGreetSmile的博客-程序员宅基地

树状结构改变某个单元格颜色,根据层级判断是否展示数据<el-table :data="tableData" style="width: 100%;" :row-key="tableRowKey" border :highlight-current-row="true" :cell-style="tableCellStyle" :tree-props="treeProps" v-on:row-click="rowClick" v-loading="loading" height="100%"&gt

二项检验_loyxCCS的博客-程序员宅基地_二项检验

文章目录检验原理西瓜书2.4节提到了二项检验,看不太懂。参考网上其他人的想法后,记录一下自己的理解。以下内容也包含着自己对假设检验的理解,内容会比较冗长。检验原理对于一个学习器的泛化错误率ϵ\epsilonϵ,我们做出一个猜想(假设):ϵ≤ϵ0\epsilon\le\epsilon_0ϵ≤ϵ0​。那么如何知道这个猜想对不对呢?假如我们已知ϵ\epsilonϵ的值,那么只需将ϵ\epsil...

数据库面经_Sebastian0819的博客-程序员宅基地

数据库系统常问面试题汇总1.数据库索引       索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。       优

Webmail邮件服务器搭建-有问题-邮件发出去,对方收不到_robertkun的博客-程序员宅基地

#搭建WebMail邮件服务器#1.关闭系统默认安装的 sendmail:[[email protected] ~]# service sendmail stop关闭 sendmail: [失败][[email protected] ~]#[[email protected] ~]# chkconfig --level 35 sendmail of

【sonic】sonic + zerotier 远程连接、异地连接_阿柴hp的博客-程序员宅基地

sonic 远程连接真机、设备异地连接、内网穿透

推荐文章

热门文章

相关标签