这边是寄存器部分,用的是JK触发器+时钟控制
第二张图是单独的JK触发器,表达式大体上是Q=非(非(q+A)+B)
其中A是图中右边的输入,q是寄存器上一期的输出,B是图中左侧的输入,Q是寄存器当期输出
上述JK触发器等价于第三张图这样的结构,可见第三张图的结构更简单,但我并没有采用,因为不够浪漫:)
下面是控制部分,是一种D触发器,之所以要加入这部分,是为了避免JK触发器遇到A=1,B=1这样的无效输入。同时我们要缩减信号变化的时间范围,当前图中亮起的线是时钟线,这个D触发器会在时钟线亮起时被锁住,这样就保证了JK触发器的输入信号变化只发生时钟的下降沿。