Verilog 與 VHDL 的差異:兩種硬體描述語言比較
Verilog 與 VHDL 是為了模擬與邏輯合成而描述數位電路的兩種主要硬體描述語言(HDL)。Verilog 的語法簡短,類似 C 語言,容易入門。VHDL 的描述較長,型別嚴格,因此容易及早發現錯誤。兩者都能描述相同的電路,選擇的依據多半是業界、公司與既有的程式碼。
| 項目 | Verilog(含 SystemVerilog) | VHDL |
|---|---|---|
| 來歷 | 1980 年代由 Gateway Design Automation 開發,標準化為 IEEE 1364 | 為美國國防部而開發,1987 年標準化為 IEEE 1076 |
| 語法的特徵 | 簡潔,類似 C 語言 | 描述較長,類似 Ada |
| 型別 | 弱型別。隱含的型別轉換很方便,但可能掩蓋錯誤 | 強型別。需要明確的型別轉換,可在編譯時發現錯誤 |
| 大小寫 | 區分 | 不區分 |
| 學習的難易度 | 容易入門 | 起初較難,但習慣後很安全 |
| 驗證功能 | 單靠 Verilog 有所限制。SystemVerilog 加入了類別、限制式隨機測試、斷言與 UVM | VHDL-2008 加上 OSVVM 或 UVVM 等函式庫 |
| 語言的抽象化 | 較少。模組與參數 | 豐富。套件、泛型、記錄、列舉型別 |
| 工具的支援 | 主要的模擬器與邏輯合成工具全都支援 | 主要的模擬器與邏輯合成工具全都支援。也可以進行混合語言的模擬 |
| 主要使用者 | ASIC 與 SoC 的設計。尤其是美國與亞洲 | 歐洲、航太與國防、許多 FPGA 開發 |
數值為具代表性的大致參考值,會因世代或產品而異。