请教:关于多个敏感信号的问题--可能与异步有关
always@(posedge clk or negedge inc)begin
if(inc == 1'b0)
begin
if(qout >= 4'd9)
begin
qout = 0;
cout = 1;
end
else
begin
qout = qout + 1;
cout = 0;
end
end
else
begin
if( qout >= 4'd9)
begin
qout = 0;
cout = 1;
end
else
begin
qout = qout + 1;
cout = 0;
end
end
end就是一个模10计数器,希望它每个clk来临时加1,每个inc下降沿到来时也加1,结果仿真的时候,inc下降沿到来时,qout变化得很剧烈,根本不是加1,能否解释一下为什么会这样?
另外,如果去掉if语句,又会报错
求教:dizzy: 你的设计思想就不对,当然不能达到预期的结果,虽说你想采集inc的下降沿,可根本就没有实现采集下降沿相应的代码,你的always块是一个时钟和一个复位的模式,你不会是想在复位期间计数吧 always@(posedge clk or negedge inc)
begin
if(inc == 1'b0)
第一行与第三行是不是有问题啊
页:
[1]