Verilog刷题HDLBits——Fsm3

本文详细介绍了如何使用Verilog语言实现一个具有一个输入、一个输出和四个状态的Moore状态机。代码中包含了状态转换逻辑、异步复位功能以及输出逻辑。在每个时钟边沿或复位信号到来时,状态机根据输入信号更新状态,并在状态D时输出为高电平。
摘要由CSDN通过智能技术生成

Verilog刷题HDLBits——Fsm3

题目描述

See also: State transition logic for this FSM

The following is the state transition table for a Moore state machine with one input, one output, and four states. Implement this state machine. Include an asynchronous reset that resets the FSM to state A.
在这里插入图片描述
在这里插入图片描述

代码

module top_module(
    input clk,
    input in,
    input areset,
    output out); //
    
    parameter A=0,B=1,C=2,D=3;
    reg[1:0] next_state,state;
    // State transition logic
    always@(*)
        case(state)
            A: next_state=(in==1)?B:A;
            B: next_state=(in==1)?B:C;
            C: next_state=(in==1)?D:A;
            D: next_state=(in==1)?B:C;
        endcase

    // State flip-flops with asynchronous reset
    always@(posedge clk or posedge areset)
        if(areset)
            state<=A;
    	else
            state<=next_state;

    // Output logic
    assign out = (state==D);

endmodule

结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值