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