隨著軟件內(nèi)容的重要性和復(fù)雜性不斷增長,該行業(yè)正面臨由多個異構(gòu)處理器帶來的挑戰(zhàn),這些處理器的通信比過去更加緊密。為了確保高質(zhì)量軟件的快速上市,開發(fā)人員需要一個高性能、系統(tǒng)級的硬件虛擬原型,可以在其上設(shè)計、實施和測試軟件。雖然以前的原型在開發(fā)周期中太慢或到達(dá)太晚,但最近宣布的開放虛擬平臺 (OVP) 計劃可實現(xiàn)早期和快速的虛擬原型可用性。
電子設(shè)計自動化 (EDA) 流程建立在模型可互操作且供應(yīng)商之間可自由互換的基本前提之上,這意味著模型可以從任何地方編寫或獲取,并且可以被任何供應(yīng)商的工具所接受。這些特性對于支持高性能原型所需的抽象模型來說是難以捉摸的。正因為如此,EDA 未能提供能夠提供適當(dāng)級別的功能和執(zhí)行速度的系統(tǒng)級虛擬原型。
硬件和軟件領(lǐng)域發(fā)生的重大變化很快就會使沒有抽象模型的系統(tǒng)無法構(gòu)建。通過采用重用,設(shè)計人員現(xiàn)在基本上是在組裝復(fù)雜的嵌入式系統(tǒng),如樂高系統(tǒng)。處理器的復(fù)雜性已經(jīng)碰壁了,這是由于以巨大的功率增加為代價而降低性能增益所造成的,因此今天的大多數(shù)系統(tǒng)都使用多個異構(gòu)處理器而不是一個中央處理器。隨著系統(tǒng)功能的不斷增長,它必須應(yīng)對向多處理器世界的過渡。由于所有這些變化,如果沒有可行的系統(tǒng)級模型,設(shè)計人員就無法繼續(xù)構(gòu)建系統(tǒng),在該模型上可以設(shè)計和驗證此功能和架構(gòu)。
歷史的角度
硬件/軟件覆蓋
一些公司試圖通過提供可用于軟件開發(fā)的虛擬硬件模型將硬件和軟件社區(qū)結(jié)合在一起。例如,Mentor Graphics 的無縫替代每個處理器的指令集模擬器 (ISS) 模型,并將它們集成到傳統(tǒng)的寄存器傳輸級 (RTL) 仿真環(huán)境中。該模型有助于驅(qū)動程序調(diào)試,但對于其他任何事情都缺乏足夠的性能。無縫產(chǎn)品還包括幾個虛擬化主機(jī)內(nèi)存系統(tǒng)的性能增強(qiáng)器,從而將其使用擴(kuò)展到一些低級操作系統(tǒng)領(lǐng)域。
在后來的幾年中,更快的模型取代了 RTL 模型,例如 C 或 SystemC 模型。盡管這些模型提供了更好的性能,但復(fù)雜的系統(tǒng)仍然運(yùn)行得太慢,不適合主流軟件使用。
SystemC 原型
業(yè)界花費了大量時間和精力來構(gòu)建基于 SystemC 的虛擬平臺。示例包括由 CoWare創(chuàng)建和擴(kuò)展的平臺以及 Eclipse 虛擬原型平臺 (VPP)下的擬議工作項目。這些原型提供了一個靈活且適應(yīng)性強(qiáng)的平臺,可以在該平臺上分析總線流量、功率、性能和許多其他實現(xiàn)屬性。雖然比討論的 RTL 原型快得多,但這些原型的性能水平使其保持在硬件驗證和固件開發(fā)領(lǐng)域。
此外,SystemC 未能解決模型互操作性問題,這是 Open SystemC Initiative (OSCI) Transaction-Level Modeling (TLM) 小組正試圖糾正的問題。該集團(tuán)的最新嘗試并沒有給業(yè)內(nèi)許多人留下深刻印象,因為有些人稱這項努力“太少太晚了”。此外,這個提議的標(biāo)準(zhǔn)只涉及內(nèi)存映射接口,限制了它定義完整系統(tǒng)級原型的能力。
其他公司,如 Virtutech 和 VaST Systems已經(jīng)放棄了標(biāo)準(zhǔn)領(lǐng)域,并使用定制語言和工具來創(chuàng)建更快的處理器模型、內(nèi)存系統(tǒng)和硬件的某些方面。雖然這些公司已經(jīng)成功地創(chuàng)建了具有更高性能的原型,但它們?nèi)允艿侥P涂捎眯院蛯S懈袷絾栴}的困擾。
不斷變化的需求和日益增加的復(fù)雜性
今天的大多數(shù)原型都包含時序,這對于硬件和架構(gòu)驗證以及低級驅(qū)動程序測試至關(guān)重要。但是時間信息會減慢原型的速度。對于處理應(yīng)用程序開發(fā)的軟件團(tuán)隊,時間信息是不必要的。時間隨著每個處理器的計時而前進(jìn),并且每個線程的事件以正確的順序前進(jìn)。
為了可靠地工作,多處理器應(yīng)用程序必須執(zhí)行不依賴于時間的同步。因此,軟件社區(qū)的系統(tǒng)級模型可以完全放棄計時,而是依賴于執(zhí)行的順序和線程之間的適當(dāng)同步。使用信號量、握手或其他機(jī)制執(zhí)行同步,以確保需要通信的兩個軟件線程都處于交換數(shù)據(jù)的必要狀態(tài)。
隨著時間的推移,開發(fā)人員不再關(guān)心單個塊或孤立的算法如何發(fā)揮作用,而是關(guān)心控制和協(xié)調(diào)塊和算法以形成一個完整的多功能系統(tǒng)。這種額外的能力會導(dǎo)致復(fù)雜性增加。總系統(tǒng)復(fù)雜度與通信的獨立節(jié)點數(shù)量的平方成正比。這些節(jié)點可以相互通信并協(xié)作以執(zhí)行全部功能。暗示,這些節(jié)點中的每一個都執(zhí)行獨立的任務(wù)或與其他節(jié)點協(xié)調(diào)以完成更復(fù)雜的任務(wù)。隨著多處理器片上系統(tǒng) (SoC) 的出現(xiàn),軟件現(xiàn)在已成為真正的多節(jié)點,因為線程可以以完全并發(fā)的方式執(zhí)行并實時相互交互。
多處理器軟件需求
過去,將代碼交叉編譯到主機(jī)上既快捷又簡單。但是,這不適用于多處理器軟件。盡管當(dāng)前的臺式機(jī)現(xiàn)在有兩個或四個處理器,但它們提供的關(guān)于軟件如何在實際嵌入式硬件上運(yùn)行或執(zhí)行的視圖不太可靠,這些硬件可能在處理器之間進(jìn)行特殊通信或需要異構(gòu)處理器。多處理器軟件需要更精確的原型來研究應(yīng)用程序通信和同步。
在規(guī)模的另一端,許多公司利用物理原型進(jìn)行軟件驗證。雖然這些原型以近乎實時的速度運(yùn)行并具有準(zhǔn)確的時序,但它們在開發(fā)周期中可用的太晚了,因為軟件中發(fā)現(xiàn)的問題無法通過硬件的必要更改來反映。隨著多處理器系統(tǒng)的引入,實時查看每個處理器在做什么變得更加困難,單步執(zhí)行等操作幾乎是不可能的。設(shè)計人員需要一個能夠提供相同性能水平但在設(shè)計周期早期可用的平臺。
過壓保護(hù)概述
OSCI 維護(hù) SystemC 語言并提供免費的模擬器。盡管這些產(chǎn)品看似有益,但實際上它們扼殺了商業(yè)進(jìn)步。此外,SystemC 也未能解決前面討論的模型互操作問題。
Imperas 最近推出了 OVP 計劃,以推廣開放虛擬平臺的概念。OVP 鼓勵開發(fā)人員采用新的嵌入式軟件開發(fā)方式,尤其是針對 SoC 和多處理器 SoC 平臺。該公司對 OVP 和 OVPsim 采取了不同的方法,首先向公眾提供接口,從而解決模型互操作性問題。該公司提供了幾個模型來演示接口的功能以及一個 Windows 平臺模擬器,供開發(fā)人員構(gòu)建和調(diào)試模型。
接口
OVP 包含四個 C 接口,如圖 1 所示。
圖1
ICM 將系統(tǒng)模塊聯(lián)系在一起,例如處理器、內(nèi)存子系統(tǒng)、外圍設(shè)備和其他硬件模塊。ICM 是一個 C 接口,當(dāng)編譯并與每個模型和一些目標(biāo)文件鏈接時,它會生成一個可執(zhí)行模型。鑒于它是標(biāo)準(zhǔn) C 代碼,任何 C 編譯器都可用于創(chuàng)建模型。ICM 接口還允許定義內(nèi)存映像,以便可以將程序或數(shù)據(jù)預(yù)加載到系統(tǒng)模型中。
VMI 是允許處理器模型與內(nèi)核和其他組件進(jìn)行通信的虛擬機(jī)或處理器接口。VMI 本質(zhì)上是 OVP 提供的高性能執(zhí)行的核心。OVP 使用帶有即時編譯器的代碼變形方法將處理器指令映射到主機(jī)提供的指令中。中間是一組優(yōu)化的操作碼,處理器操作映射到其中。OVPsim 提供對本機(jī)機(jī)器功能的解釋或編譯。這與解釋每條指令的傳統(tǒng) ISS 方法不同。VMI 還為文件 I/O 等功能啟用了一種虛擬化形式,允許使用提供的標(biāo)準(zhǔn)庫在主機(jī)上直接執(zhí)行。
PPM 是外圍建模接口,類似于第四個接口 BHM,用于更通用的行為。這些模型在模擬器的第二部分運(yùn)行,稱為外圍模擬引擎。OVPworld 聲明“這是一個受保護(hù)的運(yùn)行時環(huán)境,不會使模擬器崩潰”。它通過為每個模型創(chuàng)建單獨的地址空間并將通信限制為 API 提供的機(jī)制來實現(xiàn)這一點。這兩個接口之間的主要區(qū)別在于 PPM 接口理解總線和網(wǎng)絡(luò)。因此,它在功能方面類似于 OSCI TLM 接口提案。BHM 更類似于具有流程激活和等待時間或特定事件的能力的傳統(tǒng)行為建模語言。
性能基準(zhǔn)
OVPworld 網(wǎng)站上提供了幾種不同的處理器模型和預(yù)打包的演示。開發(fā)人員可以使用免費的模擬器來創(chuàng)建自己的平臺。表 1 顯示了運(yùn)行各種基準(zhǔn)測試的每個內(nèi)核獲得的性能結(jié)果。
硬件/軟件虛擬原型的基石
OVP 有可能為硬件和軟件開發(fā)提供真正的系統(tǒng)級虛擬原型。它有望成為第一個通用抽象建模系統(tǒng),將形成完整流向硬件和軟件社區(qū)的基石。雖然這在 DSP 設(shè)計等專業(yè)領(lǐng)域之前已經(jīng)完成,但在更一般的情況下從未解決過。OVP 已經(jīng)為這些原型打開了商業(yè)市場,這意味著它可以比 SystemC 獲得更多的商業(yè)關(guān)注。如果成功,OVP 將解決模型互操作性問題,從而使整個行業(yè)受益。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19885瀏覽量
235072 -
dsp
+關(guān)注
關(guān)注
556文章
8155瀏覽量
357362 -
總線
+關(guān)注
關(guān)注
10文章
2959瀏覽量
89729
發(fā)布評論請先 登錄
超大規(guī)模芯片驗證:基于AMD VP1902的S8-100原型驗證系統(tǒng)實測性能翻倍

IC.IDO虛擬現(xiàn)實工程軟件的核心功能與技術(shù)特點
IU5209集成30V OVP,支持快充申請,最大1A充電電流,NTC及使能功能,4節(jié)串聯(lián)鋰電升壓充電管理芯片

新思科技推出基于AMD芯片的新一代原型驗證系統(tǒng)
hyper v 虛擬化,hyper-v虛擬化:企業(yè)級虛擬化解決方案的全面解析

DMD芯片在虛擬現(xiàn)實中的應(yīng)用分享
ar與虛擬現(xiàn)實的區(qū)別 如何優(yōu)化ar應(yīng)用的用戶界面
如何使用ar增強(qiáng)現(xiàn)實體驗
ovp過壓過流保護(hù)芯片,大電流限流,高壓,選型大齊全
dp接口在虛擬現(xiàn)實中的作用
具身智能在虛擬現(xiàn)實中的應(yīng)用實例
發(fā)掘3D文件格式的無限潛力:打造沉浸式虛擬世界

增強(qiáng)現(xiàn)實抬頭顯示是啥意思
XR虛擬拍攝解決方案 秀狐XR虛擬拍攝技術(shù)

評論