
 通过观察可知,在a、b同时为0或1时,state的值改变
state的值可以改变q的输出,1为ab的同或,0为异或
 利用assign q=进行输出
module top_module (
    input clk,
    input a,
    input b,
    output q,
    output state  );
    always@(posedge clk)
        if(a&b)state<=1'b1;
    	else if(!(a|b))state<=1'b0;
    assign q= state?!(a^b):a^b;
endmodule



















