转载至异步
------------------------------------blog
@(条件表达式) do_something;
表示等待条件表达式知足,而后do_something,而后就往下走了。一般用在testbench中,不可综合。
------------------------------------
always @(a or b or c) begin
do_something;
end
表示不停地监测a、b、c,一旦它们任何一个发生变化,就马上do_something,而且这个“监测”是始终存在的。这种电路综合出来时组合逻辑电路。
------------------------------------
always @(posedge clk) begin
do_something;
end
表示不停地监测clk的上升沿,一旦监测到,就马上do_something,而且这个“监测”是始终存在的。这种电路综合出来时时序逻辑电路。
固然,也能够把posedge改为negedge,那就成了监测降低沿。
带异步复位端的寄存器的写法相似是这样的
always @(posedge clk or negedge rst_n) begin // reset is active low
if(rst_n) reset_process;
else set_register_value;
endget