数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)

一、建立时间和保持时间的计算1
  1. 时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。
    求:触发器D2的建立时间T3和保持时间T4应该满足什么条件?

    tcq:寄存器的输出延时为,即时钟有效沿之后延时Tcq时间,数据才到达寄存器Q端。第一个寄存器有效时钟沿之后Tcq时间,数据才到达Q1端。
    tlogic:再经过组合逻辑运算,得到数据C1,其中组合逻辑的延时为。

考虑时钟偏斜时,为tskew
1)对于建立时间,组合逻辑考虑最大延迟T2max

因此建立时间裕量:= tcycle - (tcq + T2max) + tskew - Tsu
根据建立时间裕量 > 0 即 tcycle - (tcq + T2max) + tskew - Tsu >= 0
故:
Tsu <= Tcycle - (tcq + T2max) + tskew
若不考虑寄存器的输出延迟和时钟偏斜,则
Tsu <= Tcycle - T2max

2)对于保持时间,组合逻辑考虑最小延迟T2min
如果触发器D2的输入信号还在保持的时候,这时候D1已经通过组合逻辑传来改变了D2,因此会破坏D2本来的保持的数据,因此组合逻辑延时太小也不好。

保持时间裕量:= tcq + T2min - tskew - Thd
根据建立时间裕量 > 0 即 tcq + T2min - tskew - Thd >= 0
故:
Thd <= tcq + T2min - tskew
若不考虑寄存器的输出延迟和时钟偏斜 (tcq = tskew = 0),则
Thd <= T2min

3)关于考虑组合逻辑的最大延迟和最小延迟问题。
由于组合逻辑有关键路径,即关键路径对应最大延迟,也有最小延迟,即对应数据最快到达输出端。
因此 对于建立时间来说,考虑到最恶劣的情况就是必须考虑到这些最大的延迟
因此 对于保持时间,我们需要考虑到下一个信号最快传输到D2的情况,那么最小的延时也就是代表着最快的传输

二、 建立时间和保持时间的计算2——实际电路的Setup和Hold公式及violation(违反)分析

因为在不同的情形下,例如不同的温度,电压,loading等等,每一段电路的delay是不同的,所以对于同一段电路,其delay可以在如下范围中:

Min_delay<= Delay <= max_delay


1. 建立时间
Tperiod - (Tc->q_FF1 + Tcomb_logic) + Tskew - Tsetup >= 0
Tskew = Tclk_delay_FF2 - Tclk_delay_FF1
即:
Tclk_delay_FF1 + Tc->q_FF1 + Tcomb_logic + Tsetup <= Tclk_delay_FF2 + Tperiod
应该满足:
MAX_data_path_delay + Tsetup <= MIN_clk_path_delay + Tperiod
才能保证电路是可靠的。所以在实际电路中:

Tdata_path_max + Tsetup <= Tclk_path_min + Tperiod

对应上图,该公式应该是:

2ns+ 11ns + 2ns + 9ns + 2ns + 4ns <= 2ns + 5ns + 2ns + Tperiod

所以: 30 <= 9 + 15.因为违反了该公式,所以该电路出现了setup violation。

2. 保持时间
Tc->q_FF1 + Tcomb_logic - Tskew - Thold >= 0
即:
Tclk_delay_FF1 + Tc->q_FF1 + Tcomb_logic –Thold>= Tclk_delay_FF2
应该满足:
MIN_data_path_delay – Thold >= MAX_clk_path_delay
才能保证电路是可靠的。所以在实际电路中:

Tdata_path_min - Thold >= Tclk_path_max
对应上图,该公式应该是:

1ns +9ns + 1ns + 6ns + 1ns – 2ns >= 3ns + 9ns + 3ns

所以: 16ns >= 15ns,满足公司要求,所以该电路无holdviolation。

在某些电路中,可以认为clk tree上面没有延迟,可以认为wire没有延迟,那么setup和hold公式就得到简化。

参考博客: https://blog.csdn.net/FBICIACCC/article/details/52683901

