複製鏈接
請複製以下鏈接發送給好友

硬件驗證語言

鎖定
硬件驗證語言(英語:hardware verification language, 縮寫HVL)是一種用硬件描述語言(HDL)編寫、用於電子電路設計驗證編程語言
中文名
硬件驗證語言
外文名
hardware verification language
縮    寫
HVL
領    域
計算機

硬件驗證語言簡介

硬件驗證語言通常具有類似C++Java這樣高級語言的特點,同時又提供硬件描述語言那樣的位運算功能。許多硬件驗證語言能夠生成帶約束的隨機激勵,並提供了功能覆蓋結構,來輔助設計人員進行復雜的硬件驗證。
SystemVerilog、OpenVera和SystemC是最常用的硬件驗證語言。其中,SystemVerilog更是將硬件描述語言與硬件驗證語言合併到單一標準。 [1] 

硬件驗證語言硬件描述語言

電子學中,硬件描述語言(英語:hardware description language, HDL)是用來描述電子電路(特別是數字電路)功能、行為的語言,可以在寄存器傳輸級、行為級、邏輯門級等對數字電路系統進行描述。隨着自動化邏輯綜合工具的發展,硬件描述語言可以被這些工具識別,並自動轉換到邏輯門級網表,使得硬件描述語言可以被用來進行電路系統設計,並能通過邏輯仿真的形式驗證電路功能。設計完成後,可以使用邏輯綜合工具生成低抽象級別(門級)的網表(即連線表)。
硬件描述語言在很多地方可能和傳統的軟件編程語言類似,但是最大的區別是,前者能夠對於硬件電路的時序特性進行描述。硬件描述語言是構成電子設計自動化體系的重要部分。小到簡單的觸發器,大到複雜的超大規模集成電路(如微處理器),都可以利用硬件描述語言來描述。常見的硬件描述語言包括Verilog、VHDL等。 [1] 

硬件驗證語言SystemVerilog

代的集成電路(尤其是超大規模集成電路)的設計和驗證流程中,SystemVerilog是一種由Verilog發展而來的硬件描述、硬件驗證統一語言,前一部分基本上是2005年版Verilog的擴展,而後一部分功能驗證特性則是一門面向對象程序設計語言。面向對象特性很好地彌補了傳統Verilog在芯片驗證領域的缺陷,改善了代碼可重用性,同時可以讓驗證工程師在比寄存器傳輸級更高的抽象級別,以事務而非單個信號作為監測對象,這些都大大提高了驗證平台搭建的效率。
SystemVerilog已經被採納為電氣電子工程師學會1800-2009標準,並獲得了主流電子設計自動化工具供應商的支持。雖然沒有哪一個仿真系統能夠聲稱自己完全支持SystemVerilog語言參考手冊(Language Reference Manual, LRM)裏介紹的所有語言結構,要改善測試平台的互操作性相當困難,但是推進跨平台兼容性的研究開發工作已經在進行。若干種驗證方法學相繼出現,以預定義類的形式對測試平台模塊進行標準化,如今最新的基於SystemVerilog的驗證方法學為通用驗證方法學。這一方法學主要包括開放源代碼類庫以及支持可重用測試平台、開發驗證IP核的預置格式。許多第三方提供商則開始推出基於SystemVerilog的驗證IP核 [1] 

硬件驗證語言OpenVera

OpenVera是一種硬件驗證語言,它由新思科技研發和運營。該語言主要用於創建硬件系統的測試平台。OpenVera是作為IEEE1800標準的SystemVerilog的一個基礎部分,許多從事半導體集成電路設計、系統級設計、IP核設計以及電子設計自動化的人員都受益於此。 [2] 

硬件驗證語言SystemC

SystemC是一種基於C++語言的用於系統設計計算機語言,是用C++編寫的一組。它是為了提高電子系統設計效率而逐漸發展起來的產物。IEEE於2005年12月批准了IEEE1666-2005標準。
通常,系統由軟件部分和硬件部分組成,系統的一部分功能由軟件實現,而另一部分功能則由硬件實現。早期的系統比較簡單,系統工程師將準備設計的系統劃分為軟件部分和硬件部分,分別由軟件工程師和硬件工程師進行設計、仿真、實現和改進,最後再將軟件部分和硬件部分結合起來形成系統。軟件工程師使用C和C++等程序設計語言,因為這些語言專長於描述串行執行的程序,用來仿真軟件部分;而硬件工程師則使用VHDLVerilog硬件描述語言,因為這些語言專長於描述並行運行的硬件,用來仿真硬件部分。但是,隨着電子系統的不斷髮展,系統結構越來越複雜,系統組件也越來越多,這就要求系統工程師在先期劃分軟件和硬件時,就對整個系統性能有很好的瞭解和掌握,以便更好地劃分軟件和硬件,減小設計中不必要的失誤所帶來的損失和風險。SystemC也就由此孕育而生,因為它能夠滿足對軟件和硬件協同仿真的需求。
SystemC的名稱來自“系統”一詞的英語System和“C/C++語言”中的C,以表示它是一種基於C/C++語言的系統設計語言。
許多科學研究團隊和計算機輔助設計軟件公司一同為SystemC的發展做出了貢獻,1999年成立了開源SystemC的開發團隊“Open SystemC Initiative(OSCI)”。
2011年11月10,IEEE通過了新SystemC 2011標準:IEEE1666-2011。 [2] 
參考資料
  • 1.    Rich, D. The evolution of SystemVerilog. IEEE Design and Test of Computers.
  • 2.    T. Grötker, S. Liao, G. Martin, S. Swan, System Design with SystemC. Springer, 2002. ISBN 1-4020-7072-1