很多人認(rèn)為硬件加速器無(wú)非是一種速度更快的仿真器而已。毫無(wú)疑問(wèn),由于硬件加速器使用物理硬件進(jìn)行仿真,使用硬件加速器驗(yàn)證復(fù)雜的集成電路和大型片上系統(tǒng)(SoC)能比軟件仿真器快若干數(shù)量級(jí)。與仿真用通用計(jì)算機(jī)相比,仿真用單一功能計(jì)算機(jī)能提供更高容量、更高效的系統(tǒng)。 并且,許多擁有并使用硬件加速器的公司都發(fā)現(xiàn),除具有加快仿真速度的功能外,硬件加速器還具有其他一些功能。例如,許多經(jīng)驗(yàn)豐富的硬件加速器用戶正在推動(dòng)完整的端到端功能驗(yàn)證的封裝,即待測(cè)設(shè)計(jì)的一端為驅(qū)動(dòng)程序,另一端為其他目標(biāo)外圍設(shè)備。端到端功能測(cè)試能實(shí)現(xiàn)在流片前確認(rèn)大型SoC(包含如多媒體、PCIe、USB和以太網(wǎng))的完整功能路徑。 與單純地加快仿真速度相比,能夠充分驗(yàn)證驅(qū)動(dòng)程序和硬件則有更顯著的價(jià)值。由于在硬件加速器上使用真實(shí)的驅(qū)動(dòng)程序和精確的硬件外圍接口來(lái)進(jìn)行調(diào)試,這給片上系統(tǒng)(SoC)的可用性帶來(lái)更多的保證。同時(shí),經(jīng)過(guò)全面測(cè)試的設(shè)備驅(qū)動(dòng)程序能加快回片后的調(diào)試進(jìn)度。 此外,硬件加速器的高速度和大容量使得待測(cè)設(shè)計(jì)(DUT)可以運(yùn)行于和流片后一樣的硅芯片原生環(huán)境上,遠(yuǎn)遠(yuǎn)早于FPGA原型和樣片。硬件加速器使啟動(dòng)實(shí)時(shí)操作系統(tǒng)(RTOS)、運(yùn)行設(shè)備驅(qū)動(dòng)程序、執(zhí)行復(fù)雜的計(jì)算、發(fā)送指令到DUT并顯示結(jié)果成為可能。如此一來(lái),硬件加速器用戶所能做的遠(yuǎn)多于仿真加速,他們現(xiàn)在可以在硅的環(huán)境中驗(yàn)證一個(gè)“虛擬”的SoC,完成和真實(shí)芯片一樣的測(cè)試。 用戶已成功地應(yīng)用這種端到端驗(yàn)證流程的其中一個(gè)領(lǐng)域就是驗(yàn)證手機(jī)的圖形處理單元(GPU)。首先,在硬件加速器中對(duì)GPU核進(jìn)行編譯。然后,調(diào)用驅(qū)動(dòng)程序。而為了運(yùn)行驅(qū)動(dòng)程序,必須啟動(dòng)RTOS,因?yàn)樵O(shè)備驅(qū)動(dòng)程序需要借助RTOS中包含的功能才能運(yùn)行。最后,GPU對(duì)圖像進(jìn)行渲染,換句話說(shuō),就是DUT的輸出。整個(gè)過(guò)程中會(huì)涉及到一系列非常復(fù)雜的操作。啟動(dòng)LinuxRTOS需要數(shù)十億時(shí)鐘周期。RTOS將一張?jiān)紙D像發(fā)送至設(shè)備驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序首先對(duì)圖像進(jìn)行無(wú)數(shù)次計(jì)算和存儲(chǔ)操作,然后獲取和向GPU提供存儲(chǔ)地址等信息,最后指示GPU對(duì)圖像進(jìn)行渲染。然后,GPU從這些地址中獲取所需的數(shù)據(jù),以便進(jìn)行圖片制作。所有這些活動(dòng)都需要運(yùn)行大量的軟件,而且需要數(shù)十億個(gè)周期將一系列幀轉(zhuǎn)變成視頻。 如此巨大的時(shí)鐘周期數(shù),軟件仿真器是無(wú)法簡(jiǎn)單完成的,而硬件加速器可以。例如,Mentor Graphics的Veloce硬件加速器可每秒運(yùn)行一百萬(wàn)個(gè)周期,所以用戶可在約兩個(gè)小時(shí)內(nèi)就能運(yùn)行一百億個(gè)周期。能夠在處理器上運(yùn)行驅(qū)動(dòng)程序,接收原始圖像,對(duì)圖像進(jìn)行準(zhǔn)備,將圖像發(fā)送至GPU進(jìn)行渲染,然后處理成最終圖像,這些使得硬件加速器用戶能夠如同測(cè)試最終產(chǎn)品一樣充分測(cè)試待測(cè)設(shè)計(jì)。 Veloce的用戶還擁有一個(gè)獨(dú)特的優(yōu)勢(shì),就是使用運(yùn)行于工作站上的VirtuaLAB多媒體分析組件將GPU渲染的圖像顯示出來(lái),該組件可從硬件加速器中獲取多個(gè)幀并組合成視頻。這使得Veloce用戶能夠看到實(shí)時(shí)視頻,所以用戶就可以直觀地檢查是否存在響應(yīng)時(shí)間慢、抖動(dòng)、拖尾、重影等現(xiàn)象。 ![]() 圖1: VirtuaLAB多媒體分析組件從運(yùn)行于Veloce硬件加速器的待測(cè)設(shè)計(jì)中收集視頻和音頻流并對(duì)其進(jìn)行分析和可視化。 只有Mentor Graphics的Veloce仿真環(huán)境可以提供這樣一個(gè)端到端功能驗(yàn)證流程,因?yàn)橹挥蠽eloce具有這種流程要求的配套技術(shù)。Veloce提供了一個(gè)完整的功能驗(yàn)證環(huán)境,包括斷言、功能覆蓋、低功耗驗(yàn)證、全面的嵌入式軟件調(diào)試套件、虛擬和物理外設(shè)、虛擬探針、加速軟件執(zhí)行、快速、準(zhǔn)確的設(shè)計(jì)編譯、全芯片調(diào)試可視性和企業(yè)級(jí)服務(wù)器功能。 Mentor無(wú)與倫比的超高速數(shù)據(jù)通道能以閃電般的速度實(shí)現(xiàn)仿真器和工作站之間大量數(shù)據(jù)的傳輸,因此工程師可以在不中斷仿真運(yùn)行的前提下在硬件加速器和工作站上進(jìn)行調(diào)試。 ![]() 圖2:硬件加速技術(shù)正變得不僅僅是加速仿真速度。 由于結(jié)合了驅(qū)動(dòng)程序、RTOS和GPU,基于硬件加速器的端到端SoC功能驗(yàn)證流程為用戶提供了很高的信心,正因?yàn)檫M(jìn)行了全面的功能驗(yàn)證,前述芯片的視頻接口、處理器和存儲(chǔ)子系統(tǒng)出現(xiàn)功能錯(cuò)誤的可能性很小。并且由于驅(qū)動(dòng)程序已經(jīng)在硬件加速器實(shí)現(xiàn)的真實(shí)硬件上進(jìn)行過(guò)充分調(diào)試,所以一旦芯片出現(xiàn)任何問(wèn)題,設(shè)計(jì)團(tuán)隊(duì)就會(huì)知道芯片存在制造方面的問(wèn)題,因此不需要浪費(fèi)時(shí)間在重新驗(yàn)證GPU或GPU與處理器的接口上,從而大大提高流片信心和產(chǎn)品上市速度。 |