天天看點

verilog學習總結

verilog學習總結

always内使用非阻塞指派, 即“<=”

always外使用阻塞指派, 即“=”

若always外面使用非阻塞指派或者always内部使用阻塞指派,會是什麼結果呢?

$ 符号代表verilog的系統任務和函數

$time: 擷取目前的仿真時間

$display: 顯示和監視信号值得變化

$monitor: 顯示和監視信号值得變化

$stop :暫停仿真

$finish : 結束仿真

if else, case 語句一定是完備的語句,要避免系統綜合生成鎖存器。

注意:

  1. if 語句後面必須有else語句,且兩者數目相同。
  2. case 語句必須加上 default語句。
  3. 鎖存器:沒有鎖存器就意味着春組合電路,若綜合生成鎖存器,則變成時序電路。因為組合電路隻與目前輸入有關,與過去時刻輸入沒有關系,引入鎖存器後,會有之前的狀态影響到目前結果的輸出,即此時電路由組合電路轉變為時序電路。

繼續閱讀