我对建立时间和保持时间的理解
2015-08-02 16:53
302 查看
这篇文章主要是谈谈我对建立时间和保持时间的理解,文中前四张图片是引用特权同学《FPGA实战演练逻辑篇51:建立时间和保持时间》http://bbs.elecfans.com/jishu_499719_1_1.html (出处:
中国电子技术论坛)一书。我将以这四张图片及其延伸为例,进行推导。
先说一下建立时间和保持时间的定义。定义都是一致,无异议的,即:
建立时间(Tsu)是指在时钟上升沿到来之前数据必须保持稳定的时间。
保持时间(Th)是指在时钟上升沿到来以后数据必须保持稳定的时间。
它们的存在其实就是为了保证在采样点附近的数据是稳定的,所以对采样点前后的稳态时间做出了要求。
![](https://img-blog.csdn.net/20150802170101985)
图1
图1是硬件电路图。
![](https://img-blog.csdn.net/20150802165255251?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图2 正常工作时的时序逻辑
图2是能满足建立时间和保持时间要求、正常工作时图1中电路的时序逻辑。其中clk为寄存器reg1和reg2的同步时钟,reg1out是寄存器reg1的输出,reg2out是寄存器reg2的输出,它们也同时是与门的输入。reg3in是与门的输出,同时也是寄存器reg3的输入。clk_r3是寄存器reg3的时钟,本来应该与clk是同步的,但是因为线路延迟所以会落后clk一点。reg3out是寄存器reg3的输出。所有的寄存器都是在时钟上升沿对输入端的数据进行锁存。在clk_r3的上升沿上以及前后共有三条虚线,前两条构成的区间代表芯片要求的建立时间,后两条为保持时间,它们都是保证逻辑正常的最小值,可以从芯片的datasheet中查到。
![](https://img-blog.csdn.net/20150802173021078)
图3 建立时间正常示意图
图3中用红色线段标注了5个时间点,从左往右依次为A-E。区间AB是data delay,即数据延迟;区间CE是time delay,即时钟延迟;区间DE即为建立时间(保证工作的最小值)。前两者是实际存在的,可以测量。由此我们可以写出以下公式。
由此四个式子可以推出:
这就是我们判断建立时间是否违规的依据。若不满足该不等式,则建立时间违规。
![](https://img-blog.csdn.net/20150802172733550)
图4 建立时间违规
图4是建立时间违规的例子。可以看到红圈内部reg3in在建立时间的区间内发生了改变,这会导致采样结果不确定。
![](https://img-blog.csdn.net/20150802174325897)
图5 建立时间违规示意图
图5中不满足上述不等式,所以违规。
同理进行保持时间的推导。
![](https://img-blog.csdn.net/20150802174447922)
图6 保持时间正常示意图
图6中区间AB为data delay;区间CD为time delay;区间DE为保持时间(保证正常工作的最小值)。
由此推出:
这是我们判断保持时间是否违规的依据。若不满足这个不等式,则保持时间违规。
![](https://img-blog.csdn.net/20150802175026645)
图7 保持时间违规
图7中红圈内部保持时间违规。
![](https://img-blog.csdn.net/20150802175130964)
图8 保持时间违规示意图
图8不满足上述不等式,故违规。
中国电子技术论坛)一书。我将以这四张图片及其延伸为例,进行推导。
先说一下建立时间和保持时间的定义。定义都是一致,无异议的,即:
建立时间(Tsu)是指在时钟上升沿到来之前数据必须保持稳定的时间。
保持时间(Th)是指在时钟上升沿到来以后数据必须保持稳定的时间。
它们的存在其实就是为了保证在采样点附近的数据是稳定的,所以对采样点前后的稳态时间做出了要求。
图1
图1是硬件电路图。
图2 正常工作时的时序逻辑
图2是能满足建立时间和保持时间要求、正常工作时图1中电路的时序逻辑。其中clk为寄存器reg1和reg2的同步时钟,reg1out是寄存器reg1的输出,reg2out是寄存器reg2的输出,它们也同时是与门的输入。reg3in是与门的输出,同时也是寄存器reg3的输入。clk_r3是寄存器reg3的时钟,本来应该与clk是同步的,但是因为线路延迟所以会落后clk一点。reg3out是寄存器reg3的输出。所有的寄存器都是在时钟上升沿对输入端的数据进行锁存。在clk_r3的上升沿上以及前后共有三条虚线,前两条构成的区间代表芯片要求的建立时间,后两条为保持时间,它们都是保证逻辑正常的最小值,可以从芯片的datasheet中查到。
图3 建立时间正常示意图
图3中用红色线段标注了5个时间点,从左往右依次为A-E。区间AB是data delay,即数据延迟;区间CE是time delay,即时钟延迟;区间DE即为建立时间(保证工作的最小值)。前两者是实际存在的,可以测量。由此我们可以写出以下公式。
由此四个式子可以推出:
这就是我们判断建立时间是否违规的依据。若不满足该不等式,则建立时间违规。
图4 建立时间违规
图4是建立时间违规的例子。可以看到红圈内部reg3in在建立时间的区间内发生了改变,这会导致采样结果不确定。
图5 建立时间违规示意图
图5中不满足上述不等式,所以违规。
同理进行保持时间的推导。
图6 保持时间正常示意图
图6中区间AB为data delay;区间CD为time delay;区间DE为保持时间(保证正常工作的最小值)。
由此推出:
这是我们判断保持时间是否违规的依据。若不满足这个不等式,则保持时间违规。
图7 保持时间违规
图7中红圈内部保持时间违规。
图8 保持时间违规示意图
图8不满足上述不等式,故违规。
相关文章推荐
- I2C总线信号时序总结
- I2C总线硬件基础
- VGA时序及其原理
- clock latency
- hold time的负值问题
- 利用cpld对ads8556控制
- 怎么看时序图--nand flash的读操作详解
- OV7670摄像头的相关参数及时序分析
- 基本概念:线与逻辑、锁存器、缓冲器、建立时间
- i2c bus 基础知识笔记
- 一个关于驱动加载的时序问题
- 操作时序的错误笔记(18B20)
- UML建模之时序图(Sequence Diagram)
- 时序有四季,人生有四味——和年轻人谈人生 推荐
- Linux(十一):模拟实现sleep、竞态条件
- FPGA基础知识9(从D触发器的角度说明建立和保持时间)
- FPGA基础知识8(FPGA静态时序分析)
- I2C电路故障排除---边沿时间与杜邦线
- HDU 1279 士兵队列训练问题
- hdu2147巴什博弈