always @(posedge clk)
begin
if(cnt_rst<100000)
begin
cnt_rst<=cnt_rst+1;
end
else
begin
rst_n<=1;
end
end
always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
end
else
begin
case(filter_satae)
0: begin
if(pulse_out==0)
begin
filter_satae<=filter_satae+1;
end
else if(cnt_delay<data)
begin
if(pulse_in==0)
begin
cnt_delay<=cnt_delay+1;
end
else
begin
cnt_delay<=0;
//data<=pulse_delay*200;
end
end
else if(pulse_in==0)
begin
pulse_out<=0;
cnt_delay<=0;
end
end
1: begin
filter_satae<=filter_satae+1;
end
2: begin
if(pulse_out==1)
begin
filter_satae<=filter_satae+1;
end
else if(cnt_delay<data)
begin
if(pulse_in==1)
begin
cnt_delay<=cnt_delay+1;
end
else
begin
cnt_delay<=0;
//data<=pulse_delay*200;
end
end
else if(pulse_in==1)
begin
pulse_out<=1;
cnt_delay<=0;
end
end
3: begin
filter_satae<=0;
//data<=pulse_delay*200;
end