module dff_async_reset (
input CLK,
input RST,
input D,
output reg Q
);
// async active-high reset with posedge sensitivity
always @(posedge CLK or posedge RST) begin
if (RST)
Q <= 1'b0;
else
Q <= D;
end
always @(posedge CLK) begin
Q <= D;
end
endmodule