SystemVerilog
硬體設計和驗證的語言
SystemVerilog,是一種相當新的語言,它建立在Verilog語言的基礎上,是 IEEE 1364 Verilog-2001 標準的擴展增強,兼容Verilog 2001,並新近成為下一代硬體設計和驗證的語言。
SystemVerilog結合了來自 Verilog、VHDL、C++的概念,還有驗證平台語言和斷言語言,也就是說,它將硬體描述語言(HDL)與現代的高層級驗證語言(HVL)結合了起來。使其對於進行當今高度複雜的設計驗證的驗證工程師具有相當大的吸引力。
這些都使得SystemVerilog在一個更高的抽象層次上提高了設計建模的能力。它主要定位在晶元的實現和驗證流程上。SystemVerilog(SV)擁有晶元設計及驗證工程師所需的全部結構,它集成了面向對象編程、動態線程和線程間通信等特性,作為一種工業標準語言,SV全面綜合了RTL設計、測試平台、斷言和覆蓋率,為系統級的設計及驗證提供強大的支持作用。
Systemverilog除了作為一種高層次,能進行抽象建模的語言被應用外,它的另一個顯著特點是能夠和晶元驗證方法學結合在一起,即作為實現方法學的一種語言工具。使用驗證方法學可以大大增強模塊復用性、提高晶元開發效率,縮短開發周期。晶元驗證方法學中比較著名的有:VMM、OVM、AVM和UVM等。
SystemC和SystemVerilog這兩種語言,支持諸如信號、事件、介面和面向對象的概念,但每一種語言又均擁有自己明確的應用重點:
●SystemC對於體系架構開發編寫抽象事務處理級(TL)模型、或執行建模來說最為有效,特別是對於具有很強C++實力的團隊和有基於C/C++ IP 集成要求(如處理器模擬器),以及為早期軟體開發設計的虛擬原型來說,更是如此。
●SystemVerilog對於RTL、抽象模型和先進的驗證平台的開發來說最有效率,因為它具備了執行這方面任務所需的基礎架構,例如受限制隨機激勵生成、功能覆蓋或斷言。
●SystemVerilog顯然是描述最終的RTL設計本身的首選語言,不僅在於其描述真實硬體和斷言的能力,還在於對工具支持方面的考慮。