个人技术分享

This is a sequential circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

2030405060708090100110120130140150160170180190200210clkaq4560123456014560

module top_module (
    input clk,
    input a,
    output [3:0] q );
    always@(posedge clk)begin
        if(a)
            q <= 'd4;
        else if(q == 6)
            q <= 4'b0;
        else
            q <= q + 1;   
    end
endmodule