锁存器与触发器

锁存器与触发器

来源 https://zhuanlan.zhihu.com/p/363273167

常见存储电路

RS锁存器

锁存器的机制为电平触发。基本的RS锁存器有两个输入端:set端和reset端。两个输出端:Q和Q非

以下图为例:

  • 当置位时,SD位为1,RD位为0 ——>Q为1,Q非为0
  • 当复位时,SD位为0,RD位为1—— >Q为0,Q非为1

可以看出这时Q的状态就是锁存器的状态

  • 锁存器可以存值的原理:
    已复位为例,假设此时输入端的激励信号消失,那么SD和RD都为0。
    此时G1门的输入端的Q非应该为上次复位时的值1(时序电路的特点)
  • 禁止出现SD为1,RD也为1的情况。(既复位又置位),会导致Q的状态不确定。
  • RS锁存器也可使用与非门实现(低电平有效)

D锁存器

与非门实现的D锁存器结构如下:

 

  • 可以看出,当C=1时,该锁存器有效。此时D的状态决定了Qn+1的状态

  • 当C被拉高时,Q的状态随着D的状态变化
  • 当C被拉低时,锁存此时D的状态

但触发器会出现空翻现象,即当C有效,D不断变化时,一次时钟来到期间,触发器多次翻转


主从D触发器

触发器是边沿触发的。主从D触发器可以很好地解决空翻现象

  • F1为主触发器,F2为从触发器
  • 主从D触发器为边沿触发
    当激励产生,CLK=0,D=1,F1工作,此时Q1=1,但F2只能等到下一拍才可触发。下一拍CLK=1,Q1=1,F2工作,Q=1。
  • 可以有效解决空翻


寄存器

寄存器的工作原理与D触发器基本一致,可以保持当前值直到时钟边沿的到来。


右移位寄存器

移位寄存器就是根据D触发器的特性串联实现的,一次信号变化移动一位

  • 第一次变化如下图,第一位置1,其余位不变

  • 第二次变化如下图,第二位在时钟边沿到达时,由于触发器的特性而置1

  • 后面的变化与上面类似

触发器是时序电路中一种非常常见的元器件,在时序电路中用来锁存值,也与非阻塞赋值有关。

而在verilog编码中要尽量防止锁存器的出现。

============= End

原文地址:https://www.cnblogs.com/lsgxeva/p/15733012.html