2. For the following Verilog code:
a. Fill out the variable list in the module declaration.
b. Assuming all values have an initial value of zero at $t = 0$, sketch A, B, and Y as a
function of time on the axes given.
module mystery(
output [1:0] Y;
input Q, X;
);
register A, B;
assign Y[1] = Y[0] & X;
assign Y[0] = A | B;
always @ (negedge Q)
begin
A <= ~X & A | X & ~B;
B <= A ^ B;
end
endmodule