题解 | #序列检测器(Moore型)#

序列检测器(Moore型)

https://www.nowcoder.com/practice/d5c5b853b892402ea80d27879b8fbfd6

`timescale 1ns/1ns

module det_moore(
   input                clk   ,
   input                rst_n ,
   input                din   ,
 
   output	reg         Y   
);
reg [3:0] ary;
always@(posedge clk or negedge rst_n)begin
    if(!rst_n)
        ary<='b0;
    else
        ary<={din,ary[3:1]};
end
always@(posedge clk or negedge rst_n)begin
    if(!rst_n)
        Y<='b0;
    else if(ary==4'b1011)
        Y<='b1;
    else
        Y<='b0;
end


endmodule

在Moore状态机中,输出只取决于当前状态,而不依赖于输入。在代码中,输出 Y 取决于寄存器 ary 的值,这个寄存器代表了状态机的当前状态。

全部评论

相关推荐

在校生实习:我觉得平时学校肯定有各种大作业吧。包装一下写项目里。特长那块喧宾夺主了,项目肯定是大头。特长里比如:熟悉vscode,这个感觉不具有吸引性。简要介绍你会什么语言,什么工具等就行了。同26找实习,我是个超级菜鸡😭大家一起加油
点赞 评论 收藏
分享
在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务