如今,芯片開發(fā)競爭愈發(fā)激烈,芯片制造商迫切希望芯片在送到實驗室后,能盡快完成相關(guān)工作并盡早發(fā)貨。更準(zhǔn)確地說,他們希望從芯片送達實驗室到將產(chǎn)品交付給客戶,整個過程僅需數(shù)小時的時間,而不用耗費數(shù)天或數(shù)月。這就要求整個系統(tǒng)(包含芯片及其上運行的所有軟件)必須提前準(zhǔn)備就緒,并按預(yù)期運行。
軟件已成為當(dāng)今電子系統(tǒng)中不可或缺的組成部分。從虛擬現(xiàn)實(VR)頭顯,到高等級自動駕駛汽車,這些由軟件驅(qū)動的系統(tǒng)都依賴于精密的復(fù)雜算法,才能讓從元宇宙沉浸式體驗到高級駕駛輔助系統(tǒng)等功能得以實現(xiàn)。
先進片上系統(tǒng)(SoC)和Multi-Die系統(tǒng)中的軟件內(nèi)容呈爆炸式增長,使得開發(fā)過程變得復(fù)雜而耗時。若要確保滿足產(chǎn)品上市時間要求,硬件設(shè)計和軟件開發(fā)就必須齊頭并進,而不能等到硬件設(shè)計完成后再開始軟件開發(fā)。而軟件啟動(bring-up)旨在確保軟件功能完全正常、與目標(biāo)芯片進行了正確集成并針對目標(biāo)芯片進行了優(yōu)化,它對確保整個系統(tǒng)的質(zhì)量和性能至關(guān)重要。
面對這些挑戰(zhàn),開發(fā)者該如何才能更快、更高效地完成軟件啟動過程?在Multi-Die系統(tǒng)中,每個異構(gòu)芯片都可以是一個擁有完整軟件堆棧的獨立系統(tǒng),且所有芯片必須協(xié)同工作,才能實現(xiàn)Multi-Die系統(tǒng)的功能。那么,大型Multi-Die系統(tǒng)會對軟件啟動流程產(chǎn)生怎樣的影響呢?本文將重點介紹Multi-Die系統(tǒng)的復(fù)雜性和相互依賴性給軟件啟動帶來的新挑戰(zhàn),以及虛擬原型和電子數(shù)字孿生等技術(shù)如何幫助開發(fā)者應(yīng)對這些挑戰(zhàn)。
Multi-Die系統(tǒng)的軟件啟動需要些什么?
Multi-Die系統(tǒng)已逐漸成為半導(dǎo)體設(shè)計的主流,讓開發(fā)者可以更迅速地擴展系統(tǒng)功能、降低風(fēng)險并縮短產(chǎn)品上市時間。對于AI、ADAS、超大規(guī)模數(shù)據(jù)中心和高性能計算等計算密集型應(yīng)用,Multi-Die系統(tǒng)已成為系統(tǒng)架構(gòu)的首選。
Multi-Die系統(tǒng)將多個芯片(也稱Chiplets)融合在一個封裝中,帶寬和功耗表現(xiàn)出色,可滿足各種應(yīng)用不斷提高的功能需求。Multi-Die系統(tǒng)的模塊化架構(gòu)可幫助芯片開發(fā)者更迅速地打造新的產(chǎn)品型號,從而更快抓住多個終端市場的機會。
與單片系統(tǒng)相比,Multi-Die系統(tǒng)使軟件變得更錯綜復(fù)雜,甚至也讓開發(fā)變得更困難。單片SoC通常由具有特定組織結(jié)構(gòu)的團隊,按預(yù)先確定的日程安排開展開發(fā)工作。Multi-Die系統(tǒng)由多個芯片組成,而這些芯片可能采用了不同的制程節(jié)點,因此傳統(tǒng)的流程是行不通的。
從技術(shù)角度來看,十年前由多個PCB組成的系統(tǒng),如今已演變?yōu)榭捎蓡蝹€Multi-Die系統(tǒng)代替。這其中的軟件復(fù)雜性變化不言而喻。除了在各個芯片的硬件上調(diào)試軟件堆棧外,開發(fā)者還需要對整個系統(tǒng)進行集成和測試。數(shù)據(jù)通過復(fù)雜的Die-to-Die接口在芯片之間不斷流轉(zhuǎn),例如通用芯粒互連技術(shù)(UCIe)(通常基于PCIe或CXL)。這些接口需要進行正確的軟件設(shè)置和編程。隨著軟件虛擬機監(jiān)控程序的加入,情況變得更加復(fù)雜,因為軟件虛擬機監(jiān)控程序會使用復(fù)雜的虛擬化功能和半虛擬化軟件驅(qū)動程序(如單根輸入/輸出虛擬化(SR-IOV)標(biāo)準(zhǔn))來共享硬件接口。在單個PCIe主機/設(shè)備中開發(fā)和調(diào)試這些設(shè)置已非易事,而對于包含多個此類接口的復(fù)雜Multi-Die系統(tǒng),更是難上加難。調(diào)試工作在技術(shù)層面和組織層面都面臨重重挑戰(zhàn)。在技術(shù)層面,目前芯片功能不斷增加,但調(diào)試接口數(shù)量有限,調(diào)試可見性因此受到限制;而在組織層面,調(diào)試流程可能要求不同公司的團隊建立聯(lián)系,以了解并共同確定調(diào)試方案,其中的困難顯而易見。
為確保最終應(yīng)用正常運行,量產(chǎn)前就必須將芯片上運行的軟件載入硬件加速系統(tǒng)中,進行超過數(shù)百億個周期的測試。在就Multi-Die系統(tǒng)硬件組件做出任何決策時,都需要綜合考慮軟件的影響。軟件在不斷發(fā)展,因此測試過程也要隨之持續(xù)演變。
加速軟件啟動的關(guān)鍵技術(shù)
在新設(shè)計的硬件上進行軟件調(diào)試,是為了使軟件中的設(shè)置與目標(biāo)器件的特性相匹配。換句話說,軟件必須與硬件相匹配,才能確保功能正常,使系統(tǒng)達到出色性能。此過程包括由專用控制器對芯片進行底層初始化,并對主操作系統(tǒng)進行調(diào)試。軟件實際上是一個多層整體堆棧,其中可能包括提供服務(wù)的中間件、設(shè)備驅(qū)動程序或與外界通信的元件(如USB或以太網(wǎng)控制器)。
通過采用多種流片前技術(shù)在不同的抽象層次進行部署,可以進一步縮短產(chǎn)品上市時間并提高軟件質(zhì)量。以下列舉了五種技術(shù):
虛擬原型,由開發(fā)者創(chuàng)建事務(wù)級模型,其本質(zhì)是使用C++語言為以RTL語言設(shè)計的芯片創(chuàng)建等效模型。這有助于實現(xiàn)流程左移,并支持引導(dǎo)啟動。虛擬原型可在整個軟件開發(fā)團隊中進行擴展。對于主機上的操作系統(tǒng)而言,虛擬原型模型就像是真實的設(shè)備。虛擬模型可以連接到真實的物理接口(如PCIe、USB和以太網(wǎng)),也可以連接到硬件加速器或原型上的RTL模型,從而使虛擬原型能夠在現(xiàn)實環(huán)境中進行交互,并為某些類型的測試提供真實的激勵輸入。
對RTL依次使用硬件加速和物理原型系統(tǒng),這樣可以達到一定的精度,但速度比虛擬原型要慢。這種方法需要成熟的RTL和IP描述。后續(xù)通過應(yīng)用快速物理原型,開發(fā)者可以將軟件與物理設(shè)備連接起來,以驗證芯片在現(xiàn)實中的運行情況。
混合原型,將虛擬原型和物理原型(即基于FPGA)的優(yōu)勢相結(jié)合,以加快軟件開發(fā)和系統(tǒng)集成。硬件和軟件開發(fā)者可以借此提高調(diào)試可見性,并更好地控制開發(fā)中的軟件,從而更大限度地優(yōu)化原型性能,并加速系統(tǒng)啟動。
電子數(shù)字孿生,為開發(fā)中的系統(tǒng)提供虛擬表示,以便開發(fā)者在確定最終設(shè)計前分析和優(yōu)化設(shè)計,并加速軟件啟動、功耗分析和軟件/硬件驗證流程。
除了加速軟件啟動外,這些流片前技術(shù)還可以幫助開發(fā)者測量芯片的關(guān)鍵性能指標(biāo)(KPI),有助于盡早驗證性能和功耗,履行對客戶的承諾,從而降低項目風(fēng)險、減少返工,為按期投產(chǎn)和后續(xù)芯片銷售提供保障。
根據(jù)軟件任務(wù)的具體需求,Multi-Die系統(tǒng)開發(fā)者可能要在不同抽象層次上混合使用不同的驗證引擎。鑒于軟件非常多樣化,可以考慮先采用虛擬原型引擎,然后再結(jié)合虛擬和物理原型/硬件仿真加速(分別稱為混合原型和混合硬件仿真加速)技術(shù),為軟件開發(fā)者提供支持,同時滿足Multi-Die系統(tǒng)的容量需求。例如,部分流片前軟件可以在硬件加速器上運行,同時通過虛擬原型或建模對其他軟件組件進行抽象處理。在設(shè)計流程后期,開發(fā)者還需要對硬件上運行的軟件(也就是整個系統(tǒng))進行驗證,以確保達到性能目標(biāo)。
對于Multi-Die系統(tǒng)的軟件啟動而言,混合方法可能最為有效。所有的單個組件都驗證結(jié)束后,就可以在大容量硬件加速器上運行整個Multi-Die系統(tǒng),如最大容量300億門級的新思科技ZeBu硬件加速系統(tǒng)。而通過Synopsys Cloud等解決方案在云端運行硬件加速還為Multi-Die系統(tǒng)提供了更大的容量,并可根據(jù)高峰需求時段的情況更靈活地利用硬件加速器資源。除了ZeBu硬件加速系統(tǒng)外,新思科技驗證系列產(chǎn)品還包括新思科技HAPS原型系統(tǒng)和新思科技Virtualizer虛擬原型解決方案。該系列產(chǎn)品共同提供了早期軟件啟動和系統(tǒng)驗證所需的功能。隨著AI持續(xù)融入電子設(shè)計自動化(EDA)流程,機器學(xué)習(xí)算法也將有可能在軟件啟動期間發(fā)揮關(guān)鍵作用,并在軟件調(diào)試期間幫助進行根本原因分析。
總結(jié)
軟件定義系統(tǒng)為我們帶來了種種新奇產(chǎn)品和工具,例如可以帶我們暢游天南地北的VR頭顯、可以自動泊車和自動駕駛的汽車,以及可以控制家庭照明和暖通空調(diào)系統(tǒng)的AI智能揚聲器等等。上文討論的多種流片前技術(shù),有助于加速Multi-Die系統(tǒng)的軟件啟動過程,以確保協(xié)同優(yōu)化系統(tǒng)中的軟硬件,從而實現(xiàn)最終應(yīng)用的功能和性能目標(biāo)。硬件加速器和(虛擬)原型系統(tǒng)及其混合組合等驗證解決方案,可為新興技術(shù)提供支持,幫助開發(fā)者打造各種智能互聯(lián)的電子產(chǎn)品,進一步豐富我們的智能生活。
-
電子系統(tǒng)
+關(guān)注
關(guān)注
0文章
417瀏覽量
31178 -
系統(tǒng)芯片
+關(guān)注
關(guān)注
0文章
38瀏覽量
18373 -
自動駕駛
+關(guān)注
關(guān)注
784文章
13838瀏覽量
166538
原文標(biāo)題:從數(shù)月到幾小時,這枚Multi-Die系統(tǒng)芯片是如何快速交付的?
文章出處:【微信號:Synopsys_CN,微信公眾號:新思科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論