Verilog hdl 中always @(negedge clrn or posedge clk) 是什么意思?

always @(negedge clrn or posedge clk)
有什么用啊?
麻烦帮解释一下

呵呵,clrn和clk都是你自己定义的信号.clk一般是时钟信号,clrn就不太容易猜了。这句话的意思是每当 clrn信号的下降沿,或者clk的上升沿是,就开始执行always下的语句啦。
给你举个例子。
module counter(clk,clrn,q);'一个16进制计数器clk为时钟,clrn为低电平复位信号
input clk,clrn;
output [2:0]q;
always(negedge clrn or posedge clk)
begin
if (!clrn)'有复位信号
begin
q<=4'b0000;
end
else if(clk)'时钟来啦~
begin
q<=q+8'b00000001;
if(q==4'b1111)
q<=4'b0000; '计数满后清零
end
end
endmodule
自己顺手写的,可能有语法错误哈哈。希望对你有帮助
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-03
negedge clrn 为:当clrn下降沿时触发
posedge clk 为:当clk上升沿时触发
合起来negedge clrn or posedge clk就是
当clrn下降沿时触发或当clk上升沿时触发
always @( )
是关键词,意思就是当()里的内容发生时执行下面的程序
相似回答