系統(tǒng)級環(huán)境提高了開發(fā)人員的工作效率并更早地將產(chǎn)品推向市場,為架構(gòu)分析、硬件/軟件協(xié)同開發(fā)和系統(tǒng)驗(yàn)證提供了一個開發(fā)平臺。模型為任何系統(tǒng)級平臺提供了支柱;然而,開發(fā)這些模型所涉及的困難和費(fèi)用限制了虛擬平臺的采用。Andy 描述了有效建模策略對虛擬平臺開發(fā)的重要性。
在過去的幾年里,開發(fā)團(tuán)隊(duì)和方法論小組更加重視平臺驅(qū)動的設(shè)計(jì)技術(shù)。更短的產(chǎn)品生命周期和更高的上市時間壓力迫使公司投資于設(shè)計(jì)周期早期可用的系統(tǒng)級平臺。此外,向利用傳統(tǒng)和第三方 IP 的片上系統(tǒng) (SoC) 設(shè)計(jì)技術(shù)的過渡為系統(tǒng)級建模提供了更好的結(jié)構(gòu)和方法。同時,越來越多的嵌入式軟件和固件內(nèi)容已將生產(chǎn)產(chǎn)品所需的大部分資源重新定位到軟件領(lǐng)域。在傳統(tǒng)的設(shè)計(jì)流程中,這意味著大部分開發(fā)過程在設(shè)計(jì)流程的后期轉(zhuǎn)移,從而增加了進(jìn)度風(fēng)險(xiǎn)。
虛擬平臺有助于解決這些日益復(fù)雜的問題、市場壓力和內(nèi)容變化。盡管一些工程師已經(jīng)詳細(xì)描述了這些平臺的好處,但確定合適的建模方法通常留給讀者作為練習(xí)。為了闡明虛擬平臺的這一方面,以下討論將分析適當(dāng)建模技術(shù)的不同方面。
具有諷刺意味的是,雖然模型為任何系統(tǒng)級平臺提供了支柱,但與開發(fā)這些模型相關(guān)的困難和費(fèi)用限制了虛擬平臺的采用。此外,建模和支持工作消耗了開發(fā)和支持這些平臺的大部分成本。
模型抽象級別
對于本次討論,模型可以分為四個不同的部分:時序、功能、可尋址狀態(tài)和接口。模型的四個部分中的每一個都可以在不同的抽象級別上有所不同,從高級行為描述到實(shí)際設(shè)計(jì)實(shí)現(xiàn)。直接從反映真實(shí)設(shè)計(jì)行為的設(shè)計(jì)描述創(chuàng)建的模型稱為實(shí)現(xiàn)精確模型。表 1 中的建模堆棧顯示了最高和最低極端之間的連續(xù)抽象。
表格1
與大多數(shù)與計(jì)算相關(guān)的應(yīng)用程序一樣,提高準(zhǔn)確性對降低執(zhí)行速度有直接影響。這與建模沒有什么不同。提高模型的準(zhǔn)確性需要更多的處理并降低執(zhí)行速度。
此外,提高模型準(zhǔn)確性與創(chuàng)建和支持模型所需的工作量和時間直接相關(guān)。找到適當(dāng)?shù)乃俣扰c準(zhǔn)確性權(quán)衡對于實(shí)現(xiàn)滿足虛擬平臺用戶需求并限制開發(fā)和維護(hù)平臺所需工作量的建模范例至關(guān)重要。
一方面,硬件工程師需要實(shí)現(xiàn)精確的模型來驗(yàn)證他們的設(shè)計(jì)。另一方面,應(yīng)用軟件開發(fā)人員可以使用高級行為模型。在這兩個極端之間存在較低級別的軟件,包括操作系統(tǒng) (OS)、驅(qū)動程序、固件以及架構(gòu)和性能分析。
應(yīng)用軟件工程師最關(guān)心的是開發(fā)他們的應(yīng)用程序并擁有一個高效的調(diào)試環(huán)境。他們不需要詳細(xì)模型的準(zhǔn)確性;他們的代碼很少接觸到實(shí)際的硬件,因?yàn)樗謱釉谄渌浖?。但是,在某些情況下,應(yīng)用軟件工程師可能需要了解需要更高準(zhǔn)確性的簡單性能指標(biāo)。
與應(yīng)用程序代碼不同,操作系統(tǒng)和驅(qū)動程序開發(fā)涉及硬件;因此,開發(fā)這些組件的人員需要更高的準(zhǔn)確度來了解他們的軟件和底層硬件如何交互。他們可以用速度換取更高的準(zhǔn)確性,因?yàn)樗麄兊拇a庫比應(yīng)用軟件工程師的代碼庫要小。不定時行為模型可能對早期開發(fā)有用,但最終,操作系統(tǒng)和驅(qū)動程序開發(fā)人員必須了解他們的軟件如何使用更準(zhǔn)確的模型工作,以確保整個系統(tǒng)(硬件和軟件)能夠協(xié)同工作。
固件工程師開發(fā)與硬件交互的代碼——引導(dǎo)代碼、自檢、診斷和控制臺。鑒于與硬件的這種高度交互和對硬件的依賴,這些工程師很少使用不準(zhǔn)確的模型。他們可以交換模型速度以獲得更高的準(zhǔn)確性,因?yàn)樗麄兊能浖幱谧畹图墑e,并且與更高級別的軟件相比通常很小。調(diào)整低級固件和驅(qū)動程序軟件性能還需要周期精確的模型來了解對硬件的時序依賴性以及資源瓶頸。
架構(gòu)師需要了解他們的硬件/軟件分區(qū)、IP 選擇、總線架構(gòu)、內(nèi)存架構(gòu)和整體架構(gòu)決策如何影響與性能、面積和功耗相關(guān)的系統(tǒng)。他們還必須了解管道效應(yīng)、延遲、吞吐量、帶寬和活動。不按建筑師計(jì)劃執(zhí)行的最終設(shè)計(jì)可能會極大地影響產(chǎn)品的成本、性能和進(jìn)度。因此,架構(gòu)師必須使用高度準(zhǔn)確的模型來驗(yàn)證他們的設(shè)計(jì),以建立對其決策的信心。硬件工程師必須有實(shí)現(xiàn)精確的模型;任何其他級別的精度都不適合驗(yàn)證設(shè)計(jì)。
所有模型的單一抽象級別并不總是適用于所有情況。例如,考慮內(nèi)存架構(gòu)權(quán)衡的架構(gòu)師可能會嘗試分析每個預(yù)期內(nèi)存子系統(tǒng)的內(nèi)存延遲和吞吐量。在這種情況下,架構(gòu)師可能需要高度精確的內(nèi)存控制器和內(nèi)存接口模型,以確保他們完全了解性能。系統(tǒng)的其余部分可以在更抽象的層次上建模,因?yàn)樗鼘Ψ治霾⒉恢匾?。使用支持混合抽象級別并為不同抽象級別的模型啟用即插即用的模型方法有助于優(yōu)化執(zhí)行速度和分析準(zhǔn)確性。
最后,在考慮所有可能的用例時,工程師應(yīng)注意平臺很少只針對一種類型的用戶。更常見的是創(chuàng)建一個虛擬平臺來滿足多種類型用戶的需求,從軟件開發(fā)人員到架構(gòu)師,在某些情況下,還包括硬件設(shè)計(jì)人員。因此,平臺內(nèi)必須支持不同的抽象級別。
互操作性和兼容性
在創(chuàng)建建模方法時,開發(fā)人員應(yīng)確保模型彼此可互操作,跨抽象層分布,并與各種平臺和第三方工具兼容。一致性對于保證不同模型開發(fā)人員創(chuàng)建的模型相互兼容也很重要。
雖然并不完美,但標(biāo)準(zhǔn)通過支持各種模型抽象并提供與不同平臺和第三方工具的兼容性,有助于增加模型之間的一致性、兼容性和互操作性。
SystemC 等建模語言提供了連接和執(zhí)行不同模型的基礎(chǔ)平臺。SystemC 提供了支持多個抽象級別和通信接口的靈活性。將 SystemC 與接口標(biāo)準(zhǔn)相結(jié)合,例如由 Open SystemC Initiative (OSCI) 開發(fā)的提議的事務(wù)級建模 (TLM) 2.0 規(guī)范,提供了一個環(huán)境,該環(huán)境保持與各種建模元素和抽象的兼容性,并使它們彼此可互操作,并且其他平臺。
此外,當(dāng)從不同的抽象級別細(xì)化模型時,開發(fā)人員應(yīng)該盡可能多地重用從一個模型到另一個模型的信息,并從一個 IP 塊的一個修訂版本到另一個重用建模信息。一致的方法和標(biāo)準(zhǔn)提供了完成這些任務(wù)的機(jī)制。開發(fā)人員還可以重用接口、狀態(tài)訪問機(jī)制和從一個模型到另一個模型的時間。Spirit IP-XACT(來自 SPIRIT 聯(lián)盟的 IP 元數(shù)據(jù)規(guī)范)等標(biāo)準(zhǔn)可以幫助開發(fā)人員導(dǎo)入和導(dǎo)出配置信息,并檢查模型修訂和抽象之間的差異。
不能保證不同模型和抽象之間的互操作性或提供與其他平臺和第三方工具的兼容性的建模方法不適用于大多數(shù)項(xiàng)目。事實(shí)上,缺乏互操作性和兼容性已經(jīng)減緩了嵌入式行業(yè)對虛擬平臺的采用。
滿足供應(yīng)鏈需求
在整個供應(yīng)鏈中提供模型的需求不斷增長,這強(qiáng)化了互操作性、兼容性和標(biāo)準(zhǔn)的重要性。IP 提供商必須提供其 IP 的早期模型,因?yàn)榭蛻粜枰軌驗(yàn)樗麄兊漠a(chǎn)品選擇合適的 IP。如果沒有合適的模型,客戶就無法知道哪種 IP 最適合他們的系統(tǒng)??蛻暨€需要一個用于他們自己的開發(fā)(架構(gòu)、硬件和軟件)的平臺,以便用正確的產(chǎn)品進(jìn)入他們的市場窗口。
任何支持跨供應(yīng)鏈交付 IP 的建模方法都必須考慮到這一點(diǎn)。IP 必須與最終客戶的平臺和模型兼容,同時提供安全性并且不受逆向工程的影響。
打破建模障礙
一個經(jīng)過深思熟慮的建模方法可以克服虛擬平臺采用的障礙,并確保用戶獲得虛擬平臺可以提供的所有價(jià)值。虛擬平臺建模應(yīng)支持各種抽象級別的模型、模型即插即用以及互操作性、兼容性和重用標(biāo)準(zhǔn)。
行業(yè)需要提供工具,以跨各種抽象級別以一致的方式自動支持模型生成。這些工具必須包含標(biāo)準(zhǔn)并保留開發(fā)人員對其模型的投資。要求應(yīng):
提高模型開發(fā)人員的工作效率
重用來自遺留模型或不同抽象級別的模型的信息
支持標(biāo)準(zhǔn)以確?;ゲ僮餍院湍P偷狡渌摂M平臺的遷移路徑
提供一致性檢查以驗(yàn)證跨抽象級別的模型
為模型支持和分發(fā)提供配置管理和修訂控制幫助
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5060文章
18983瀏覽量
302320 -
soc
+關(guān)注
關(guān)注
38文章
4110瀏覽量
217805 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6703瀏覽量
123151
發(fā)布評論請先 登錄
相關(guān)推薦
評論