题解 | #序列检测器(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 的值,这个寄存器代表了状态机的当前状态。

全部评论

相关推荐

jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务