这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 请教关于D触发器的建立时间和保持时间

共3条 1/1 1 跳转至

请教关于D触发器的建立时间和保持时间

菜鸟
2013-10-22 20:31:25     打赏

    最近一直在纠结建立时间和保持时间,D触发器的结构众多,在网上挑了边沿D触发器(上升沿触发)的结构分析一下,碰到了问题:

          所有与非门的延迟先暂不考虑。

    1,CLK=0时,与非门G3G4的输出均为1,输出的1反馈到G1G2作为输入,导致G1G2的输出分别为D/D,输出的D/D又反馈到G3G4;而G5G6在此期间一直锁存着之前的数据,

不受输入影响

    2,CLK=1时,与非门G3G4的输出变为/DD,输出到G5G6作为输入,根据锁存器的原理,G5G6最终会稳定的输出Q/Q

             再考虑与非门的延时。

    G2G1 的延迟为T1,当CLK=0时,如果D在时钟跳变前的TT<T1)时间才从d1更新为d2,那么G1G2在时钟跳变时刻的输出值肯定是d1/d1,而不是d2/d2,进而影响到G3G4的输出。如果要使得G1G2的输出为d2/d2,就必须要求D起码在时钟跳变之前的T1时间内维持d2稳定不变。这个T1就是建立时间Tsu这个还可以理解。

    CLK=1时,G3G4的延迟为T2,当CLK=1时,如果D在时钟跳变之后的TT<T2)时间从d2更新为d3,由于G3G4的输出在T的时间内还保持为1,所以D的更新会影响G2G1的输出,进而影响G3G4的输出,进而影响G5G6的输出,造成输出Q/Q不稳。T2为保持时间。

              clk = 1时,D在时钟跳变之后的T时间从d2更新d3,G3,G4的输出由于延时在T时间内还保持为1,

问题来了,D的更新也会受到G1,G2 的延时啊,所以D更新如何影响G1,G2的输出啊?此时的输出应该保持才对啊,虽然我知道我的理解有问题,但是不知道错在哪里?恳求各位大大指教。


菜鸟
2013-10-22 21:13:04     打赏
2楼
仔细想了一下,我是这样理解的,把每一个与非门当作是两个现实中的门(有门框,前门带锁后门敞开,两个门中间有段距离),G3,G4的输出还是1时,此时D值更新d3,由于此时G2,G1的一个端口还是1,也就是前门还没锁,(等前门锁了,1和D的更新值d3已经进入了通道,已经晚了),1已经在门口,而G3,G4的输出更新值还在来这个(G1,G2前门)门的路上,或者是还没从G3,G4的后门(出口)出来,此时D的更新值d3和1一起进入了G1,G2的前门,来到通道,由于后门不带锁,所以相与非的值传到了G3,G4,而这时G3,G4的一个端口由于Clk = 1,所以从G1,G2出来的更新值和 clk = 1,一起进入了G3,G4的前门,进入通道,导致G3,G4的输出也随之更新.,锁存的值不正确,本来应该所存的是d2,却锁存的的是d3.

高工
2013-10-23 00:44:23     打赏
3楼

好像是利用传输延迟的维持阻塞触发器。

楼主可以百度一下原理,就一目了然了。


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]