module andgate(clk,a); input clk; input a; //output c; parameter ZERO = 2'b00; parameter UN = 2'b01; parameter DEUX = 2'b10; parameter TROIS = 2'b11; reg [1:0]c; reg o; initial c[1:0] = ZERO; initial o = 0; always @(posedge clk) begin case(c[1:0]) ZERO: if (a == 0) begin c[1:0] = UN; o =0; end else begin c[1:0] = DEUX; o=1; end UN : begin c = DEUX; o=1; end endcase end endmodule