SoC驗證走出實驗室良機已到
SoC驗證超越了常規(guī)邏輯仿真,但用于加速SoC驗證的廣泛應(yīng)用的三種備選方法不但面臨可靠性問題,而且難以進(jìn)行權(quán)衡。而且,最重要的問題還在于硬件加速訪問權(quán)限、時機及其穩(wěn)定性。
本文引用地址:http://butianyuan.cn/article/215676.htm當(dāng)前,通常采用的三種硬件方法分別是FPGA原型驗證、采用驗證IP進(jìn)行的加速仿真以及內(nèi)電路仿真(ICE)。這些方法雖適用于某些情況,但對于那些面對不斷更新的多處理器、多協(xié)議且偏重于軟件的SoC驗證團(tuán)隊來說,則存在明顯不足。
FPGA原型驗證適用于那些運行于不再進(jìn)行更新的已有硬件上的軟件,但卻不適用于仍在進(jìn)行大規(guī)模升級的硬件。其原因在于設(shè)計流程不同步:硬件完成后,軟件團(tuán)隊方可使用FPGA開發(fā)板,而且一旦出現(xiàn)問題,重新編譯耗時動輒數(shù)以天計,絕非幾個小時便可完成。此外,試圖將有數(shù)百萬個門電路的SoC分解到幾個FPGA上無異于自討苦吃。因此,盡管FPGA原型驗證看起來成本低廉,但對于仍在進(jìn)行硬件調(diào)試的SoC來說,這一過程耗時漫長且充滿風(fēng)險。這也正是在仿真市場的年增長速度高達(dá)20%的同時,這一市場卻波瀾不興的原因。
加速仿真 — 采用深測試序列、代碼覆蓋、基于斷言的驗證、錯誤處理、協(xié)議檢查等方法 — 適用于需對新開發(fā)的無漏洞ASIC或基礎(chǔ)IP進(jìn)行驗證的硬件開發(fā)人員。但是,在對由軟件驅(qū)動且多個現(xiàn)有硬件模塊須同時工作的SoC進(jìn)行驗證時,則需要一種整個軟件團(tuán)隊均可使用的驗證方法。嵌入式處理器經(jīng)測試后方可加載軟件。
直至2012年,內(nèi)電路仿真(ICE)仍是進(jìn)行軟硬件協(xié)同驗證的唯一方法,且在原型硬件可用前,需經(jīng)常對硬件進(jìn)行更改。ICE適用于規(guī)模相對較小的項目團(tuán)隊,團(tuán)隊成員集中于一處,對實驗室享有個人完全控制權(quán),設(shè)計所含硬件目標(biāo)接口數(shù)量有限。但由于需對運行于與實驗室內(nèi)仿真器相連接的外部硬件上的目標(biāo)外設(shè)或主機進(jìn)行建模,因此在適應(yīng)性、可靠性以及ROI等方面存在嚴(yán)重缺陷。
線纜以及外部硬件設(shè)備不但提高了復(fù)雜度,帶來了可靠性隱患,而且限定了仿真方式,因此實驗室的設(shè)置成為瓶頸環(huán)節(jié)。在進(jìn)行內(nèi)電路仿真時,屬于不同項目組的多個遠(yuǎn)程軟硬件工程師團(tuán)隊同時進(jìn)行仿真的唯一方法是,在多個仿真器上運行同一項目設(shè)置。這樣做不但成本高昂、能耗極大,而且不易于管理。
幸運的是,目前已有第四種方法可用,即利用“虛擬實驗室”仿真環(huán)境。虛擬實驗室更適用于成員領(lǐng)域各異、挑戰(zhàn)錯綜復(fù)雜,且面臨相同的SoC開發(fā)難題的大型團(tuán)隊。
由于虛擬仿真實驗室具有可以向所有軟件工程師提供靈活仿真器、免去了由于布置線纜而造成的雜亂無章、不會因如RAID般的多個內(nèi)電路仿真裝置同時運行而造成高能耗等優(yōu)點,因此為滿足SoC設(shè)計團(tuán)隊對虛擬仿真實驗室的需求,這一新方法應(yīng)運而生。很顯然,該解決方案需進(jìn)行多次軟件驗證過程。
在10余年協(xié)同模型研究的基礎(chǔ)上,Mentor Graphics公司于2012年宣布,一種全新的仿真方法研發(fā)成功。該方法擺脫了對目標(biāo)外設(shè)的外部硬件設(shè)備運行模型的依賴,取而代之的是,允許客戶將仿真器置于通用數(shù)據(jù)中心,并且僅需將其視為另一種計算資源。
采用這一全新仿真方法,設(shè)計師可以將其目標(biāo)協(xié)議與設(shè)計同時加載于仿真器,并通過個人電腦驅(qū)動測試流程的軟件層,而真正的目標(biāo)操作系統(tǒng)、驅(qū)動程序以及應(yīng)用程序則在一臺虛擬機上安全運行。
與其他方法相比,當(dāng)軟硬件處于開發(fā)早期階段,且更改頻繁時,更適宜采用該虛擬實驗室解決方案進(jìn)行SoC驗證。對于所含門電路達(dá)數(shù)以百萬計的嵌入式處理器,多種外設(shè),以及復(fù)雜軟件測試,虛擬實驗室的靈活性和生產(chǎn)效率均得到大幅提高。
從功能上講,虛擬實驗室和內(nèi)電路仿真器相同,但更多的測試流程在軟件中進(jìn)行??赏ㄟ^個人電腦或工作站進(jìn)行控制,且提供了與ICE解決方案中所用模型相同的硬件精確模型,并有適當(dāng)?shù)念A(yù)驗證IP可供工程師使用。協(xié)議RTL模型、軟件棧以及應(yīng)用程序可輕松地下載至仿真器,強化SoC驗證流程。和ICE類似,軟件工程師可通過虛擬實驗室訪問仍處于RTL階段的硬件設(shè)計,但方式更靈活,即無需通過繁冗設(shè)置,且無需在仿真器停機時間進(jìn)行。
對于硬件工程師來說,將仿真器從實驗室移至數(shù)據(jù)中心,可避免因布線變動、引腳損壞、可用引腳缺乏以及遠(yuǎn)程實驗室工作人員對外部目標(biāo)硬件進(jìn)行倒線時的徹夜等待而導(dǎo)致的停機。有了虛擬實驗室仿真,工程師的測試工作可不再依靠定制目標(biāo)板進(jìn)行。
對于軟件工程師來說,它則為在虛擬機上運行真正的目標(biāo)操作系統(tǒng)提供了一個穩(wěn)定性更好、靈活性更強的環(huán)境。比如,代碼請求內(nèi)存不可用時,不會再出現(xiàn)硬件崩潰現(xiàn)象;電腦仍可正常工作,僅需虛擬機重新啟動。
ROI亦隨著對仿真器的訪問而得到提高。在虛擬實驗室環(huán)境下,仿真器被視作一臺服務(wù)器,可供多個團(tuán)隊、多個項目組,甚至處于不同地理位置的人員使用。它不再是一臺只可供少數(shù)特殊人群使用的昂貴設(shè)備。其目標(biāo)是,同時為同一企業(yè)的各個項目組的所有軟硬件及集成工程師提供一個永遠(yuǎn)在線的高度靈活的仿真環(huán)境。
通過同步工程實現(xiàn)ROI、質(zhì)量以及生產(chǎn)效率的提升已走過了漫長歷程。通過將SoC驗證移出實驗室,虛擬實驗室仿真創(chuàng)造的驗證環(huán)境最終使得上述目標(biāo)成為現(xiàn)實。
評論