组合逻辑电路只是数字电路的一部分,因为它有致命的缺点,例如要设计一个按下就亮再按就灭的灯。
为了改变第一个问题,有了时序电路,时序电路由组合部分(计算输出和计算下一个状态)和存储原件(存储电路状态)构成。由LOAD信号控制一拍一拍来,和储存原件相配合。
本章目的是用第三章的门电路构成一个理想器件去做memory device。本章以门电路为基础(不会打开),会用门的结构来构成存储器件,会根据电路结构的变化分析性能的变化。强调电路内部结构,但是不是结果,一旦达到满意的性能,立刻封装起来,这个模块就成为memory device。
(当然也可以用与非门构成,原理相同)
Rd = 0,Sd = 1的时候,Q就是1,这时候Sd就可以退化成零,输出还是保持
问题1:memory device应该有一个LOAD端,但是上面的结构没有,这就造成了两个输入端随时都能改变Q和Q‘的值,而这个输入有可能时干扰造成的
!因此引入下面的模型:
后半部分时是一个基本的与非门锁存器,只是输入是从前面两个与非门来的
而G3和G4受控于CLK端,只有CLK为1时,才允许数据进入
输入控制门+基本SR锁存器
功能表如下
(功能表和真值表最大的区别是Q会同时出现在输入和输出)
引入了时钟的概念,CLK在状态表中出现,但是它无法决定Q和Q’,CLK只是触发信号
图形符号标号时,CLK是C1或CLOCK1,和他配合的输入把标号放在前端1S,1R
问题2:功能表最后两行同时撤离的亚稳态相对于上个结构没有解除,反而增加了
当然也可以用二选一选择器实现:
数据存在主触发器,然后把主触发器关掉,从触发器打开
需要注意:从触发器打开期间,主触发器一直是关闭,所以虽然从触发器打开,但是只能拿走一个数据
所以Q的触发就不再是电平触发,而是一个边沿的变化(只在触发信号从0到1时,当然一定不是同时,而是后面一点点,从触发器打开取数)
任何时候都是一个触发器关闭一个触发器打开
!但凡电平触发的都可以构成主从触发器
所以每个clk周期,输出状态只可以改变一次
这时问题2没有解决,所以要么把RS接到一起变成D触发器,要么引出下面的结构
把Q反馈回来放在R端,把Q‘反馈回来放在S端
如果电路状态是0,同时来两个1,电路会被置1
如果电路状态是1,同时来两个1,电路会被置0
输入同为0时,还是保持
置1和置0也没问题
!!主从结构的脉冲触发的JK触发器的特点:主触发器打开期间只能翻转一次(因为从触发器在保持,Q和Q’已经封掉了一个输入端)
问题4:控制过程分析起来太麻烦,而且如果JK中一个收到干扰,也可能对结果造成影响
问题4引出边沿触发器,希望存储器写入数据的时间就在Q的变化时间,触发器的次态仅取决于clk下降沿(或上升沿)到来时的信号输入状态
前面的主从D触发器可以达到这个效果,但是如果把它当成边沿触发,需要改变画法(C1前面加圈是下降沿,不加是上升沿)
事实上,CMOS这个电路利用了一个假设:当TG1断开,TG2导通时,那么输入无效–>Q1’无效–>Q1即刻无效,也就是tcd=0(无效引起输出无效),所以它利用了传输延迟时间的tcd一定不等于零。
有一个问题:通电后初态不确定,所以加入异步置零置一端
异步信号不仅把最后输出改了,还改了中间这部分,因为如果只接到输出,一旦这两个信号撤离,输出还是会听中间的输出