quartus仿真30:D触发器构成的可重复序列111探测器

  • 这类序列探测题目也是有套路的,状态一多不就不好用卡诺图化简了吗。 选用触发器就是JK和D两种,一般D比较简单,JK就是故意折磨你。
  • 米里型最后一个状态111是不需要设置的,因为已经存储了11再接收到1就可以确认收到111。
  • 不同状态分配影响的是电路复杂程度,但具体原则就是随缘吧。。我一般挑选格雷码来进行状态分配,对比一下PPT里用00,01和10实现的状态编码。
  • 通过对比连线可以看出,使用格雷码编码的方式更简单一点(从卡诺图化简结果同样也可以看出来)。上图为PPT里状态编码方式,下图是我使用的格雷码编码方式。
    quartus仿真30:D触发器构成的可重复序列111探测器

quartus仿真30:D触发器构成的可重复序列111探测器

quartus仿真30:D触发器构成的可重复序列111探测器

  • 分析时序图可以发现,当设为下降沿状态改变时,在11时就检测输出1。这是由于米里型特性决定的,输出随着输入而改变,当输入第二个1时Q1Q0=11但此时要等到下降沿到来这个第二个1才算输入结束,故状态机误检测出1。解决办法是让输入序列同时在时钟上升沿改变。

quartus仿真30:D触发器构成的可重复序列111探测器

  • 修改输入波形为时钟上升沿改变后输出结果正确,出现尖峰

quartus仿真30:D触发器构成的可重复序列111探测器

  • 观察状态编码的变化,Q1Q0是我编码方式的状态输出,Q3Q4是PPT里编码方式的状态输出。Q1Q2是00,01,11输出,Q3Q4是00,01,10输出。

quartus仿真30:D触发器构成的可重复序列111探测器