人工智能、芯片復雜性不斷上升使原型設計變得復雜
原型設計是設計復雜芯片的一項重要技術(shù),對于越來(lái)越多的包含人工智能/機器學(xué)習的設計來(lái)說(shuō),原型設計變得越來(lái)越具有挑戰性。
本文引用地址:http://dyxdggzs.com/article/202309/450211.htm原型設計允許在實(shí)際芯片可用之前開(kāi)發(fā)和測試軟件。反過(guò)來(lái),這使得多個(gè)團隊能夠同時(shí)進(jìn)行設計,并且允許對不同的選項進(jìn)行更多的實(shí)驗,以查看最適合的特定應用程序的選項。
Cadence 產(chǎn)品管理總監 Lance Tamura 表示:「設計尺寸已經(jīng)限制了仿真可以支持的內容,精確到各模塊或非常短的測試用例。人工智能一直是仿真和原型平臺發(fā)展的重要推動(dòng)力,因為它需要大量定制芯片。因此,人工智能推動(dòng)了設計尺寸的增長(cháng),從而導致對仿真和原型設計的需求不斷增長(cháng)?!?/span>
但人工智能/機器學(xué)習的推出,以及對算法的不斷優(yōu)化和改變,也給運行良好的設計流程增加了一些不確定性。軟件的變化可能會(huì )影響數據在芯片或封裝中的移動(dòng)方式、存儲方式和位置,并且可能會(huì )產(chǎn)生影響性能、功耗和可靠性的新壓力點(diǎn)。
Quadric 首席營(yíng)銷(xiāo)官 Steve Roddy 表示:「作為一般規則,系統仿真一直是 SoC 的任何高性能'數據平面'元素的關(guān)鍵步驟,到 2023 年,今天的新情況是,機器學(xué)習推理的快速發(fā)展同時(shí)擾亂了幾乎所有類(lèi)型的子系統。經(jīng)過(guò)驗證的構建模塊的已知特征可能允許團隊使用啟發(fā)式方法來(lái)調整系統資源(內存、總線(xiàn)帶寬、I/O 帶寬、電源管理)的大小,但這些特征都被破壞了?!?/span>
Roddy 表示,這適用于圖形引擎(使用機器學(xué)習推理進(jìn)行動(dòng)態(tài)超級縮放和放大)以及 Wi-Fi 子系統(可能使用新穎的機器學(xué)習算法來(lái)改進(jìn)波束形成或星座解碼)。它還適用于深度學(xué)習網(wǎng)絡(luò ),包括語(yǔ)音增強和攝像頭。
他說(shuō):「這些新穎的機器學(xué)習工作負載中的每一個(gè)都可能需要同時(shí)運行,而且隨著(zhù)數據科學(xué)家幾乎每個(gè)月都發(fā)明新的網(wǎng)絡(luò )圖,每一個(gè)工作負載都可能會(huì )迅速變化?!埂冈趯⒋罅繖z查寫(xiě)入掩模車(chē)間之前,先進(jìn)行仿真,然后進(jìn)行 FPGA 原型設計,這實(shí)際上是完全完成設計的唯一方法?!?/span>
甚至在人工智能推出之前,原型設計就已經(jīng)被推到了極限。雖然設計團隊欣賞原型設計的價(jià)值,但他們希望不要花那么長(cháng)時(shí)間或在此過(guò)程中進(jìn)行太多迭代。
「縮短獲得工作 FPGA 原型的時(shí)間是客戶(hù)的首要要求,」西門(mén)子 EDA 原型產(chǎn)品戰略總監 Juergen Jaeger 表示?!敢坏┰瓦\行并發(fā)揮作用,每個(gè)人都會(huì )欣喜若狂,因為現在你有了設計的前期版本。你可以啟動(dòng)操作系統并通過(guò)它真實(shí)運行的網(wǎng)絡(luò )流量,以查看系統的實(shí)際行為?!?/span>
如何實(shí)現工作?
原理 模擬、仿真和原型設計就像虛擬凳子的三個(gè)腿。通常,從模擬開(kāi)始,這是一種基于軟件的驗證方法,其中設計的過(guò)程主要是在軟件中創(chuàng )建的,無(wú)論是 VHDL、Verilog、SystemVerilog 還是 SystemC?!妇推浔举|(zhì)而言,模擬的好壞取決于你在測試平臺上提出的一系列問(wèn)題,」Jaeger 指出?!付乙驗樗客ㄟ^(guò)軟件在計算機上運行,所以它也是這些方法中最慢的?!?/span>
仿真更進(jìn)一步,將設計映射到仿真器本身?!冈撛O計在硬件上運行,你可以將模擬器視為用于模擬的大規模并行計算引擎、加速器,」Jaeger 說(shuō)?!溉缓?,由于仿真運行得足夠快,除了測試臺之外,你還可以將真實(shí)的顯示器或鍵盤(pán)或鼠標連接到它。這形成了一個(gè)更完整的驗證環(huán)境,因為你不再依賴(lài)于向測試平臺提出的問(wèn)題?!?/span>
原型設計更進(jìn)一步,有效地創(chuàng )建設計的數字孿生,并將其映射到 FPGA 中,從而在 ASIC 成為芯片之前對其功能進(jìn)行測試?;?FPGA 的原型設計通常是三步流程中的最后一步。
「這三者相互補充,并在項目的不同階段使用,」Synopsys 產(chǎn)品營(yíng)銷(xiāo)總監 António Costa 說(shuō)?!冈谠蜕?,你可以擁有現實(shí)世界的界面。例如,如果你想與 PCIe 5.0 交互,你需要一個(gè)以非常高性能運行的原型。進(jìn)行一致性測試的唯一方法是使用你計劃在 SoC 中使用的軟件快速運行該接口?!?/span>
變革策略
在復雜的設計和新的應用領(lǐng)域中,所有這些都變得更加困難,因為算法處于不斷變化的狀態(tài)。雖然設計在仿真和仿真后可能會(huì )完美運行,但在數月或數年后,隨著(zhù)軟件更新和系統優(yōu)化的不斷進(jìn)行,它的表現可能會(huì )大不相同。
對于預期壽命為幾年的消費設備來(lái)說(shuō),這可能不是問(wèn)題,但在汽車(chē)或數據中心應用中情況就完全不同了,在這些應用中,芯片預計能按預期運行更長(cháng)時(shí)間。在汽車(chē)和 5G/6G 等市場(chǎng)中,已經(jīng)實(shí)施了法規和標準,以確保設計不會(huì )偏離原始規范太遠?!溉绻悴环弦幎?,如果有不兼容的東西,你可能不會(huì )被授權出售,」Costa 說(shuō)?!高@非常重要,是每次開(kāi)發(fā)都需要完成的最后一項?!?/span>
Costa 強調這是一個(gè)至關(guān)重要且經(jīng)常被忽視的失敗點(diǎn),也是為什么原型設計永遠不能被跳過(guò)的原因。芯片可能會(huì )出色地通過(guò)模擬和仿真,但隨后會(huì )在市場(chǎng)上失敗,因為它無(wú)法通過(guò)標準協(xié)議連接。
即使在這種傳統的三步流程的范圍內,設計團隊也可能會(huì )針對不同的應用程序進(jìn)行一些調整?!鸽m然有些人認為模擬、仿真和原型設計是按順序進(jìn)行的,但實(shí)際上它們通常是并行發(fā)生的,因為在某些事情上,一種技術(shù)可以比另一種技術(shù)做得更好,」Imperas 軟件銷(xiāo)售和營(yíng)銷(xiāo)副總裁 Larry Lapides 說(shuō)道?!改M本質(zhì)上是一種白盒技術(shù),可以洞察正在發(fā)生的一切。然而,如果你使用硬件,則并不總是可以獲得所有信息。我們的用戶(hù)從仿真開(kāi)始,在投片前使用它,但也在投片后使用它,因為仿真提供了可觀(guān)察性、自動(dòng)化的簡(jiǎn)易性和可控性?!?/span>
其中許多變化是對日益復雜的設計以及共同設計硬件和軟件以最大限度地提高每瓦性能的需求的反應。這會(huì )產(chǎn)生一些可預見(jiàn)的問(wèn)題。
「硬件和軟件團隊不一定知道如何相互溝通,他們來(lái)自不同的角度,」Lapides 說(shuō)?!赣布藛T喜歡模型。但如果他們正在構建 A、詳細模型,以及 B、完整 SoC 的模型,這些事情將會(huì )減慢軟件開(kāi)發(fā)的模擬環(huán)境。你不需要對 SoC 上的所有內容進(jìn)行建模,不需要了解處理器管道的詳細級別,也不需要對通信以太網(wǎng)協(xié)議進(jìn)行物理實(shí)現。你需要專(zhuān)注于用現實(shí)的、可實(shí)現的里程碑來(lái)定義項目,這些里程碑是相互依存的?!?/span>
人工智能/機器學(xué)習可能會(huì )進(jìn)一步模糊這些界限?!窱P 核供應商面臨著(zhù)生產(chǎn)準確的 SystemC 處理器和加速器模塊模型的壓力,芯片制造商可以在早期系統模型中結合這些模型來(lái)運行早期軟件,」Quadric 的 Roddy 說(shuō)?!感酒圃焐炭赡軙?huì )在大型仿真系統中對大部分或全部完整 SoC 進(jìn)行原型設計。對于選擇與內部硬件團隊一起構建 NPU 加速卸載引擎的半導體設計團隊來(lái)說(shuō),這給這些團隊帶來(lái)了聘請 SystemC 建模專(zhuān)家的負擔。事實(shí)上,芯片集成商早在加速器塊之前就需要 C 模型,因為只有當精確的模型運行時(shí),集成商才能知道加速器具有正確的規格?!?/span>
這個(gè)等式的另一面是人工智能可以用來(lái)幫助解決這些問(wèn)題,特別是在平面規劃方面。自我改進(jìn)的啟發(fā)式算法可以從以前的嘗試中學(xué)習,可以預測哪些設計可能會(huì )在布局布線(xiàn)上失敗,并且應該有助于避免此類(lèi)問(wèn)題?!高@對生產(chǎn)力來(lái)說(shuō)是一個(gè)巨大的提升,因為現在意味著(zhù)你不必等待 20 個(gè)小時(shí)直到出現故障,而是一分鐘后就知道它將出現故障,并且你甚至可以在運行布局和布線(xiàn)之前修復它,」Jaeger 說(shuō)。
改變重點(diǎn)
人工智能還可以改變三大支柱的相對價(jià)值?!溉绻阏诙x一個(gè)人工智能系統,你就擁有頂層的人工智能算法,并且你必須能夠從這些算法編譯到某個(gè)中間級別,這將利用底層的架構,」Imperas 的 Lapides 說(shuō)道?!溉缓蟊仨殦碛杏布幾g器,它將獲取這些單獨的部分并將它們編譯為核心,之后必須在數十億個(gè)場(chǎng)景中運行它。能夠在正常的原型設計環(huán)境中使用 FPGA 原型(其運行速度為 50 兆赫茲)或在硬件仿真器(其運行速度可能為 5 兆赫茲)中完成此操作,而不是直接執行在將以數百兆赫茲運行的仿真環(huán)境中,這意味著(zhù)仿真具有真正的優(yōu)勢。它不能做所有事情,但它可以做很多事情來(lái)幫助優(yōu)化從算法到芯片上的分布式人工智能加速器的人工智能編譯步驟。我們的客戶(hù)正在構建人工智能設備,這些設備并行使用數十到數百個(gè)模擬許可證來(lái)幫助進(jìn)行功能正確性測試和優(yōu)化?!?/span>
弄清楚使用哪些工具、何時(shí)使用它們以及如何劃分設計本身就是一個(gè)越來(lái)越大的挑戰。
「現有的分區算法仍然相當有效,但實(shí)現非??斓木幾g時(shí)間和快速運行時(shí)間仍然是一個(gè)挑戰,」Cadence 的 Tamura 說(shuō)?!鸽S著(zhù)設計尺寸的增長(cháng),這變得更加困難。人工智能算法不僅有可能為當前平臺提供有效的分區解決方案,而且還可能影響未來(lái)平臺的架構?!?/span>
尋找最佳方法可能需要與各種供應商交談,并仔細研究技術(shù)論文以了解哪種方法最適合哪些應用程序。它還可能需要縮小芯片制造商的關(guān)注范圍,將選擇的數量限制在那些經(jīng)過(guò)芯片測試的產(chǎn)品上。
「盡可能標準化你的設計方法和工具,」是德科技 ASIC 設計經(jīng)理 John Mick 建議?!冈诓迦肷a(chǎn)流程之前開(kāi)發(fā)測試用例以證明流程的更改。對多個(gè)設計使用相同的工藝節點(diǎn)。遷移到新節點(diǎn)意味著(zhù)新的 IP 和設計規則集,這可能會(huì )導致 ASIC 開(kāi)發(fā)時(shí)間延長(cháng)數月?!?/span>
也就是說(shuō),這些設計的復雜性以及針對特定應用程序和用例的定制可能會(huì )對最有效的方案產(chǎn)生重大影響?!缚蛻?hù)應該了解他們正在尋找的關(guān)鍵功能,」Jaeger 說(shuō)?!咐?,如果你的目標是主要運行軟件,那么盡可能高的性能就是你的第一要務(wù)。如果你想主要確保 RTL 功能正常,并且不必進(jìn)行芯片重新設計,那么調試功能對你來(lái)說(shuō)是最重要的?!?/span>
就這一點(diǎn)而言,EDA 工具提供商通常會(huì )提供量身定制的產(chǎn)品?!咐?,是德科技與模擬器無(wú)關(guān),因此我們不使用『固定』供應商流程。我們優(yōu)化設計流程以與不同的供應商合作。這意味著(zhù)我們已經(jīng)開(kāi)發(fā)了數百個(gè)腳本來(lái)處理這些工具并使其全部正常工作,」Mick 說(shuō)。
Synopsys 的 Costa 補充說(shuō),所有這些建議可能看起來(lái)都是顯而易見(jiàn)的,但在緊要關(guān)頭,當團隊擔心時(shí)間和預算時(shí),它們很容易被忽視。這最終可能會(huì )花費更多的時(shí)間?!溉绻闳匀恍枰刻旄?RTL,那么現在進(jìn)行原型設計可能還為時(shí)過(guò)早。你應該返回仿真,并確保設計狀況良好。最重要的是,制定可靠的計劃是知道何時(shí)停止的關(guān)鍵?!蛤炞C永無(wú)止境,」Jaeger 說(shuō)。
結論
芯片制造商可用的選項數量,以及終端市場(chǎng)對高度定制解決方案(包括某種形式的人工智能/機器學(xué)習)的需求,以及每瓦性能的數量級改進(jìn),正在使現有工具和方法遠遠超出其最初目標。
對于芯片制造商來(lái)說(shuō),關(guān)鍵是限制有意義的選項數量,以便保持專(zhuān)注,并在設計可以從中受益的地方利用任何可用的新技術(shù)、工具和方法。盡管如此,仍有更多的變量需要應對,更多的挑戰可能是獨一無(wú)二的,可能沒(méi)有單一的解決方案。這些變化使設計過(guò)程變得更加有趣和創(chuàng )新,但這種自由度是有代價(jià)的。
評論