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