建立时间与保持时间计算

1、概念

建立时间和保持时间都是针对触发器的特性而言,时序如下图所示

建立时间(Setup Time):
是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,即在CLK上升沿来之前,数据必须提前一个最小时间量预先准备好。
保持时间(HoldTime):
是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,即在CLK上升沿到来之后,数据必须保持一个最小时间量不能变化。

2、 问题提出

信号在PCB板上进行传输过程会存在传输延迟,因此需要计算传输延迟范围来确定PCB走线长度误差范围。
如下题所示:


设备A到设备B使用随路时钟传送数据,A设备输出数据相对于时钟的延迟为T0=2ns,数据保持稳定的时间样衣工为7.5ns,时钟周期为8ns,B设备输入时使用始终的下一个上升沿采样数据,如果B设备要求的数据建立时间最小为2.5ns,数据保持时间最小为3ns,CLK在PCB上的布线延迟为T1,DATA在PCB上的布线延迟为T2,请计算出T1和T2之间必须满足的条件。
根据建立时间进行计算:

如上图所示,设备A输出数据在设备A的CLK的第二个上升沿到来后延迟T0进行输出,输出后保持7.5ns,设备B在CLK的第三个上升沿进行采集,因此数据有一整个时钟周期T的时间传输到设备B,并在CLK的第三个上升沿到来前保持稳定不变。因此在设备A时钟到来开始输出数据时为整个传输起始时间,到设备B在下一个CLK上升沿到来时数据必须已经传输到设备B的数据接收端,并保持不变,因此有一下计算公式:
数据传输线上的延迟(包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)+数据建立时间≤时钟传输线上延迟+时钟周期T(注数据在建立时间到来前保持不变的时间称为裕量,裕量≥0)
即T0+T2+裕量+TsetupB=T1+T,根据题目中数据计算得1.5≤T2-T1≤3.5

根据保持时间进行计算:

如上图所示,设备A输出数据在设备A的CLK的第二个上升沿到来后延迟T0进行输出,输出后保持7.5ns,设备A输出的下一个数据必须在设备B将当前数据采集完成后才能到来,即保持时间分析的是同一个时钟沿。在设备A输出第三个CLK上升沿开始设备B就要接收来自设备A的数据,即自设备A接收到输出数据的信号(上图第二个上升沿到来时)+数据在PCB上输出延时-设备B保持数据的时间≥时钟传输延迟的时间。(就是数据先于CLK到达设备B,在数据保持时间之前时钟沿必须带来以保证足够的保持时间)
按照上图有一下计算公式
数据传输线上的时延(包含包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)-设备B保持时间=时钟传输线上的时延+裕量(裕量≥0)
即T0+T2-TholdB=T1+裕量,根据题目中提供数据计算得1≤T2-T1≤3;

结合保持时间和建立时间计算满足的1.5≤T2-T1≤3.

3、总结:

根据建立时间计算:
数据传输线上的延迟(包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)+数据建立时间≤时钟传输线上延迟+时钟周期T(注数据在建立时间到来前保持不变的时间称为裕量,裕量≥0)
根据保持时间计算:
数据传输线上的时延(包含包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)-设备B保持时间=时钟传输线上的时延+裕量(裕量≥0)

注:以上为个人查找资料进行计算,如果计算机结果不对欢迎大家进行指正。