数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)相关推荐

  1. 数字电路基础知识|时钟和时序

    时钟的概念 时钟对数字电路而言非常重要,没有时钟数字电路就没法工作,其全称是时钟频率,一般由晶振来提供时钟频率. 在数字电路中,所有数据.逻辑单元等状态的更新都是以时钟为基础的,时钟频率在数字电路中起 ...

  2. 数字电路基础知识——乘法器的设计(二)( 串行、流水线、有符号数八位乘法器)

    数字电路基础知识--乘法器的设计(二)( 串行.流水线.有符号数八位乘法器) 前面一节关于乘法器的具体实现方式有很多种方法,均有各自的优缺点. 本节将再介绍一下两种乘法器的设计,分别用Verilog语 ...

  3. 数字电路基础知识——格雷码和二进制码的转换的算法和Verilog实现

    数字电路基础知识--格雷码和二进制码的转换的算法和Verilog实现 关于数字电路中的码制问题在这篇博客中已经做了详细分析, 数字电路基础知识--数字IC中的进制问题(原码,反码,补码以及各进制的转换 ...

  4. 数字电路基础知识——组合逻辑电路(奇偶校验电路、数据比较器的设计)

    数字电路基础知识--组合逻辑电路(奇偶校验器.比较器的Verilog设计) 本次主要介绍组合逻辑电路中的奇偶校验电路以及比较器的设计,以及相干的实例来熟悉这两种电路. 一.奇偶校验电路 奇偶校验码 奇 ...

  5. 数字电路基础知识——组合逻辑电路之乘法器的设计(一)—— 并行、移位相加、加法树、查找表乘法器

    数字电路基础知识--乘法器的设计(一)-- 并行.移位相加.加法树.查找表 乘法器的设计主要应用在数字信号处理和数字通信,本节主要介绍乘法器的四种实现方法.使用并行乘法器.移位相加乘法器.查找表乘法器 ...

  6. 数字电路基础知识——组合逻辑电路实现一些简单逻辑电路 (一)(用Verilog实现:绝对值函数运算(补码问题),取对数函数(移位寄存器),取整函数)

    数字电路基础知识--组合逻辑电路实现一些简单逻辑电路 (一)(用Verilog实现:绝对值函数运算(补码问题),取对数函数(移位寄存器),取整函数) 在数字逻辑设计中,本节介绍绝对值运算函数如何用Ve ...

  7. 基本概念:线与逻辑、锁存器、缓冲器、建立时间、缓冲时间

    基本概念:线与逻辑.锁存器.缓冲器.建立时间.缓冲时间 栏目:我的文章 | 作者:乐乐熊 | 点击: 68 | 回复:0 | 2006-5-25 15:49:11 锁存器:输出端的状态不会随输入端的状 ...

  8. 为什么D触发器需要建立时间与保持时间

    为什么D触发器需要建立时间与保持时间 定义 建立时间:时钟有效沿到来之前的某段时间内,数据必须稳定,这段时间称为建立时间,用Tsetup或者Tsu表示. 保持时间:时钟有效沿到来之后的某段时间内,数据 ...

  9. (8)FPGA面试题触发器满足建立时间和保持时间的原因

    1.1 FPGA面试题触发器满足建立时间和保持时间的原因 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题触发器满足建立时间和保持时间的原因: 5)结束语. ...

  10. 传输门、D 锁存器、D触发器、建立时间与保持时间

    TRANSMISSION GATE,D LATCH,DFF,SETUP &HOLD Remark:plysicaldesign4u Transmission Gate D latch(时钟电平 ...

最新文章

  1. ECCV 2020 论文大盘点-6D 位姿估计篇
  2. 揭阳电网要求计算机二级吗,2018年3月广东省揭阳市计算机等级考试考务通知
  3. Keras(part1)--Keras简介与安装
  4. 了解JUnit的Runner架构
  5. c++多态--2(计算器,纯虚函数和抽象类)
  6. 教大家多个域名绑定一个空间的解决办法,原创,自己已经测试过了,完全可以绕过杀毒软件,以及空间商.
  7. java jslider 自定义_Java自定义JSlider UI
  8. filebeat+redis+logstash+elasticsearch+kibana搭建日志分析系统
  9. 行情数据接口-美股版
  10. fedora 14 root登陆修改方法
  11. 怎么用软件设计班旗_设计制作:班旗设计
  12. 【向生活低头】用python提取gif动图的每一帧为png格式
  13. linux or msys2设置网络代理
  14. 使用 SSH config 文件
  15. AVR单片机-nRF24L01发送接收程序
  16. 2023年湖北武汉建设厅特种工架子工证怎么报名?报考条件?启程别
  17. TIA博途中如何通过Prodiag功能制作报警并显示在HMI上?
  18. 工业大型设备数字孪生 数字化改造三维动态大屏展示
  19. html网址中的各个标签代表什么意思
  20. 兼职项目分享,在家就可以做的八个副业项目,利用业余时间增加收入吧

热门文章

  1. IntelliJ IDEA使用教程 (总目录篇)
  2. EasyDarwin测试
  3. ajax 跨域 iis7,IIS中使用URL rewrite配置跨域调用
  4. Ubuntu 安装绿联CM448无线网卡驱动
  5. codeblocks下载安装与解决codeblocks找不到编译器的方法
  6. 2021概率论与数理统计辅导讲义-李林
  7. 【动态任务-七】Spring整合Cron在线生成表达式(基于bootstrap3自适应样式)
  8. oracle客户端 PLSQL安装配置教程
  9. 2021.7.28魔鬼训练报告
  10. 3dmax渲染完就卡住不动,怎么办