Можно это реализовать проще:
Код
module trig(rst,clk,start,ready);
parameter s0=2'b00, s1=2'b01, s2=2'b10, s3=2'b11;
input rst,clk,start;
output ready;
reg ready;
reg [1:0] curr_state;
always @ (posedge rst or posedge clk)
begin
if (rst) begin
curr_state <= s0;
ready <= 1'b0;
end else begin
case (curr_state)
s0: begin
if (start)
curr_state <= s1;
else
curr_state <= s0;
end
s1: begin
ready <= 1'b1;
curr_state <= s2;
end
s2: begin
ready <= 1'b0;
curr_state <= s3;
end
s3: begin
if (!start)
curr_state <= s0;
else
curr_state <= s3;
end
endcase
end
end
endmodule