module prac (
clk,
reset_n,
dataa,
datab,
outa,
outb
);
input clk;
input reset_n;
input dataa;
input datab;
output outa;
output outb;
reg reg1;
reg reg2;
reg reg3;
reg reg4;
assign outa = reg1;
assign outb = reg2;
assign rst_n = reg4;
always @ (posedge clk or negedge reset_n)
begin
if (!reset_n)
begin
reg3 <= 1'b0;
reg4 <= 1'b0;
end
else
begin
reg3 <= 1'b1;
reg4 <= reg3;
end
end
always @ (posedge clk or negedge rst_n)
begin
if (!rst_n)
begin
reg1 <= 1'b0;
reg2 <= 1'b0;
end
else
begin
reg1 <= dataa;
reg2 <= datab;
end
end
endmodule