always @(表達式)與 @(表達式)的應用

轉載至異步

------------------------------------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

相關文章
相關標籤/搜索