关于always 的敏感信号列表
always 后面插号内是敏感信号列表,当敏感信号每变化一次该模块就执行一次现举一例
integer a,b;
always @(posedge clk )
begin
if(~ca)begin
a <= 32'h0;
b <= 32'h0;//(1)
end
else if(~cb)begin
a <= d1;
b <= d2; //(2)
end
else begin
a <= d3;
b <= d4; //(3)
end
end
ca和cb是外部事件,你可以将它看做一个按键,当ca电平为0时,按理说a 和b应该是0,但有时候会出现一个任意的值,约二三十次会有一次
a 和B的值我是将它读出来在液晶上实时显示的
后来我将ca 和cb加到敏感信号列表后,改成如下
always @(posedge clk or negedge ca ornegedge cb) 就可以了
不知为什么上面那样不行 always @(posedge clk )
和
always @(posedge clk or negedge ca ornegedge cb)
的区别在于,一个是同步,一个是异步
但不至于为影响结果啊 高。
我的意思,连rtl综合视图都不看,就直接结论。真的很高。
那个下降沿检测也不错,不过消抖了更好。 真不知你想表达什么,这样的帖还是不要回复的好
与主题似乎没什么关系 回复【2楼】tear086 .COM 缺氧
高。
我的意思,连rtl综合视图都不看,就直接结论。真的很高。
那个下降沿检测也不错,不过消抖了更好。
-----------------------------------------------------------------------
奇怪
你咋知道我没看RTL视图 把a和b改成32位寄存器试试。 不知是不是integer 的原因
reg和integer综合出来的rtl是一样的。 回复【6楼】liu_xf 新发
-----------------------------------------------------------------------
./bbs_upload/files_30/ourdev_561281.png
参考:Summary for IEEE Verilog 1363-2001.pdf(文件大小:670K) 回复【6楼】liu_xf 新发
-----------------------------------------------------------------------
这样试试
integer a, b; 感谢楼上各位的回复,我测试一下,完了把结果发上来
页:
[1]