本帖最后由 fpgaw 于 2010-7-18 11:15 编辑
--------------------------------------------------------------------------------
滤波程序仿真结果不对,请大侠帮助分析
module filter(pass,lag,pass_out,lag_out);
input pass,lag;
output pass_out,lag_out;
reg pass_reg,lag_reg;
parameter N=8;
reg [4:0] count;
reg temp;
always@(pass or lag)
begin
temp=pass | lag ;
end
always@(posedge temp)
begin
if(temp==1)
begin
if(pass==1)
begin
count=count+1;
if(count==5'b10000)
begin
count=N;
pass_reg='b1;
end
else
pass_reg=0;
end
if(lag==1)
begin
count=count-1;
if(count==0)
begin
lag_reg='b1;
count=N;
end
else
lag_reg=0;
end
end
end
assign pass_out=pass_reg;
assign lag_out=lag_reg;
endmodule
Sample Text此程序中,输入超前和滞后两个脉冲,当超前脉冲个数达到8个时,输出一个超前脉冲,当滞后脉冲达到8个时,输出一个滞后脉冲,类似消抖的程序,仿真的结果是count不变,pass_out,lag_out均得不到说得到得脉冲,请大侠帮助分析原因,改如何修改 |