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