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