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

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

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

`timescale 1ns/1ns

module seq_circuit(
   input                C   ,
   input                clk ,
   input                rst_n,
 
   output   wire        Y   
);
    parameter STATE0=2'b00;
    parameter STATE1=2'b01;
    parameter STATE2=2'b10;
    parameter STATE3=2'b11;
    reg[1:0] state,next_state;
    always@(*)
        case(state)
                STATE0:next_state=C?STATE1:STATE0;
                STATE1:next_state=C?STATE1:STATE3;
                STATE2:next_state=C?STATE2:STATE0;
                STATE3:next_state=C?STATE2:STATE3;
            default:next_state=STATE0;
        endcase
    always@(posedge clk or negedge rst_n)
        if(~rst_n)
            state<=STATE0;
        else 
            state<=next_state;
    assign Y=((state==STATE2)&(C==1))|(state==STATE3);
endmodule
全部评论

相关推荐

09-20 22:39
中南大学
故事和酒66:意思就是用了AI辅助也不一定做得出来,还是有区分度,不然他不会让你用的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务