`timescale 1ns/1ns module seq_circuit( input A , input clk , input rst_n, output wire Y ); reg q0, q1; always@(posedge clk or negedge rst_n) begin if(~rst_n) begin q1 <= 0; end else begin q1 <= A ^ q0 ^ q1; end end always@(posedge clk or negedge rst_n) begin if(~rst_n) begin q0 <= 0; end else begin q0 <= ~q0; end end assign Y = q0 & q1; endmodule