用SoC/嵌入系統(tǒng)工具權(quán)衡軟硬件
組網(wǎng)設(shè)備的開發(fā)者,正競爭 相采用CARDtools系統(tǒng)公司的NitorVP 6.0版SoC/嵌入系統(tǒng)協(xié)同設(shè)計及仿真工具包。NitroVP上市剛剛幾個月,設(shè)計人員可以使用它來建立虛擬原形,對硬件與軟件進(jìn)行協(xié)同仿真,或進(jìn)行權(quán)衡分析。
ST公司高級系統(tǒng)技術(shù)組系統(tǒng)建模工程師Marcello Coppola是率先使用NitroVP的人員之一,Coppola所在的小組研究通信應(yīng)用系統(tǒng)以及設(shè)計這類系統(tǒng)的工具。
Coppola把NitroVP作為其工具包的一部分,為ST公司研制新的SoC,供寬帶網(wǎng)絡(luò)終端與設(shè)備(BBNT)使用。將xDSL調(diào)制解調(diào)器與不帶ATM接口的設(shè)備相連時,需進(jìn)行協(xié)議轉(zhuǎn)換。BBNT所支持的幾種協(xié)議棧,有的以硬件實(shí)現(xiàn),有的以軟件實(shí)現(xiàn)。ST設(shè)計人員因使用好幾種平臺,所以需要一種協(xié)同設(shè)計工具,來幫助進(jìn)行軟硬件的劃分。
SoC已越來越復(fù)雜,所以需要更快的仿真工具。實(shí)現(xiàn)SoC的辦法之現(xiàn),是把模型建立在更高的抽象層次上。NitroVP提供了一種方法,使系統(tǒng)仿真可以在更高的抽象層次上進(jìn)行,這時,細(xì)節(jié)得到簡化,因而花在建模上的時間減少,并可將硬件與軟件放在一起仿真。
ST小組除了將NitroVP軟硬件協(xié)同設(shè)計工具用在更高抽象層次之外,還把它用到底板一級,將較低層次的模型(C++)與指令集仿真器(ISS)結(jié)合起來。NitroVP最重要的一點(diǎn)是使用簡例。而且NitroVP至今仍是市場上出現(xiàn)的少數(shù)工具之一。
ST公司的SoC目前尚沒有多處理器,不過Coppola說,今后一定會有。NitroVP支持多處理器以及多指令集仿真器。設(shè)計人員在構(gòu)建嵌入系統(tǒng)時,可從各種不同的處理器模型和實(shí)時操作系統(tǒng)中比較選擇。還可對功耗和存儲器用法建模。NitroVP既有時序建模能力,又有功能建模能力,還有一種集成的SoC調(diào)試程序。
在SoC設(shè)計中,人們反復(fù)強(qiáng)調(diào)‘重用’,所以協(xié)同設(shè)計工具必須以某一標(biāo)準(zhǔn)語言為基礎(chǔ)。重用必須從系統(tǒng)模型的頂層開始,且必須具有互操作性。ST小組采用的設(shè)計語言是C與C++,與因?yàn)槿绱?,要求CARDtools公司將C/C++以某種更有效的方式集成到NitroVP中去。
CARDtools公司市場部經(jīng)理Son Baxley認(rèn)為:“把CARStools推向C與C++方向的,不僅是ST公司的設(shè)計人員。C/C++的能力是由市場推動而來的。現(xiàn)在已可以用C或C++建模。用戶在使用早期版本時,不得不先用CARDtools專用的器件行為語言(DBL),然后再換成C或C++語言。目前,用戶可從兩類語言中任選一種。甚至于混用、匹配或相互替換。”
當(dāng)問及ST公司在對不同的軟硬件協(xié)同設(shè)計工具進(jìn)行性能比較過程中,具進(jìn)行性能比較過程中,是否經(jīng)過正式評估時,Coppola回答說:“當(dāng)時上市的其它工具只有一個,那就是Cadence公司的FELIX(即現(xiàn)在的VCC),那時,人們認(rèn)為FELIX尚不成熟。”
目前上市的同類工具,還有CoWare公司的N2C設(shè)計系統(tǒng)。CoWare最近又在N2C上增加了基于平臺的各種設(shè)計能力,包括:改進(jìn)型虛擬平臺模型創(chuàng)建,多處理器平臺用增強(qiáng)型接口綜合,以及系統(tǒng)軟件與平臺的方便集成。N2C包含從功能規(guī)范到多層硬件協(xié)同仿真及協(xié)同驗(yàn)證的系統(tǒng)設(shè)計。
評論