系統級語(yǔ)言SystemVerilog和SystemC的融合
隨著(zhù)項目復雜程度的提高,最新的系統語(yǔ)言的聚合可以促進(jìn)生產(chǎn)能力的激增,并為處在電子設計自動(dòng)化(EDA)行業(yè)中的設計企業(yè)帶來(lái)益處。SystemVerilog和SystemC這兩種語(yǔ)言在設計流程中的共存,可以帶來(lái)顯著(zhù)的實(shí)際利益和經(jīng)濟效果。
本文引用地址:http://dyxdggzs.com/article/201706/349320.htmSystemVerilog和SystemC不久前依然被視為相互排斥的兩種環(huán)境,而現在可以相互協(xié)作,并為實(shí)現設計和驗證方法提供平滑流暢的系統。
在真實(shí)設計流程中的經(jīng)驗清楚地表明,這兩種語(yǔ)言非但不是相互對立,而且還是一種互補的關(guān)系。將兩種語(yǔ)言在同一種環(huán)境下使用,會(huì )帶來(lái)確實(shí)的利益并明顯縮短項目周期。
SystemC和SystemVerilog在不同的設計領(lǐng)域中,分別有各自的特點(diǎn)。兩種標準的結合,將從系統規范、門(mén)電路布局直至設計驗證,為設計人員提供一種可供選擇的綜合語(yǔ)言環(huán)境。這種結合可以看作是工具和語(yǔ)言相統一的轉變潮流中的重要部分,這種統一是為了支持最終用戶(hù)的需求,而不僅僅是為了方便工具供應商。
SystemVerilog應運而生
SystemVerilog在一種語(yǔ)言中結合了現代的設計和驗證環(huán)境,因此消除了當今在芯片設計過(guò)程中的大量瓶頸。通過(guò)建立在Verilog的基礎上,這種語(yǔ)言可在現有的基于Verilog的流程中采用更多的不同功能,從而使設計者在認知過(guò)程中少走彎路。
通過(guò)結合Verilog與C語(yǔ)言大量的最佳特性,SystemVerilog易于使用、為人們所熟悉,并提供實(shí)現簡(jiǎn)明設計和自動(dòng)化測試平臺的特征。而且,由于SystemVerilog語(yǔ)言是Verilog的擴展集,因此在現有環(huán)境下使用相當方便。
SystemVerilog 3.0為硬件設計團隊的簡(jiǎn)明設計提供了強大的基礎,使模型很快生成并易于糾錯。最新版SystemVerilog 3.1還為創(chuàng )建現代化的測試平臺增加了關(guān)鍵的驗證功能。
操控簡(jiǎn)明的設計與驗證平臺
SystemVerilog包含所有Verilog源語(yǔ)言,包括Verilog IEEE 1364委員會(huì )2001年增加的新功能。一流的生成功能、經(jīng)過(guò)簡(jiǎn)化的端口處理、動(dòng)態(tài)變量及各種其他功能使Verilog使用起來(lái)更加直截了當。
SystemVerilog 3.0含有列舉類(lèi)型和構件等豐富的basic C編程功能。SystemVerilog 3.1(將于2003年年中推出)新版本將增加面向特定目標的性能及其他大量重要功能,從而使Verilog用戶(hù)在編程方面具有全面的靈活性,這對于驗證和系統建模處理是至關(guān)重要的。
SystemVerilog3.0主要改善設計過(guò)程中的RTL編碼工作,最新版中含有的各種專(zhuān)用功能,可以更加簡(jiǎn)明地編寫(xiě)綜合化的RTL代碼,減少工時(shí)和故障風(fēng)險。此外,經(jīng)強化后,新的接口構件提供了生成新的編碼字段的能力,允許更深程度的提取和與架構環(huán)境的鏈接,同時(shí)大大提高了設計的透明度,在這一層面上還引入了判斷功能,這樣,設計人員可以在代碼中加入規范元素,進(jìn)一步提高板塊級的驗證自動(dòng)化。
統一驗證提高工作效率
如果SystemVerilog3.0旨在提高設計效率,那么3.1版則側重于提高驗證效率。SystemVerilog為測試平臺開(kāi)發(fā)提供單獨、一致的語(yǔ)法和語(yǔ)義。這種語(yǔ)言中包含豐富的判斷功能,這是制定驗證場(chǎng)合詳細規范所必需的。新版本具備功能運行環(huán)境和自動(dòng)化的測試生成器,也提供強大的交易層測試的編程特性,適用于系統和設計實(shí)現的驗證。
SystemVerilog通過(guò)一種獨立、簡(jiǎn)單的聚合性語(yǔ)言可以滿(mǎn)足所有的驗證需求。
SystemVerilog與SystemC
SystemC由于其開(kāi)放式狀態(tài),已在設計界得到廣泛認可,從而擁有大量功能強大、可互操作的基于SystemC的工具和技術(shù)。 SystemC主要優(yōu)點(diǎn)是能夠以開(kāi)放式C++擴展語(yǔ)言的形式,利用標準軟件語(yǔ)言并添加結構性和系統性功能,處理硬件和軟件的協(xié)同設計和集成。SystemC正被愈來(lái)愈多地用于生成片上系統(SoC)設計的虛擬原型。這些以SystemC或SystemVerilog編碼的虛擬原型,可應用在交易層,允許信號細節為達到有效性能而被替換。
盡管含有大量允許使用交易層設計分析的系統特性,但SystemVerilog主要還是用于實(shí)現設計和驗證。對于從事RTL級設計和驗證的工程人員來(lái)說(shuō),這種語(yǔ)言可以通過(guò)多種功能顯著(zhù)改善設計流程。
然而,對于當今的方法原理來(lái)說(shuō),只滿(mǎn)足純粹RTL設計的要求是不夠的。嵌入式處理器的使用正在迅速增長(cháng),與之伴隨發(fā)展的是解決專(zhuān)門(mén)縱向領(lǐng)域問(wèn)題的完整工程平臺。SystemVerilog含有大量功能,可滿(mǎn)足基于平臺設計的要求,特別是在這一環(huán)境下對可重用知識產(chǎn)權(IP)的使用。采用接口實(shí)現標準通信機制建模、檢查協(xié)議相符的系統判斷、由C/C++到HDL一對一映射編程性能,這些都使嵌入式環(huán)境易于進(jìn)行數據和控制轉移。
嵌入式系統開(kāi)發(fā)需要將模型提供給硬件設計人員和軟件專(zhuān)業(yè)人員。SystemC的設計考慮到了這一問(wèn)題,在系統層提供了用于平臺建模的有效機制。C/C++設計模型是必須為硬件和軟件工程人員提供的,而且基于硬件的功能對于有效的、高效率的硬件建模是必要的。
處理這種對分環(huán)境最有效的方法是允許這些語(yǔ)言共存。平臺的基本構件是可以用C或HDL派生語(yǔ)言、信號或交易層建模的IP。這個(gè)IP可以采取由架構層開(kāi)始的設計構件的形式,然后進(jìn)一步細化到實(shí)施。驗證組件也可以采取IP形式,用于在系統層生成協(xié)議流或其他標準I/O。這些IP組件包含系統驗證要求,并且利用相應的總線(xiàn)功能模型可供其他驗證流程重復使用。
SystemVerilog配置了專(zhuān)用接口。通過(guò)這些接口,總線(xiàn)功能接口可以以一種對系統或實(shí)施工程師透明的方式進(jìn)行編碼。由于這些接口含有對通訊有效性、C/C++到HDL的轉變以及總線(xiàn)功能編碼的判斷功能,從而為從架構到實(shí)施建立平滑的途徑提供了完整的機制。這樣,兩種環(huán)境下的用戶(hù)可以用自己習慣的方法處理模型,不必再進(jìn)入另一個(gè)區域。
注重使用模型而不是偏重設計語(yǔ)言,這表明SystemVerilog 和SystemC兩種語(yǔ)言都在現代電子方法中占有自己的位置。
Synopsys公司認識到,同時(shí)提供對SystemC和SystemVerilog的支持對最終用戶(hù)是有益的。Synopsys是支持SystemC的發(fā)起者,并一直通過(guò)公開(kāi)OpenVera測試平臺語(yǔ)言、共用的API和OpenVera Assertion(OVA)格式致力于推進(jìn)語(yǔ)言的標準化進(jìn)程。為了使SystemVerilog 3.1能夠做出上述貢獻,SystemVerilog包含了能夠簡(jiǎn)化RTL設計所需的全部功能。
用語(yǔ)言的功能平衡用戶(hù)的需求
現已證明,C語(yǔ)言設計不僅生產(chǎn)效率高,而且也是對Verilog流程的補充。SystemVerilog/SystemC的整合,使軟件團隊可以在與高效的硬件設計和驗證過(guò)程開(kāi)展合作的時(shí)候,用自有的編程語(yǔ)言進(jìn)行工作,使整個(gè)方法途徑在適宜的生產(chǎn)水平下進(jìn)行。
工具和IP供應商正在為System Verilog提供支持。IP提供商已認識到統一化所帶來(lái)的益處,特別是在驗證領(lǐng)域,語(yǔ)言的統一使他們不必考慮當前支持多種語(yǔ)言的需求。
評論