always @(posedge clk)
begin
if(wr == 1'b1)
begin
if(wr_addr18 <= wr_end_addr)
begin
if(!flag)
begin
we_r <= 1'b1;
wr_addr18 <= wr_addr18_reg;
wr_addr18_reg <= wr_addr18_reg + 18'd1;
bufdata <= adc_data_in;
flag <= 1'b1;
end
else
begin
we_r <= 1'b0;
wr_addr18 <= wr_addr18;
bufdata <= bufdata;
flag <= 1'b0;
end
end
else
begin
we_r <= 1'b0;
flag <= 1'b0;
wr_addr18 <= wr_addr18;
bufdata <= bufdata;
end
end
else
begin
we_r <= 1'b0;
wr_addr18_reg <=18'd0;
wr_addr18 <= 18'd0;
bufdata <= 8'd0;
flag <= 1'b0;
end
end