今年國(guó)際消費(fèi)類電子產(chǎn)品展覽會(huì)(CES)上展出的眾多令人難以置信的電子產(chǎn)品再度讓我驚嘆。產(chǎn)品涵蓋各種最新一代設(shè)備,從超薄筆記本電腦到功能強(qiáng)大的平板電腦、神奇的二合一移動(dòng)電腦,再到發(fā)展飛速的智能手機(jī)等不一而足。無(wú)處不在的“物聯(lián)網(wǎng)”(IoT)受到越來(lái)越廣泛的關(guān)注。簡(jiǎn)單來(lái)說(shuō),它不是一臺(tái)電腦,而是通過(guò)互聯(lián)網(wǎng)進(jìn)行通信的任何設(shè)備。在眾多IoT產(chǎn)品中,各種穿戴式設(shè)備(包括智能手表和健康與健身追蹤器)作為移動(dòng)設(shè)備的后起之秀脫穎而出。
不過(guò),智能手機(jī)仍以較大的利潤(rùn)優(yōu)勢(shì)占據(jù)了移動(dòng)市場(chǎng)的最大份額,無(wú)疑成為推動(dòng)整個(gè)移動(dòng)市場(chǎng)發(fā)展的領(lǐng)頭羊。這類產(chǎn)品的核心部件是一個(gè)應(yīng)用程序處理器單元(APU),典型示例就是片上系統(tǒng)(SoC)設(shè)計(jì)。
應(yīng)用處理器
十多年前,Texas Instruments(TI)在其OMAP(開(kāi)放式多媒體應(yīng)用平臺(tái))設(shè)備的產(chǎn)品線上首次使用了APU這一術(shù)語(yǔ)。當(dāng)時(shí),TI正在為未來(lái)的集成方向與Intel一較高下:即芯片級(jí)別上的集成還是封裝級(jí)別(也稱作系統(tǒng)級(jí)封裝或SiP)上的集成。Intel聲稱,芯片級(jí)制造更適合通過(guò)在封裝組合階段堆疊單個(gè)集成電路芯片來(lái)集成不同的功能,包括存儲(chǔ)器、數(shù)字處理和模擬電路。
遺憾的是,在相繼推出五代OMAP設(shè)備后,TI因市場(chǎng)競(jìng)爭(zhēng)過(guò)于激烈而在2012年決定終止開(kāi)發(fā)OMAP系列產(chǎn)品。這是 TI認(rèn)可現(xiàn)實(shí)的表現(xiàn)。只要想想現(xiàn)如今所有大型半導(dǎo)體公司都在設(shè)計(jì)屬于自己風(fēng)格的AP就不言而喻了。表1列出了這一領(lǐng)域的主要競(jìng)爭(zhēng)對(duì)手。
表I:提供專有APU的主要公司
典型的APU可將多個(gè)ARM內(nèi)核、多個(gè)圖形處理單元(GPU)、較大片上緩存存儲(chǔ)器、用于與片外DRAM進(jìn)行通信的內(nèi)存控制器、音頻和視頻解碼器(和編碼器)以及USB主控制器集成到單一芯片上。此外,它還具有眾多其他數(shù)字和模擬電路的功能。
圖1 代表新式APU的方框圖。
圖1:Texas Instruments的OMAP5方框圖[來(lái)源:ICFPT 2014主題演講,“MegaLUT時(shí)代的邏輯仿真:摩爾定律完勝蘭特法則”,Mike Butts]
APU案例分析
一家大型移動(dòng)半導(dǎo)體公司設(shè)計(jì)出一款可支持創(chuàng)建各種設(shè)計(jì)尺寸(從百萬(wàn)門到億萬(wàn)門)的模塊式應(yīng)用處理器。
通常情況下,該公司可為其客戶群提供AP和相關(guān)系統(tǒng)軟件,以作為開(kāi)發(fā)工具包的一部分用于設(shè)計(jì)新一代移動(dòng)產(chǎn)品。這些工具包可以幫助客戶提早訪問(wèn)工作芯片和軟件,加快其開(kāi)發(fā) 片上系統(tǒng)(SoC)和嵌入式應(yīng)用程序軟件的速度,并助其在芯片制造出來(lái)之前就能推出新產(chǎn)品,從而在競(jìng)爭(zhēng)中占得先機(jī)。
為應(yīng)對(duì)異常激烈的市場(chǎng)競(jìng)爭(zhēng),該公司不得不采用新方法來(lái)縮短產(chǎn)品開(kāi)發(fā)周期。而最重要的決策就是使硬件和軟件開(kāi)發(fā)流程齊頭并進(jìn)。具體來(lái)說(shuō),需要為系統(tǒng)軟件開(kāi)發(fā)團(tuán)隊(duì)提前提供新一代處理器的原型,以幫助其在制造實(shí)際芯片之前開(kāi)始開(kāi)發(fā) 操作系統(tǒng)(OS)增強(qiáng)功能和驅(qū)動(dòng)程序。為實(shí)現(xiàn)這一目標(biāo),公司選擇了硬件仿真解決方案。
和大多數(shù)復(fù)雜集成電路(IC)的開(kāi)發(fā)人員一樣,工程師們采用寄存器傳輸級(jí)(RTL)仿真來(lái)驗(yàn)證組成最終AP設(shè)計(jì)的知識(shí)產(chǎn)權(quán)(IP)模塊。然而,在全芯片級(jí)仿真上執(zhí)行集成級(jí)測(cè)試的效率不高。當(dāng)設(shè)計(jì)超過(guò)1億邏輯門時(shí),芯片級(jí)仿真的性能達(dá)不到每秒一個(gè)周期,這對(duì)于啟動(dòng)O/S或運(yùn)行實(shí)際應(yīng)用軟件是遠(yuǎn)遠(yuǎn)不夠的。因此,一旦芯片的基本功能在仿真中經(jīng)過(guò)驗(yàn)證,設(shè)計(jì)就會(huì)被轉(zhuǎn)移至性能可達(dá)兆赫(MHz)的硬件仿真平臺(tái)上。
芯片設(shè)計(jì)團(tuán)隊(duì)使用硬件仿真系統(tǒng)進(jìn)行處理器驗(yàn)證,而軟件開(kāi)發(fā)團(tuán)隊(duì)則使用硬件仿真系統(tǒng)驗(yàn)證底層系統(tǒng)軟件。一旦全芯片的RTL代碼可供使用,整個(gè)設(shè)計(jì)會(huì)轉(zhuǎn)移至一個(gè)高容量高性能的硬件仿真系統(tǒng)中,這一系統(tǒng)可為完整的系統(tǒng)級(jí)驗(yàn)證提供最高10億門的容量。系統(tǒng)級(jí)原型可在所有軟件開(kāi)發(fā)小組中共享,用于本地應(yīng)用程序的開(kāi)發(fā)和驗(yàn)證。
與傳統(tǒng)原型相比,這一硬件仿真系統(tǒng)具有諸多優(yōu)勢(shì)。舉例來(lái)說(shuō),整個(gè)設(shè)計(jì)都包含在其硬件及其相關(guān)聯(lián)的PC中,無(wú)需目標(biāo)板,也免去了外部電纜、電平位移器和速度適配器。公司使用Mentor Graphics虛擬實(shí)驗(yàn)室(VirtuaLAB)提供的各種功能(包括相機(jī)傳感器、LCD顯示屏、外部設(shè)備和多媒體接口)來(lái)替代物理目標(biāo)系統(tǒng)。在這種環(huán)境下,主機(jī)與硬件仿真器設(shè)計(jì)基于事務(wù)級(jí)接口進(jìn)行連接。參見(jiàn)圖2。
圖2:適用于無(wú)線應(yīng)用程序的VirtuaLAB方框圖
該環(huán)境是在線電路仿真(ICE)的軟件實(shí)現(xiàn)方案,被測(cè)設(shè)計(jì)(DUT)由O/S(例如Linux或Windows)使用驅(qū)動(dòng)程序、應(yīng)用程序和軟件堆棧來(lái)驅(qū)動(dòng)。這種方法無(wú)需創(chuàng)建軟件工程師們無(wú)法理解的硬件驗(yàn)證測(cè)試平臺(tái)(如 SystemVerilog)。因此,設(shè)計(jì)師們可以創(chuàng)建能夠讓軟件工程師充分理解的場(chǎng)景和環(huán)境。
諸如Mentor Graphics的CodeLink等軟件工具可替代JTAG硬件(甚至虛擬JTAG)執(zhí)行非侵入式調(diào)試。在APU中的多處理器環(huán)境下,無(wú)論何時(shí)通過(guò)JTAG在一個(gè)處理器上執(zhí)行軟件調(diào)試,該處理器都會(huì)暫停,并且需要運(yùn)行額外的 JTAG周期,強(qiáng)制該處理器與其他處理器不再同步。而運(yùn)行同步調(diào)試會(huì)話會(huì)讓更多的處理器變得不同步,這樣只會(huì)雪上加霜。這是由于這種軟件只能以被動(dòng)的方式追蹤數(shù)據(jù),因此,采用基于硬件仿真的多處理器軟件調(diào)試更為穩(wěn)健。硬件仿真系統(tǒng)以兆赫的速度運(yùn)轉(zhuǎn),同時(shí)表現(xiàn)出與成品芯片一致的行為方式。
除了使系統(tǒng)原型在本質(zhì)上變得更加可靠外,硬件仿真系統(tǒng)的獨(dú)立環(huán)境無(wú)需人為干預(yù)即可連接/斷開(kāi)外部設(shè)備。而最明顯的優(yōu)勢(shì)是,全球各個(gè)硬件和軟件開(kāi)發(fā)團(tuán)隊(duì)可以隨時(shí)隨地共享同一個(gè)系統(tǒng),24/7全天候進(jìn)行不同的設(shè)計(jì)工作。例如,一個(gè)地方的SoC硬件設(shè)計(jì)團(tuán)隊(duì)可以在白天使用該系統(tǒng)進(jìn)行硬件驗(yàn)證。到了晚上,另一個(gè)地方的其他團(tuán)隊(duì)可以下載不同的設(shè)計(jì)并使用相同的系統(tǒng)進(jìn)行軟件開(kāi)發(fā)。這樣,硬件仿真系統(tǒng)可以保持24/7全天候運(yùn)行狀態(tài)且無(wú)需安排本地維護(hù)人員看守。
以前,開(kāi)發(fā)團(tuán)隊(duì)會(huì)使用傳統(tǒng)的現(xiàn)場(chǎng)可編程門陣列(FPGA)原型系統(tǒng)且通常需要花費(fèi)數(shù)周的時(shí)間才能讓設(shè)計(jì)在系統(tǒng)中正常工作。而諸如多FPGA分區(qū)、時(shí)鐘分布、內(nèi)存映射以及總線處理等操作都需要人工介入。當(dāng)不可避免地要更改設(shè)計(jì)時(shí),團(tuán)隊(duì)就必須從頭開(kāi)始整個(gè)映射過(guò)程,且不得不耗費(fèi)數(shù)周的精力確保修改后的設(shè)計(jì)能夠在 FPGA 軟件上正常工作。一旦原型開(kāi)始正常工作,下一待攻克的難題就是調(diào)試。有限的內(nèi)部可見(jiàn)性和不斷變更的測(cè)試點(diǎn)需要進(jìn)行大量的返工。因此,往往需要一個(gè)龐大的工程師團(tuán)隊(duì)來(lái)支持這一單一的原型設(shè)計(jì)項(xiàng)目。
結(jié)論
轉(zhuǎn)向基于硬件仿真的方法后,開(kāi)發(fā)APU的公司可以在幾天內(nèi)把設(shè)計(jì)搬移到硬件仿真平臺(tái)上而其典型的設(shè)計(jì)代碼修改可在不到一天的時(shí)間里就可完成。此外,它還可以在硬件仿真系統(tǒng)的交互式調(diào)試環(huán)境下快速調(diào)試問(wèn)題。這是通過(guò)將獨(dú)有的硬件仿真器中基于定制芯片的硬件架構(gòu)(Mentor Graphics稱之為“片上仿真器”)與用于實(shí)現(xiàn)映射過(guò)程自動(dòng)化并為有效調(diào)試提供完整的交互式設(shè)計(jì)訪問(wèn)的仿真系統(tǒng)的軟件相結(jié)合得以實(shí)現(xiàn)的。
在過(guò)去,我們的任務(wù)僅僅是將簡(jiǎn)裝原型系統(tǒng)提供給軟件開(kāi)發(fā)人員。即便如此,原型系統(tǒng)的完成通常也是在數(shù)月之后。而現(xiàn)如今,公司可以提早共享一個(gè)完整的硬件仿真系統(tǒng)。然而,真正的好處在于,公司能夠?yàn)榭蛻籼峁┙?jīng)過(guò)完整軟件基礎(chǔ)包驗(yàn)證過(guò)的更加優(yōu)質(zhì)的工程樣品。多年以來(lái),幫助客戶加快產(chǎn)品上市步伐所帶來(lái)的經(jīng)濟(jì)影響已被多項(xiàng)研究得以證實(shí)。
評(píng)論