触发器

复习

  1. 第十章:设计完成了乘法器,本质是多次加法,也可以用 Booth 算法等进行优化
  2. 第十一章:设计完成了除法器,本质是移位和减法的组合
  3. 第十二章:利用上面的部件,制造了一个简单的 ALU(Arithmetic Logic Unit,算术逻辑单元)
  4. 第十三章:突发奇想将部件门首尾相连,观察到了“记忆”现象
  5. 第十四章:利用首尾相连的“记忆”,实现了简单的 1 位锁存器

TL;DR

  • 触发器是计算机中最基本的记忆单元
  • 触发器同锁存器一样,可以存储一位二进制数据(0 或 1)
  • 不同的是,触发器不容易被噪声信号(错误输入)干扰
  • 触发器是实现时序逻辑电路的基础
  • 触发器是构建寄存器和存储器的基本单元

正文

引言

  上一章介绍的锁存器,其实也可以叫做触发器。但很多时候,我们说的触发器,其实是边沿触发的锁存器。

  上一章我们最后也提到过,如果输入当中有噪声信号(错误信号),那么这些触发器很有可能会给出一个错误输出。对于 D 触发器而言,如果错误信号出现在 D(Data) 端口,输出还有可能不会改变,但一旦出现在 WE(Write_Enable) 端口,情况可能会很严重。

  来看一个例子。这个例子中,我们假设 D 端口需要存储的数据在 0 和 1 之间不断跳变,那么:

  • 如果没有噪声信号, WE 端口始终为 1,则输出应该会和 D 端口一样,跟着 D 端口同步变化。
  • 如果没有噪声信号, WE 端口始终为 0,则输出应该会一直保持上一个时刻的值。

无噪声信号时序图

  解释一下怎么看这种时序图。

  • 在任意一个时间,画一条竖直的线
  • 输入与输出,在这条线上的取值,即为该时间时刻的取值
  • 各个时间时刻的集合,就是时序图

  时序图本质是输入输出随时间变化的情况。

噪声信号为低电平

  如果突然出现一些低电平的噪声信号(因为 WE 端口始终为 1 才是预期结果,所以噪声信号肯定是低电平的 0):

  我们看见,输出 Q 从画箭头的地方开始,不再跳变,直到噪声信号被纠正。

噪声信号为高电平

  同理,如果没有噪声信号, WE 端口始终为 0,则输出应该一直保持不变。

  如果突然出现一些高电平的噪声信号,我们可以看见,输出本应一直保持为 0,但有一段时间跟随 D 端口同步变化。

  上述噪声信号引起的输出变化,有时被称为“空翻现象”。

  而上面这种观察输入与输出的波形图,叫做时序图。

边沿触发

  有什么办法能够防止这种情况出现呢?

  信号有两种,一种高电平,一种低电平。信号来回变化的时候,总会有一瞬间的变化吧?我们以这个变化的瞬间为标准,不以信号的具体值,而是信号的变化,这样能不能防止噪声信号干扰呢?

  我们可以来试一下。

  为了方便解释,我们把低电平跳变到高电平(从 0 到 1)的一瞬间,称为“上升沿”,把高电平跳变到低电平(从 1 到 0)的一瞬间,称为“下降沿”。

边沿 D 触发器

  受机械锁存装置的分步操作(例如先“预存”再“锁定”)的影响。业界采用主从触发器的形式,实现边沿敏感触发器。第一个触发器称为“主触发器”,第二个触发器称为“从触发器”。

  例如主触发器在 WE = 1 时接收输入并暂存,从触发器在 WE = 0 时复制主级状态。这种物理隔离确保输出仅在 WE 下降沿(或上升沿)更新。

  为了方便我们看中间结果,我们加一个 Q_Middle 输出端口,观察其变化。

  这是一个上升沿敏感边沿 D 触发器(因为主触发器,也即第一个触发器前面加了一个非门,所以 WE 为 0 时,主触发器才会更新 D 值),时序图长这样:

  可以看到 Q_Middle 达到了我们理想中的效果。如果忽略 Q_Middle 这个中间结果,直接观察最终结果 Q, WE 和 D,可以发现 Q 的每次更新都是在 WE 信号变化时才更新。

  注意观察图中的噪声信号,因为主从隔离,它并未导致最终结果 Q 的更新。在 35μs 的时刻还有一次上升沿,为什么 Q 没有更新呢?因为这个时刻,D 信号为 0。

  现在可以更新边沿 D 触发器的真值表了。

DWEQ(下一状态)说明
X(无关)其他情况Q(保持)保持当前状态
0↑(上升沿)或↓(下降沿)0置位
1↑(上升沿)或↓(下降沿)1置位

  注意,↑(上升沿触发)和↓(下降沿触发)是两个不同的触发方式,画图时的表示也不一样。上面的真值表为合写,实际上一个边沿敏感 D 触发器只能有一个触发方式。

其他触发器

  为了方便,电路中还设计了其他基本触发器,例如 JK 触发器,T 触发器等等。为保持简介,此处不展开。只在最后的补充模块贴出其表示符号、原理图、真值表和输出公式。感兴趣的读者可以自行阅读。

  不阅读其他触发器也不影响后续学习。

小结

知识点

  • 边沿触发原理
  • D 触发器结构
  • 主从式触发器
  • JK/T 触发器

参考资料

  1. Wikipedia(zh):触发器:触发器的详细介绍
  2. Wikipedia(zh):时序逻辑:时序逻辑的基本概念

推荐

协议

  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

封面图

设计师 | 南国微雪

补充

JK 触发器

T 触发器