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

全部评论

相关推荐

04-25 18:13
五邑大学 Java
无面如何呢:用心包装一下自己的实习
点赞 评论 收藏
分享
momo_校招版:给佬跪了 我周末三场都有点嫌多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务