首页 > 其他分享 >建立时间(setup time)和保持时间(hold time)

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

时间:2024-04-08 16:22:41浏览次数:16  
标签:数据 setup 时间 time hold data 延迟 时钟

一、基本概念

1、建立时间就是时钟触发事件来临之前,数据需要保持稳定的最小时间,以便数据能够被时钟正确的采样。

2、保持时间就是时钟触发事件来临之后,数据需要保持稳定的最小时间,以便数据能够被电路准确的传输。

可以通俗的理解为:时钟到来之前,数据需要提前准备好;时钟到来之后,数据还要稳定一段时间。

二、约束条件

下图是一个典型的触发器到触发器之间的数据传输示意图。其中 "Comb" 代表组合逻辑延迟,"Clock Skew" 表示时钟偏移,数据均在时钟上升沿触发。

1、建立时间约束条件

时钟到来之前,数据需要提前准备好,才能被时钟正确采样,要求数据路径 (data path) 比时钟路径 (clock path)更快,即数据到达时间(data arrival time)小于数据要求时间(data required time)。则建立时间需要满足的表达式为:

Tcq + Tcomb + Tsu <= Tclk + Tskew       (公式 1 )

各个时间参数说明如下:

  ● Tcq: 寄存器 clock 端到 Q 端的延迟;

  ● Tcomb: data path 中的组合逻辑延迟;

  ● Tsu: 建立时间;

  ● Tclk: 时钟周期;

  ● Tskew: 时钟偏移。

对上式进行变换,则理论上电路能够承载的最小时钟周期和最快时钟频率分别为:

最小时钟周期 = Tcq + Tcomb + Tsu - Tskew
最快时钟频率 = 1 / 最小时钟周期

2、保持时间约束条件

  时钟到来之后,数据还要稳定一段时间,这就要求前一级的数据延迟(data delay time)不要大于触发器的保持时间,以免数据被冲刷掉。则保持时间需要满足的表达式为:

Tcq + Tcomb >= Thd + Tskew         (公式 2 )

各个时间参数说明如下:

  ● Tcq: 寄存器 clock 端到 Q 端的延迟;

  ● Tcomb: data path 中的组合逻辑延迟;

  ● Thd: 保持时间;

  ● Tskew: 时钟偏移。

由公式 (1) (2) 可以推导出时钟偏移、组合逻辑延迟及时钟周期的约束。

3、建立时间与保持时间时序图

  一个关于建立时间和保持时间的复杂时序图如下所示。其中,绿色部分表示建立时间的裕量(margin),蓝色部分表示保持时间的裕量。时间裕量,其实就是电路在满足时序约束的条件下,不等式 (1) 或 (2) 两边时间的差值。

标签:数据,setup,时间,time,hold,data,延迟,时钟
From: https://www.cnblogs.com/Bruceson/p/18121141

相关文章

  • SiT8008BI-22-33E-50.000000D 标准时钟振荡器 3225 50MHz SiTime
    SiT8008BI-22-33E-50.000000D是SiTime公司出产的一款振荡器产品的类型。SiTime是一家专心于供给高性能、高精度、低功耗的振荡器解决方案的公司。是SiTime公司出产的一款振荡器产品的类型。SiTime是一家专心于供给高性能、高精度、低功耗的振荡器解决方案的公司。制造......
  • 最新!Java8 中获取当前时间,日期处理,求闰年?LocalDateTime的详细使用,DateTimeFormatter使
    文章目录1.格式化日期和时间使用DateTimeFormatter(Java8)2.获取当前日期的方法2.1System.currentTimeMillis()2.2java.util.Date2.3CalendarAPI2.4Java8的TimeAPI(优先使用,重要!)LocalDate(第4点求闰年)LocalTimeLocalDateTime小结(Java8中轻松格式化日期和时间......
  • Database Timeout
    1.遇到的错误Microsoft.EntityFrameworkCore.DbUpdateException:Anerroroccurredwhileupdatingtheentries.Seetheinnerexceptionfordetails.--->Microsoft.Data.SqlClient.SqlException(0x80131904):ExecutionTimeoutExpired.Thetimeoutperiodelapse......
  • Swoole 源码分析之 Timer 定时器模块
    原文首发链接:Swoole源码分析之Timer定时器模块大家好,我是码农先森。引言Swoole中的毫秒精度的定时器。底层基于epoll_wait和setitimer实现,数据结构使用最小堆,可支持添加大量定时器。在同步IO进程中使用setitimer和信号实现,如Manager和TaskWorker进程,在异步IO......
  • Timer定时器———创建定时器实例
    1.编写时间写入日志文件的脚本vimsystem.sh#!/bin/bashecho`date`>>/root/system.txtcatsystem.sh2.给脚本增加可执行权限chmod+xsystem.sh3.执行刚刚编写的脚本.system.sh4.查看日志文件,脚本执行成功catsystem.txt5.创建一个boot_backup.service文件,......
  • mysql使用datetime,java如何保存
    CREATETABLE`user`(```省略部分代码``` `create_time`datetimeNOTNULLCOMMENT'创建时间' ```省略部分代码```)javaclassUser{ privateTimestampcreateTime;}java8importjava.sql.Timestamp;```省略部分代码```LocalDateTimenow=L......
  • C# DateTime与时间戳970-01-01 00:00:00:00 起的毫秒数转换
    publicstaticDateTimeConvertTimestampToDateTime(longtimestamp){DateTimeunixStart=newDateTime(1970,1,1,0,0,0,0,DateTimeKind.Utc);DateTimeutcDateTime=unixStart.AddMilliseconds(timestamp);returnutcDateTime.T......
  • AppleScript成功实现FaceTime语音,FaceTime视频,FaceTime蓝号检测,检测数据是否开通Fa
    FaceTime是苹果公司iOS和macOS(以前称MacOSX或OSX)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。 一、Windows电脑上部署......
  • 常用API(一):1.JDK8新增的时间 2.LocalDate 3.LocalTime 4.LocalDateTime
    1.JDK8新增的时间    2.  3.LocalTime: 2.LocalDate:packagecom.itheima.新时间API;importjava.time.LocalDate;publicclassa{publicstaticvoidmain(String[]args){//0.获取本地日期对象(不可变对象)LocalDateld=LocalD......
  • 常用API(一):Math,Sysytem,Runtime
    1.Math packagecom.itheima.Math;publicclassmath{publicstaticvoidmain(String[]args){//mathSystem.out.println(Math.abs(-123));System.out.println(Math.abs(-0.23));//绝对值,可以是整数也可以是浮点数System.out.......