建立时间与保持时间计算相关推荐

  1. 建立时间和保持时间的计算

    时序分析是数字IC设计过程中不可避免的一步,其中对建立时间和保持时间的计算也尤为重要. 1.首先认识时序分析中经常用到的参数 Launch edge.Latch edge.Tsu.Thd.Slack. ...

  2. FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算

    前言 本文首发:FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算 STA定义 STA定义为:时序验证,可确保各种电路时序是否满足各种时序要求. ASIC / FPGA设计流程中最重要 ...

  3. 一文解决关于建立时间和保持时间的困惑

    公众号[TechDiary],专注技术分享,手把手教你成为技术大神 之前介绍数字电路复位信号设计的文章中有提到过很多次建立时间.保持时间的概念,事实上建立/保持时间(setup time & ...

  4. postgresql获取基于当前时间计算的当月第一天,最后一天,下个月的第n天等功能

    目录 问题现象: 问题分析: 问题现象: 今天在项目开发中遇到了一个需求,在编写某个功能时,需要使用到基于某个时间(如当前时间),去获取本月第一天或下个月的第一天的数据. 问题分析: 通过查询资料可以 ...

  5. 【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态

    [综合]数字IC设计需要考虑的时序参数:Race Hazard:同步系统时序要求:建立时间.保持时间:偏斜:抖动:毛刺.竞争冒险:亚稳态 数字设计时需要考虑的时序参数 传播延迟 propagation ...

  6. 关于建立时间与保持时间的本质

    建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间.保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间. 建立时间裕 ...

  7. IC/FPGA笔试/面试题分析(七)建立时间和保持时间类型考题汇总分析

    自从召集2020届校招同行加入新建立的"IC/FPGA校招笔试面试交流群",见识到了很多关于建立时间和保持时间分析的题目,在为别人解答疑惑,以及别人为自己解答疑惑的同时,自己对于知 ...

  8. Setup 和Hold (建立时间和保持时间)解析

    本文是第一篇,有空会继续更新.(转载请注明出处!!!) STA分析是基于同步电路设计模型的,在数据输入端,假设外部也是同时钟的寄存器的输出并且经过若干组合逻辑进入本级,而输出也被认为是驱动后一级的同时 ...

  9. FPGA中建立时间和保持时间不满足如何解决

    问题: 建立时间和保持时间不满足如何解决 回答一: setup violation 主要就是设法剪掉critical path的delay,要么pipeline,要么retiming,要么把combi ...

  10. Executors线程池关闭时间计算

    Executors线程池关闭时间计算 学习了:http://blog.csdn.net/wo541075754/article/details/51564359 https://www.cnblogs ...

最新文章

  1. [ASP.NET] Session 详解
  2. 关于解决oracle登录:ora-12154:tns:无法解析指定的连接标识符
  3. JS动态添加、删除classl类
  4. 扩展Editplus为Java IDE
  5. Mac上Jupyter之notebook快捷键
  6. python数据分析工具_python数据分析工具 | pandas
  7. 通过CN3口直接控制台达伺服电机A2-M(一)
  8. C#经纬度坐标算距离
  9. android 平板怎么截图,小米平板4怎么截图 小米平板4截屏的三种方法
  10. mysql--sql中双引号 单引号' 反单引号`的作用和区别
  11. 裸机运行c语言,裸机_GPIO实验_C语言
  12. vue 点击动态展示不同的图片
  13. jsp标签与指令总结
  14. torch实现ESIM算法
  15. SpringBoot 基本奥义
  16. RabbitMQ-direct直通模式
  17. java计算机毕业设计Vue.js音乐播放器设计与实现源码+数据库+系统+lw文档
  18. Microsoft Visio 摄像机图标
  19. oppo reno5和oppo reno4se哪个好有什么区别 oppo reno5和oppo reno4se参数对比哪款更值得入手
  20. CSS常用内容总结(扫盲)

热门文章

  1. CRM客户关系管理分析模型——RFM模型
  2. 除了方文山,用TA你也能帮周杰伦写歌词了
  3. 基于北斗观测值的智能手机GNSS定位研究
  4. QQ抢车位游戏PhysicalDataModel
  5. 中文简繁转换项目 OpenCC
  6. AI产品经理视角下的AI翻译机 in 旅游场景
  7. [填坑]ubuntu 18.04+Windows 10双硬盘双系统修改默认启动顺序
  8. 缩减Centos7xfs磁盘空间
  9. Flutter持久化存储之使用和封装shared_preferences
  10. 瀑布流布局浅析+常用插件介绍(转改编)