当前位置:   article > 正文

序列检测器(Moore型)

序列检测器(Moore型)

目录

描述

输入描述:

输出描述:

参考代码


 

描述

请用Moore型状态机实现序列“1101”从左至右的不重叠检测。
电路的接口如下图所示。当检测到“1101”,Y输出一个时钟周期的高电平脉冲。

接口电路图如下:

 

ec5c1788003628a8c972607bc7aa0447.png

输入描述:

   input                clk   ,
   input                rst_n ,
   input                din   ,

输出描述:

   output    reg         Y   

参考代码

  1. `timescale 1ns/1ns
  2. module det_moore(
  3. input clk ,
  4. input rst_n ,
  5. input din ,
  6. output reg Y
  7. );
  8. reg [4:0] state, next_state;
  9. parameter S0 = 5'b00001,
  10. S1 = 5'b00010,
  11. S2 = 5'b00100,
  12. S3 = 5'b01000,
  13. S4 = 5'b10000;
  14. always@(posedge clk or negedge rst_n)
  15. if(!rst_n)
  16. state <= S0;
  17. else
  18. state <= next_state;
  19. always@(*)
  20. case(state)
  21. S0: next_state <= din ? S1 : S0;
  22. S1: next_state <= din ? S2 : S0;
  23. S2: next_state <= ~din ? S3 : S2;
  24. S3: next_state <= din ? S4 : S0;
  25. S4: next_state <= din ? S1 : S0;
  26. default: next_state <= S0;
  27. endcase
  28. always@(posedge clk or negedge rst_n)
  29. if(!rst_n)
  30. Y <= 1'b0;
  31. else if(state == S4)
  32. Y <= 1'b1;
  33. else
  34. Y <= 1'b0;
  35. endmodule

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/772997
推荐阅读
相关标签
  

闽ICP备14008679号