- 數字通信同步技術的MATLAB與FPGA實現:Altera/Verilog版(第2版)
- 杜勇編著
- 1185字
- 2024-01-19 15:29:48
1.5.2 Verilog HDL的特點
Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby首創的。Phil Moorby后來成為Verilog-XL的主要設計者和Cadence公司(Cadence Design System)的第一個合伙人。在1984至1985年,Phil Moorby設計出了第一個關于Verilog-XL的仿真器;1986年,他對Verilog HDL的發展又做出了另一個巨大貢獻—提出了用于快速門級仿真的XL算法。
隨著Verilog-XL算法的成功,Verilog HDL得到了迅速發展。1989年,Cadence公司收購了GDA公司,Verilog HDL成為Cadence公司的產品。1990年,Cadence公司決定公開Verilog HDL,于是成立了OVI(Open Verilog International)組織來負責Verilog HDL的發展。基于Verilog HDL的優越性,IEEE于1995年制定了關于Verilog HDL的IEEE標準,即Verilog HDL 1364—1995。隨后Verilog HDL不斷完善和發展,并先后制定了IEEE 1364—2001、IEEE 1364—2005兩個標準。
Verilog HDL是一種用于數字邏輯電路設計的語言,采用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述語言,也是一種結構描述語言。這也就是說,既可以用電路的功能來進行描述,也可以用元器件及其連接來建立電路的Verilog HDL模型。Verilog HDL模型可以是實際電路的不同級別的抽象,這些抽象的級別和它們對應的模型類型共有以下幾種。
? 系統級(System):用高級語言結構實現設計模塊的外部性能的模型。
? 算法級(Algorithm):用高級語言結構實現設計算法的模型。
? RTL級(Register Transfer Level):描述數據在寄存器之間傳輸,以及如何處理這些數據的模型。
? 門級(Switch-Level):描述器件中三極管和存儲節點,以及它們之間連接的模型。
一個復雜電路系統的完整Verilog HDL模型是由若干Verilog HDL模塊構成的,每一個模塊又可以由若干子模塊構成。有些模塊需要綜合成具體電路,而有些模塊只是與用戶設計的模塊交互的電路或激勵信號源。利用Verilog HDL可以構造清晰的模塊間層次結構,從而描述復雜的大型設計,并對設計的邏輯進行嚴格的驗證。
作為一種結構化和過程性的語言,Verilog HDL的語法結構非常適合算法級和RTL級的模型設計,具有以下功能。
? 可描述順序執行或并行執行的程序結構;
? 可通過延遲表達式或事件表達式來明確地控制過程的啟動時間;
? 可通過命名的事件來觸發其他過程里的激活行為或停止行為;
? 可提供條件、if-else、case、循環程序結構;
? 可提供帶參數且非零延續時間的任務(Task)程序結構;
? 可提供定義新的操作符的函數結構(Function);
? 可提供用于建立表達式的算術運算符、邏輯運算符、位運算符。
作為一種結構化的語言,Verilog HDL也非常適合于門級和開關級的模型設計,具有以下功能。
? 可提供完整的一套組合型原語(Primitive);
? 可提供雙向通路和電阻器件的原語;
? 可建立MOS器件的電荷分享和電荷衰減動態模型。
Verilog HDL的構造性語句可以精確地建立信號的模型,這是因為在Verilog HDL中可通過延遲和輸出強度的原語建立精確程度很高的信號模型。信號值有不同的強度,可以通過設計寬范圍的模糊值來降低不確定條件的影響。
作為一種高級的硬件描述編程語言,Verilog HDL有著類似C語言的風格,其中許多語句和C語言中的對應語句十分相似。如果讀者有一定的C語言編程基礎,那么學習Verilog HDL并不困難,只要理解Verilog HDL的某些語句并加強練習就能很好地掌握該語言,進而設計復雜的數字邏輯電路。