D触发器
D触发器的真值表如下:
课本上的D触发器是下面的结构:
利用的是JK触发器,一个主触发器一个从触发器,下面是JK触发器的样子
采用的是很多组合逻辑组合而成。
下面这一种应该是最贴切实际的D触发器的类型(用visio画的图):
如上所示,采用的gate数目很少,主要采用了两种逻辑,一种是反相器,另一种是传输门结构,而且这个触发器是上升沿触发。主要原理是:
Clk是低电平时T1打开,T2和T3关闭,T4打开,这样T3就将D信号阻挡在前面,D信号传输不过去到Q,而Q因为T4打开,保持输出不变;当低电平转高电平时,信号经过I2传输到I3,这时候T1关闭,T2和T3打开,T4关闭,信号经过T2和T3等路径到达最终的Q端,并且因为T2,I2,I3的缘故,这个值一直在传输,即将clk低电平转高电平的时候的上升沿的那个D的值传输了过去。
这里有三个概念:分别是建立时间,保持时间和clk-Q的时间:
建立时间:建立时间是指在clk前为保证数据正确的得到,数据所需要的保持稳定的时间;
保持时间:保持时间是指clk后为保证数据能正确的显示出来,需要保持稳定的时间;
Clk-Q时间(传输时间):是指从数据稳定传输最终输出Q的时间;
在这里:建立时间为Tsetup=TI1+TI2+TI3+TT3;保持时间为Thold = Tclose-to-open-TI1
TClk-Q=TT3+TI4+TI5;
其实前一部分可以改为以下情形:
即将TT2去掉,从逻辑上看,可能会出现当T1打开时,进入的值与I3传过来的值相矛盾,产生错误的情况,但如果采用I2有较大的驱动能力,为一个较大的反相器,而I3仅能保持逻辑,驱动能力等较小的话,即使出现逻辑相矛盾的情况,最终结果也不会出现错误,但这种逻辑毕竟也是有问题的,所以建议不要使用这种。
另外,建立时间,保持时间的概念在时序逻辑中是必要的,一定要了解;有一点要注意:建立时间可以是负的,保持时间也可以是负的,但两者不可以同时是负的,这里留一个小疑问,回头再解说。