`timescale 1ns/1ns module ali16( input clk, input rst_n, input d, output reg dout ); //*************code***********// reg a1; reg a2; wire rst_o; always@(posedge clk or negedge rst_n) begin if(!rst_n) {a2,a1}<=0; else {a2,a1}<={a1,1'b1}; end assign rst_o=a2; always@(posedge clk or negedge rst_o) begin if(!rst_o) dout<=0; else dout<=d; end //*************code***********// endmodule