[转]从D触发器的逻辑结构说明建立时间和保持时间

看到一篇讲D触发器setuptime和holdtime,从D触发器的逻辑结构说明,很透彻,原帖地址http://xilinx.eetop.cn/viewthread-308484

看到一篇讲D触发器setuptime和holdtime,很透彻,原帖地址http://xilinx.eetop.cn/viewthread-308484

D触发器门级电路结构

CP从0跳变为1时: G3和G4打开,Q3=Q6=/D,Q4=Q5=D。由SR锁存器的特性,Q=Q3=D,/Q=/D;CP=1时: 不管D怎么变化,Q3和Q4的信号都不会发生变化,所以输出也不会改变,具体原因由兴趣的可以推一下;下面就又重复CP=0的时刻了.

从上面的分析可以知道,输入信号D是在CP=0的时刻,经过与G5和G6两个与非门的延迟Tsu之后才传输到Q5和Q6端的,然后再CP跳变为1的时候被锁存到输出端的.
我们假设Tsu=5ns,如果D输入信号在CP跳变为1之前4ns(<5ns)的时候,才发生变化,那么在CP跳变为1时,输入信号D还没有传输到Q5和Q6,SR锁存器锁存的将是D变化之前的数据。也就是说D输入信号只有在CP跳变之前>Tsu的时间里准备好,触发器才能将数据锁存到Q输出端口,也就是所说的要保证信号的建立时间.

在CP跳变为1之后,Q5和Q6的信号要经过G3和G4两个与非门的延迟(Thd)才能传递到Q3和Q4,构成SR锁存器之前的D输入的阻塞,保证在CP=1是输入数据变化不会影响锁存结果。
我们假设Thd=5ns,如果D输入信号在CP跳变为1之后5ns内发生跳变,因为此时Q3和Q4还没发生变化,均为’1’,Q5和Q6的状态将会发生跳变。在CP=1的时刻,Q3和Q4跟随Q5、Q6的改变也发生跳变,末端SR锁存器的输出Q也发生跳变,造成输出结果不对。   也就是说在CP跳变为1之后的Thd时间内,D信号不能发生变化,也就是所说的要保证信号的保持时间(Thd)。

版权声明:本文为surpassal原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/surpassal/archive/2012/10/26/D_FlipFlop.html