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

全部评论

相关推荐

03-24 16:56
已编辑
肇庆学院 后端
一天代码十万三:你看看人家进大厂的简历就知道了,你这个学历得acm+大厂实习+熟悉底层+运气很好 才有可能进某个大厂,因为大部分是直接卡学历的
投递快手等公司10个岗位
点赞 评论 收藏
分享
韵不凡:软件开发的工作需要博士吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务