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