数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)
数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)
一、建立时间和保持时间的计算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
数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)相关推荐
- 数字电路基础知识|时钟和时序
时钟的概念 时钟对数字电路而言非常重要,没有时钟数字电路就没法工作,其全称是时钟频率,一般由晶振来提供时钟频率. 在数字电路中,所有数据.逻辑单元等状态的更新都是以时钟为基础的,时钟频率在数字电路中起 ...
- 数字电路基础知识——乘法器的设计(二)( 串行、流水线、有符号数八位乘法器)
数字电路基础知识--乘法器的设计(二)( 串行.流水线.有符号数八位乘法器) 前面一节关于乘法器的具体实现方式有很多种方法,均有各自的优缺点. 本节将再介绍一下两种乘法器的设计,分别用Verilog语 ...
- 数字电路基础知识——格雷码和二进制码的转换的算法和Verilog实现
数字电路基础知识--格雷码和二进制码的转换的算法和Verilog实现 关于数字电路中的码制问题在这篇博客中已经做了详细分析, 数字电路基础知识--数字IC中的进制问题(原码,反码,补码以及各进制的转换 ...
- 数字电路基础知识——组合逻辑电路(奇偶校验电路、数据比较器的设计)
数字电路基础知识--组合逻辑电路(奇偶校验器.比较器的Verilog设计) 本次主要介绍组合逻辑电路中的奇偶校验电路以及比较器的设计,以及相干的实例来熟悉这两种电路. 一.奇偶校验电路 奇偶校验码 奇 ...
- 数字电路基础知识——组合逻辑电路之乘法器的设计(一)—— 并行、移位相加、加法树、查找表乘法器
数字电路基础知识--乘法器的设计(一)-- 并行.移位相加.加法树.查找表 乘法器的设计主要应用在数字信号处理和数字通信,本节主要介绍乘法器的四种实现方法.使用并行乘法器.移位相加乘法器.查找表乘法器 ...
- 数字电路基础知识——组合逻辑电路实现一些简单逻辑电路 (一)(用Verilog实现:绝对值函数运算(补码问题),取对数函数(移位寄存器),取整函数)
数字电路基础知识--组合逻辑电路实现一些简单逻辑电路 (一)(用Verilog实现:绝对值函数运算(补码问题),取对数函数(移位寄存器),取整函数) 在数字逻辑设计中,本节介绍绝对值运算函数如何用Ve ...
- 基本概念:线与逻辑、锁存器、缓冲器、建立时间、缓冲时间
基本概念:线与逻辑.锁存器.缓冲器.建立时间.缓冲时间 栏目:我的文章 | 作者:乐乐熊 | 点击: 68 | 回复:0 | 2006-5-25 15:49:11 锁存器:输出端的状态不会随输入端的状 ...
- 为什么D触发器需要建立时间与保持时间
为什么D触发器需要建立时间与保持时间 定义 建立时间:时钟有效沿到来之前的某段时间内,数据必须稳定,这段时间称为建立时间,用Tsetup或者Tsu表示. 保持时间:时钟有效沿到来之后的某段时间内,数据 ...
- (8)FPGA面试题触发器满足建立时间和保持时间的原因
1.1 FPGA面试题触发器满足建立时间和保持时间的原因 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题触发器满足建立时间和保持时间的原因: 5)结束语. ...
- 传输门、D 锁存器、D触发器、建立时间与保持时间
TRANSMISSION GATE,D LATCH,DFF,SETUP &HOLD Remark:plysicaldesign4u Transmission Gate D latch(时钟电平 ...
最新文章
- ECCV 2020 论文大盘点-6D 位姿估计篇
- 揭阳电网要求计算机二级吗,2018年3月广东省揭阳市计算机等级考试考务通知
- Keras(part1)--Keras简介与安装
- 了解JUnit的Runner架构
- c++多态--2(计算器,纯虚函数和抽象类)
- 教大家多个域名绑定一个空间的解决办法,原创,自己已经测试过了,完全可以绕过杀毒软件,以及空间商.
- java jslider 自定义_Java自定义JSlider UI
- filebeat+redis+logstash+elasticsearch+kibana搭建日志分析系统
- 行情数据接口-美股版
- fedora 14 root登陆修改方法
- 怎么用软件设计班旗_设计制作:班旗设计
- 【向生活低头】用python提取gif动图的每一帧为png格式
- linux or msys2设置网络代理
- 使用 SSH config 文件
- AVR单片机-nRF24L01发送接收程序
- 2023年湖北武汉建设厅特种工架子工证怎么报名?报考条件?启程别
- TIA博途中如何通过Prodiag功能制作报警并显示在HMI上?
- 工业大型设备数字孪生 数字化改造三维动态大屏展示
- html网址中的各个标签代表什么意思
- 兼职项目分享,在家就可以做的八个副业项目,利用业余时间增加收入吧