2021年5月1日 星期六

HBLbits_Verilog Basic_Fsm3

HBLbits_Verilog Basic_Fsm3 

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.

StateNext stateOutput
in=0in=1
AAB0
BCB0
CAD0
DCB1


module top_module(

    input clk,
    input in,
    input areset,
    output out); //
parameter A=2'b00, B=2'b01, C=2'b10, D=2'b11;
    reg[1:0] state,next_state;
    // State transition logic
    always@(state or in)
        begin
            case(state)
                A: next_state = (in)? B:A;
                B: next_state = (in)? B:C;
                C: next_state = (in)? D:A;
                D: next_state = (in)? B:C;
                default:;
            endcase
        end
    // State flip-flops with synchronous reset
    always@(posedge clk or posedge areset)
        begin
            if(areset)
                state = A;
            else
                state = next_state;
        end
    // Output logic
    assign out = (state==D)? 1'b1:1'b0;
endmodule


沒有留言:

張貼留言

Modbus FC=1 (Coils read) & FC=15 (Coils Write)

Modbus FC=1  (Coils read)  & FC=15 (Coils Write)   「從 Modbus 設備讀取多個線圈(Coils)狀態,並立刻將這些狀態原封不動地轉寫到另一個記憶體位址(起始位址 16)」 。 整個流程使用了知名套件 node-red...