题解 | #根据状态转移表实现时序电路#

根据状态转移表实现时序电路

https://www.nowcoder.com/practice/455c911bee0741bf8544a75d958425f7

`timescale 1ns/1ns

module seq_circuit(
      input                A   ,
      input                clk ,
      input                rst_n,
 
      output   wire        Y   
);
    parameter s0 = 0,s1=1,s2=2,s3=3;
    reg [1:0] st,nst;
    //先写状态转移
    always @(posedge clk or negedge rst_n)begin
        if(!rst_n)
        st <= s0;
        else st <= nst;
    end

    //再写组合逻辑
    always @(*)begin
    case (st)
    s0:nst = A ? s3 : s1;
    s1:nst = A ? s0 : s2;
    s2:nst = A ? s1 : s3;
    s3:nst = A ? s2 : s0;
    endcase
    end

    //最后输出方程
   assign Y = (st ==s3 );

endmodule

全部评论

相关推荐

02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务