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