文章目录
若干常用的时序逻辑电路
- 主要有两类:寄存器和计数器,没有组合电路那么丰富
寄存器
- 用于寄存一组二进制代码,N位寄存器由N个触发器组成,可存放一组N位二进制代码
- 只要求其中每个触发器可置一置零
例:74HC175
(1)边沿触发
(2)提供了一个R端可以异步置零
移位寄存器
-
具有储存+移位功能
-
在二进制中,有时候移位就相当于运算,所以移位寄存器在数字电路中有相当重要的地位
-
这个电路连接很简单,采用的都是边沿D触发器
-
数据从D1进来,一个节拍写道Q0,下一个节拍到Q1,以此类推
-
!因为触发器有Tpd和Tcd的存在,才使得这种写法能够稳定。Tpd的作用是数到达之后要经过多长时间才能写到下一级。想把数据稳定地写道第一个触发器FF0的话,数据和CLK应该有一个配合,早来建立时间,晚走保持时间。而相对于FF1来说,上一级来的数据也应该早来晚走。早来没有问题,只要触发边沿不到,Q0的值就是稳定值。晚走就要靠上一级的Tcd了。
-
!也就是说从左向右,第一级的Tcd要大于第二级的Thold,依此类推。
-
工作波形图如下:
-
!!!用在哪?优化上一篇文章的这个模型
-
接到出来的Si上,移位寄存器的长度决定了加法器可以做多少位
-
!问题1:上面的依位寄存器用的是D触发器,我可以换成其他触发器么?
-
结论:无论换成JK或RS都可以(功能上)
-
!问题2:功能换完了,可以换触发方式么?
-
电平触发不可以,如果换了,当触发信号到达时,一串都成直通得了,电平触发不存在节拍的概念,所以不能用作移位;主从结构的脉冲触发也可以
-
应用:
(1)代码转换,串—>并
(2)数据运算 -
!问题3:如果我想并变串怎么办?
-
目前的电路显然不符合要求,因为每一位的数据不能独立到达
-
要求:左/右移,并行输入,保持,异步置零等(还是四位)
-
设计原理:
(1)异步置零肯定要有异步信号接入端
(2)左移右移或并行输入或保持,都意味着每一位触发器的数据来源有多个方向。数据来源有多个,任何时候只搭在一个上-----数据选择器。每一位触发器的数据来源都需要加一个四选一的数据选择器,而这个数据选择器的地址端有两位,相当于多功能依位寄存器的功能控制端。要明确一点:这四个数据选择器要处在相同的功能下,所以可以直接把这两位接出来,当作整个模块的功能选择端。 -
通过设计原理再看这个电路就不是那么复杂了。
- 所有的触发器都选择了带有异步置零端的触发器(因为有这个需求),把异步置零端甩出来就是异步置零了
- 工作模式选择就对应着左移,右移,并行,保持这四个功能
- 四选一数据选择器
- 对FF1模块的构成进行分析:
(1)G2是个反相器,所以FF1看着是个SR,其实就是个D边沿触发器
(2)数据选择器四个数据来源:左1的最左边(从左来),左二的最右边(并行输入),右二的最右边(从右边来),右1的最右边(自保持)
(3)通过S1,S0就可以控制左移右移还是保持还是并行输入
(4)直接封装成模块,不再打开
- 看到这个模块
(1)CLK的三角:边沿触发
(2)S1,S0选择功能,左移,右移,并行输入,自保持
&#