Verilog語法基礎
一、Verilog HDL
Verilog HDL是一種用于數字系統(tǒng)設計的語言。用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型也稱為模塊。Verilog HDL既是一種行為描述的語言也是一種結構描述的語言。這也就是說,無論描述電路功能行為的模塊或描述元器件或較大部件互連的模塊都可以用Verilog語言來建立電路模型。如果按照一定的規(guī)矩編寫,功能行為模塊可以通過工具自動地轉換為門級互連模塊。Verilog模型可以是實際電路的不同級別的抽象。這些抽象的級別和它們對應的模型類型共有以下五種:
1.1、 系統(tǒng)級(system): 用語言提供的高級結構實現設計模塊外部性能的模型。
1.2、 算法級(algorithm): 用語言提供的高級結構實現算法運行的模型。
1.3、 RTL級(Register Transfer Level):描述數據在寄存器之間流動和如何處理和控制這些數據流動的模型。
1.4、 門級(gate-level):描述邏輯門以及邏輯門之間的連接的模型。
1.5、 開關級(switch-level):描述器件中三極管和儲存節(jié)點以及它們之間連接的模型。
二、Verilog HDL模塊
一個復雜電路系統(tǒng)的完整Verilog HDL模型是由若干個Verilog HDL模塊構成的,每一個模塊又可以由若干個子模塊構成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設計的模塊有交互聯系的現存電路或激勵信號源。利用Verilog HDL語言結構所提供的這種功能就可以構造一個模塊間的清晰層次結構來描述極其復雜的大型設計,并對所作設計的邏輯電路進行嚴格的驗證。
Verilog HDL行為描述語言作為一種結構化和過程性的語言,其語法結構非常適合于算法級和RTL級的模型設計。這種行為描述語言具有以下功能:
(1)、可描述順序執(zhí)行或并行執(zhí)行的程序結構。
(2)、用延遲表達式或事件表達式來明確地控制過程的啟動時間。
(3)、通過命名的事件來觸發(fā)其它過程里的激活行為或停止行為。
(4)、提供了條件、if-else、case、循環(huán)程序結構。
(5)、提供了可帶參數且非零延續(xù)時間的任務(task)程序結構。
(6)、提供了可定義新的操作符的函數結構(function)。
(7)、提供了用于建立表達式的算術運算符、邏輯運算符、位運算符。
Verilog HDL作為一種高級的硬件描述編程語言,與C語言的風格有許多類似之處。其中有許多語句如:if語句、case語句等和C語言中的對應語句十分相似。如果讀者已經掌握C語言編程的基礎,那么學習Verilog HDL并不困難。我們只要對Verilog HDL某些語句的特殊方面著重理解,并加強上機練習就能很好地掌握它,就能利用它的強大功能來設計復雜的數字邏輯電路系統(tǒng)。
三、模塊的結構
3.1.模塊的結構
Verilog的基本設計單元是“模塊”(block)。一個模塊是由兩部分組成的,一部分描述接口,另一部分描述邏輯功能,即定義輸入是如何影響輸出的。下面舉例說明:
請看上面的例子: 程序模塊旁邊有一個電路圖的符號。在許多方面,程序模塊和電路圖符號是一致的,這是因為電路圖符號的引腳也就是程序模塊的接口。而程序模塊描述了電路圖符號所實現的邏輯功能。以上就是設計一個簡單的Verilog程序模塊所需的全部內容。從上面的例子可以看出,Verilog結構位于在module和endmodule聲明語句之間,每個Verilog程序包括四個主要部分:端口定義、I/O說明、內部信號聲明、功能定義。
-
Verilog
+關注
關注
28文章
1351瀏覽量
110100 -
語法
+關注
關注
0文章
44瀏覽量
9814
發(fā)布評論請先 登錄
相關推薦
評論