SystemVerilog語言推進了IC設計和驗證領域的革命。有趣的是,部分原因是因為SystemVerilog本身是一種不斷發展的語言。 SystemVerilog 是過去10年來多方面技術發展和實際試驗的結晶,包括硬件描述語言(HDL)、硬件驗證語言(HVL)、SystemC、Superlog和屬性規范語言。它們都從技術和市場的成敗中得到了豐富的經驗教訓。同時,EDA公司也認識到了最終用戶在設計和驗證流程中是如何結合使用語言和工具的,以及他們是如何使用C和Perl等通用語言實現設計的。 SystemVerilog是磨合來自于上述這些語言的設計與驗證抽象和構造、并以一種實際的方式把它們集成在一起而產生的。它之所以產生了一種革命性的力量,是因為它是一種不斷發展的和融合型的語言,而不僅僅只是各種標準的實現。 為了更好地解決一些新出現的問題,業界往往會周期性地推出一些專用工具和語言。20世紀80年代,隨著原理圖適用性越來越差和綜合方法變得可行起來,像 Verilog和VHDL這樣的HDL設計獲得了業界的認可。而在20世紀90年代,驗證成為了IC設計的瓶頸,此時又出現了Vera和“e”之類的 HVL語言來解決這個問題。SystemC的出現是為了解決系統級設計問題。形式技術則為屬性規范語言提供了發展動力。雖然上述每種工具和語言都推進了各自特定領域的技術進步,但僅僅提高了特定設計環節的設計效率。 此外,這些新的語言還創造了一些限制設計效率的人為界線和障礙。首先表現在學習曲線上:雖然這些語言大多數可以在一周內學會,但通常要花數月的時間才能達到熟練應用的程度。雖然HVL和HDL具有一些重疊的概念,但采用的語法和語義卻有細微的差別。 與系統級、覆蓋率、RTL、測試平臺以及屬性相關的工具的修補工作導致了性能下降、不必要的數據混亂、以及不兼容的應用編程接口或版本。驗證工作所花的時間仍要比設計本身多得多。 SystemVerilog語言消除了這些障礙,并將設計和驗證所需的語言組合成一種語言。而且,除了一個很小的例外(一個排外構造)外,SystemVerilog還是Verilog 2001的一個超集。因此,目前的Verilog用戶使用SystemVerilog應該是沒有任何問題的。SystemVerilog一問世就擁有很大的安裝基數、以及大量承諾支持它的供應商,這一切都預示著SystemVerilog會有良好的市場接納前景。 SystemVerilog 與Verilog有許多重要的區別。首先,SystemVerilog提供了一個完整的仿真模型:它將每個時隙細分成11個有序的段,并規定了每個這樣的段內必須發生的事件。這樣就可以避免在仿真包含反應性測試平臺、覆蓋率分析工具和相互作用的第三方C模型在內的模型時發生某些不確定性。 SystemVerilog可以提供設計師最需要的很好的確定性。 第二,像C++語言所具有的一些功能,包括結構、類、C數據類型、動態存儲器分配和動態進程等,使SystemVerilog更適合測試平臺的開發和系統級建模。第三,仿真和靜態驗證工具可以使用相同的聲明集合。 最后,還需要說明的是,接口在SystemVerilog中扮演著一個很重要的角色。接口可以被單獨定義,可以包含有關它們行為的聲明,還可以在整個設計中復用。因此所產生的代碼更緊湊,具有更好的可讀性和魯棒性。SystemVerilog還有其它許多功能,更多細節請登錄 www.accellera.com網站。 Accellera和它的前身開放Verilog國際(OVI)是Verilog和Verilog 2001的最早開發商,Verilog和Verilog 2001后來也都得到了IEEE的批準,F在正是這二家開發商再次聯合起來的好時候。 基于SystemVerilog的新一代工具將對設計和驗證帶來革命性的影響。 |