当前位置:   article > 正文

序列检测器(实例代码)_用moore型状态机验证1101序列。

用moore型状态机验证1101序列。

题目:

用Moore型状态机实现序列“1101”从右到左的不重叠检测。

1、请画出状态转移图,其中状态用S1,S2,....来标识。

2、针对这个具体设计,如何衡量验证的完备性?


从右到左检测即检测的顺序为1、0、1、1,不重叠检测即1011011这种情况只检测到一次,10111011才是检测到两次。

在写代码前,一定要画出状态转换图,状态转换图画对了,代码才能写对。另外也给出了重叠检测的状态图,如下图(b)所示。

下面给出不重叠检测的实现代码:

  1. `timescale 1ns/1ns
  2. //检测1011序列,不重叠
  3. module seq_detect(
  4. input clk,
  5. input rst_n,
  6. input seq_in,
  7. output reg detect_ok
  8. );
  9. localparam [2:0] S1=3'd0,
  10. S2=3'd1,
  11. S3=3'd2,
  12. S4=3'd3,
  13. S5=3'd4;
  14. reg [4:0]CS,NS;
  15. always&#
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/206825
推荐阅读
相关标签
  

闽ICP备14008679号