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