verilog 語法架構

 

    

module endmodule 語法之間是Verilog的程式碼起始與結束

/ / 註解

 

module  <module_name 模組名稱 >  ( <module_terminal_list 輸入/輸出的脚位名稱 > );    

...    
<module internals
程式內容 >   
 
...
    
...
    

endmodule

verilog語法中有大小寫的分別.所以大寫與小寫分別代表不同的定義

 

 
  • Verilog 有四種不同的層次用來描述一個模組的部,以下大概的敘述這四個層次:

    • 行為或是方程式層次 ( Behavioral or algorithmic level )
      這是 Verilog HDL  中的最高層次,在這個層次中我們只需要考慮模組的功能或是函數不需要考慮硬體方面詳細的電路是如何。在這個層次的設計工作就好像寫 C 語言一樣。

    • 資料處理層次 ( Dataflow level )
      在這個層次中我們必須要指明資料處理的方式。設計的人要
      明資料如何在暫存器中儲存與傳送,在設計裡資料處理的方式。

    • 邏輯閘層次 (Gate level )
      在這層次中模組是由邏輯閘連接而成,在這層次的設計工作就好像以前用描繪邏輯閘來設計線路一樣。

    • 低階交換層次 ( Switch level )
      這是 Verilog 最低階的層次,線路是由開關與儲存點組成。在這層次設計的人須知道電晶體的元件特性。

  • 由於外界觀看一個模組只看到其輸出與輸入部份,所以一個模組的表現與部描述所用的層次無關,通常都是四種混合使用。。

  • 在業界中被廣泛使用能做合成處理的暫存器轉移層次 ( RTL )則是結合行為層次與資料處理層次。

  • 通常越高偕的層次與製程的相關性越小,且修改度越大,越低階則相反。

 

 

引用一個模組的方法稱為取別名,所謂的別名,就好比是這個模組所創造出來的物件,一個模組所創造出來的別名,都是獨立且不相關的,且都具有與這個模組一模一樣的函數或功能。