系統級語言模式:SystemVerilog和SystemC

新的系統級語言模式爲SoC設計人員提供整合設計環境
New System-Level Language Landscape is an Integration Vista for SoC Designers
■ Synopsys 公司 Dave Kelf

隨着項目複雜程度的提高,最新的系統語言的聚合可以促進生產能力的激增,併爲處在電子設計自動化(EDA)行業中的設計企業帶來益處。SystemVerilog和SystemC這兩種語言在設計流程中的共存,可以帶來顯著的實際利益和經濟效果。

SystemVerilog和SystemC不久前依然被視爲相互排斥的兩種環境,而現在可以相互協作,併爲實現設計和驗證方法提供平滑流暢的系統。

在真實設計流程中的經驗清楚地表明,這兩種語言非但不是相互對立,而且還是一種互補的關係。將兩種語言在同一種環境下使用,會帶來確實的利益並明顯縮短項目週期。

SystemC和SystemVerilog在不同的設計領域中,分別有各自的特點。兩種標準的結合,將從系統規範、門電路佈局直至設計驗證,爲設計人員提供一種可供選擇的綜合語言環境。這種結合可以看作是工具和語言相統一的轉變潮流中的重要部分,這種統一是爲了支持最終用戶的需求,而不僅僅是爲了方便工具供應商。


SystemVerilog應運而生

SystemVerilog在一種語言中結合了現代的設計和驗證環境,因此消除了當今在芯片設計過程中的大量瓶頸。通過建立在Verilog的基礎上,這種語言可在現有的基於Verilog的流程中採用更多的不同功能,從而使設計者在認知過程中少走彎路。

通過結合Verilog與C語言大量的最佳特性,SystemVerilog易於使用、爲人們所熟悉,並提供實現簡明設計和自動化測試平臺的特徵。而且,由於SystemVerilog語言是Verilog的擴展集,因此在現有環境下使用相當方便。

SystemVerilog 3.0爲硬件設計團隊的簡明設計提供了強大的基礎,使模型很快生成並易於糾錯。最新版SystemVerilog 3.1還爲創建現代化的測試平臺增加了關鍵的驗證功能。


操控簡明的設計與驗證平臺

SystemVerilog包含所有Verilog源語言,包括Verilog IEEE 1364委員會2001年增加的新功能。一流的生成功能、經過簡化的端口處理、動態變量及各種其他功能使Verilog使用起來更加直截了當。

SystemVerilog 3.0含有列舉類型和構件等豐富的basic C編程功能。SystemVerilog 3.1(將於2003年年中推出)新版本將增加面向特定目標的性能及其他大量重要功能,從而使Verilog用戶在編程方面具有全面的靈活性,這對於驗證和系統建模處理是至關重要的。

SystemVerilog3.0主要改善設計過程中的RTL編碼工作,最新版中含有的各種專用功能,可以更加簡明地編寫綜合化的RTL代碼,減少工時和故障風險。此外,經強化後,新的接口構件提供了生成新的編碼字段的能力,允許更深程度的提取和與架構環境的鏈接,同時大大提高了設計的透明度,在這一層面上還引入了判斷功能,這樣,設計人員可以在代碼中加入規範元素,進一步提高板塊級的驗證自動化。(見圖1)


統一驗證提高工作效率


如果SystemVerilog3.0旨在提高設計效率,那麼3.1版則側重於提高驗證效率。SystemVerilog爲測試平臺開發提供單獨、一致的語法和語義。這種語言中包含豐富的判斷功能,這是制定驗證場合詳細規範所必需的。新版本具備功能運行環境和自動化的測試生成器,也提供強大的交易層測試的編程特性,適用於系統和設計實現的驗證。

SystemVerilog通過一種獨立、簡單的聚合性語言可以滿足所有的驗證需求。

圖1:SystemVerilog組件

SystemVerilog與SystemC

SystemC由於其開放式狀態,已在設計界得到廣泛認可,從而擁有大量功能強大、可互操作的基於SystemC的工具和技術。 SystemC主要優點是能夠以開放式C++擴展語言的形式,利用標準軟件語言並添加結構性和系統性功能,處理硬件和軟件的協同設計和集成。SystemC正被愈來愈多地用於生成片上系統(SoC)設計的虛擬原型。這些以SystemC或SystemVerilog編碼的虛擬原型,可應用在交易層,允許信號細節爲達到有效性能而被替換。

儘管含有大量允許使用交易層設計分析的系統特性,但SystemVerilog主要還是用於實現設計和驗證。對於從事RTL級設計和驗證的工程人員來說,這種語言可以通過多種功能顯著改善設計流程。
然而,對於當今的方法原理來說,只滿足純粹RTL設計的要求是不夠的。嵌入式處理器的使用正在迅速增長,與之伴隨發展的是解決專門縱向領域問題的完整工程平臺。SystemVerilog含有大量功能,可滿足基於平臺設計的要求,特別是在這一環境下對可重用知識產權(IP)的使用。採用接口實現標準通信機制建模、檢查協議相符的系統判斷、由C/C++到HDL一對一映射編程性能,這些都使嵌入式環境易於進行數據和控制轉移。

嵌入式系統開發需要將模型提供給硬件設計人員和軟件專業人員。SystemC的設計考慮到了這一問題,在系統層提供了用於平臺建模的有效機制。C/C++設計模型是必須爲硬件和軟件工程人員提供的,而且基於硬件的功能對於有效的、高效率的硬件建模是必要的。

處理這種對分環境最有效的方法是允許這些語言共存。平臺的基本構件是可以用C或HDL派生語言、信號或交易層建模的IP。這個IP可以採取由架構層開始的設計構件的形式,然後進一步細化到實施。驗證組件也可以採取IP形式,用於在系統層生成協議流或其他標準I/O。這些IP組件包含系統驗證要求,並且利用相應的總線功能模型可供其他驗證流程重複使用。

SystemVerilog配置了專用接口。通過這些接口,總線功能接口可以以一種對系統或實施工程師透明的方式進行編碼。由於這些接口含有對通訊有效性、C/C++到HDL的轉變以及總線功能編碼的判斷功能,從而爲從架構到實施建立平滑的途徑提供了完整的機制。這樣,兩種環境下的用戶可以用自己習慣的方法處理模型,不必再進入另一個區域。

注重使用模型而不是偏重設計語言,這表明SystemVerilog 和SystemC兩種語言都在現代電子方法中佔有自己的位置。

Synopsys公司認識到,同時提供對SystemC和SystemVerilog的支持對最終用戶是有益的。Synopsys是支持SystemC的發起者,並一直通過公開OpenVera測試平臺語言、共用的API和OpenVera Assertion(OVA)格式致力於推進語言的標準化進程。爲了使SystemVerilog 3.1能夠做出上述貢獻,SystemVerilog包含了能夠簡化RTL設計所需的全部功能。


用語言的功能平衡用戶的需求

現已證明,C語言設計不僅生產效率高,而且也是對Verilog流程的補充。SystemVerilog/SystemC的整合,使軟件團隊可以在與高效的硬件設計和驗證過程開展合作的時候,用自有的編程語言進行工作,使整個方法途徑在適宜的生產水平下進行。

工具和IP供應商正在爲System Verilog提供支持。IP提供商已認識到統一化所帶來的益處,特別是在驗證領域,語言的統一使他們不必考慮當前支持多種語言的需求。

Accellera已推出SystemVerilog 3.0,並計劃2003年中期推出 3.1版。憑藉在標準背後的能力水平和可以解決重大設計問題的潛力,這一產品必能在業內取得成功。
發佈了9 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章