不斷的更新、更多的變量以及對性能的新要求正在推動設計前端發生變化。
原型設計是設計復雜芯片的一項重要技術,對于越來越多的包含人工智能/機器學習的設計來說,原型設計變得越來越具有挑戰性。
原型設計允許在實際芯片可用之前開發和測試軟件。反過來,這使得多個團隊能夠同時進行設計,并且允許對不同的選項進行更多的實驗,以查看最適合的特定應用程序的選項。
Cadence產品管理總監 Lance Tamura 表示:“設計尺寸已經限制了仿真可以支持的內容,精確到各模塊或非常短的測試用例。人工智能一直是仿真和原型平臺發展的重要推動力,因為它需要大量定制芯片。因此,人工智能推動了設計尺寸的增長,從而導致對仿真和原型設計的需求不斷增長。”
但人工智能/機器學習的推出,以及對算法的不斷優化和改變,也給運行良好的設計流程增加了一些不確定性。軟件的變化可能會影響數據在芯片或封裝中的移動方式、存儲方式和位置,并且可能會產生影響性能、功耗和可靠性的新壓力點。
Quadric首席營銷官 Steve Roddy 表示:“作為一般規則,系統仿真一直是SoC的任何高性能'數據平面'元素的關鍵步驟,到 2023 年,今天的新情況是,機器學習推理的快速發展同時擾亂了幾乎所有類型的子系統。經過驗證的構建模塊的已知特征可能允許團隊使用啟發式方法來調整系統資源(內存、總線帶寬、I/O 帶寬、電源管理)的大小,但這些特征都被破壞了。”
Roddy 表示,這適用于圖形引擎(使用機器學習推理進行動態超級縮放和放大)以及 Wi-Fi 子系統(可能使用新穎的機器學習算法來改進波束形成或星座解碼)。它還適用于深度學習網絡,包括語音增強和攝像頭。
他說:“這些新穎的機器學習工作負載中的每一個都可能需要同時運行,而且隨著數據科學家幾乎每個月都發明新的網絡圖,每一個工作負載都可能會迅速變化。”“在將大量檢查寫入掩模車間之前,先進行仿真,然后進行 FPGA 原型設計,這實際上是完全完成設計的唯一方法。”
甚至在人工智能推出之前,原型設計就已經被推到了極限。雖然設計團隊欣賞原型設計的價值,但他們希望不要花那么長時間或在此過程中進行太多迭代。
“縮短獲得工作 FPGA 原型的時間是客戶的首要要求,”西門子EDA原型產品戰略總監 Juergen Jaeger 表示。“一旦原型運行并發揮作用,每個人都會欣喜若狂,因為現在你有了設計的前期版本。你可以啟動操作系統并通過它真實運行的網絡流量,以查看系統的實際行為。”
如何實現工作?
原理 模擬、仿真和原型設計就像虛擬凳子的三個腿。通常,從模擬開始,這是一種基于軟件的驗證方法,其中設計的過程主要是在軟件中創建的,無論是VHDL、Verilog、SystemVerilog還是SystemC。“就其本質而言,模擬的好壞取決于你在測試平臺上提出的一系列問題,”Jaeger 指出。“而且因為它全部通過軟件在計算機上運行,所以它也是這些方法中最慢的。”
仿真更進一步,將設計映射到仿真器本身。“該設計在硬件上運行,你可以將模擬器視為用于模擬的大規模并行計算引擎、加速器,”Jaeger 說。“然后,由于仿真運行得足夠快,除了測試臺之外,你還可以將真實的顯示器或鍵盤或鼠標連接到它。這形成了一個更完整的驗證環境,因為你不再依賴于向測試平臺提出的問題。”
原型設計更進一步,有效地創建設計的數字孿生,并將其映射到 FPGA 中,從而在 ASIC 成為芯片之前對其功能進行測試。基于 FPGA 的原型設計通常是三步流程中的最后一步。
“這三者相互補充,并在項目的不同階段使用,”Synopsys 產品營銷總監 António Costa說。“在原型上,你可以擁有現實世界的界面。例如,如果你想與 PCIe 5.0 交互,你需要一個以非常高性能運行的原型。進行一致性測試的唯一方法是使用你計劃在 SoC 中使用的軟件快速運行該接口。”
變革策略
在復雜的設計和新的應用領域中,所有這些都變得更加困難,因為算法處于不斷變化的狀態。雖然設計在仿真和仿真后可能會完美運行,但在數月或數年后,隨著軟件更新和系統優化的不斷進行,它的表現可能會大不相同。
對于預期壽命為幾年的消費設備來說,這可能不是問題,但在汽車或數據中心應用中情況就完全不同了,在這些應用中,芯片預計能按預期運行更長時間。在汽車和 5G/6G 等市場中,已經實施了法規和標準,以確保設計不會偏離原始規范太遠。“如果你不符合規定,如果有不兼容的東西,你可能不會被授權出售,” Costa說。“這非常重要,是每次開發都需要完成的最后一項。”
Costa 強調這是一個至關重要且經常被忽視的失敗點,也是為什么原型設計永遠不能被跳過的原因。芯片可能會出色地通過模擬和仿真,但隨后會在市場上失敗,因為它無法通過標準協議連接。
即使在這種傳統的三步流程的范圍內,設計團隊也可能會針對不同的應用程序進行一些調整。“雖然有些人認為模擬、仿真和原型設計是按順序進行的,但實際上它們通常是并行發生的,因為在某些事情上,一種技術可以比另一種技術做得更好,”Imperas 軟件銷售和營銷副總裁 Larry Lapides 說道。“模擬本質上是一種白盒技術,可以洞察正在發生的一切。然而,如果你使用硬件,則并不總是可以獲得所有信息。我們的用戶從仿真開始,在投片前使用它,但也在投片后使用它,因為仿真提供了可觀察性、自動化的簡易性和可控性。”
其中許多變化是對日益復雜的設計以及共同設計硬件和軟件以最大限度地提高每瓦性能的需求的反應。這會產生一些可預見的問題。
“硬件和軟件團隊不一定知道如何相互溝通,他們來自不同的角度,” Lapides說。“硬件人員喜歡模型。但如果他們正在構建 A、詳細模型,以及 B、完整 SoC 的模型,這些事情將會減慢軟件開發的模擬環境。你不需要對 SoC 上的所有內容進行建模,不需要了解處理器管道的詳細級別,也不需要對通信以太網協議進行物理實現。你需要專注于用現實的、可實現的里程碑來定義項目,這些里程碑是相互依存的。”
人工智能/機器學習可能會進一步模糊這些界限。“IP 核供應商面臨著生產準確的 SystemC 處理器和加速器模塊模型的壓力,芯片制造商可以在早期系統模型中結合這些模型來運行早期軟件,”Quadric的Roddy說。“芯片制造商可能會在大型仿真系統中對大部分或全部完整SoC進行原型設計。對于選擇與內部硬件團隊一起構建NPU加速卸載引擎的半導體設計團隊來說,這給這些團隊帶來了聘請SystemC建模專家的負擔。事實上,芯片集成商早在加速器塊之前就需要C模型,因為只有當精確的模型運行時,集成商才能知道加速器具有正確的規格。”
這個等式的另一面是人工智能可以用來幫助解決這些問題,特別是在平面規劃方面。自我改進的啟發式算法可以從以前的嘗試中學習,可以預測哪些設計可能會在布局布線上失敗,并且應該有助于避免此類問題。“這對生產力來說是一個巨大的提升,因為現在意味著你不必等待 20 個小時直到出現故障,而是一分鐘后就知道它將出現故障,并且你甚至可以在運行布局和布線之前修復它,”Jaeger 說。
改變重點
人工智能還可以改變三大支柱的相對價值。“如果你正在定義一個人工智能系統,你就擁有頂層的人工智能算法,并且你必須能夠從這些算法編譯到某個中間級別,這將利用底層的架構,”Imperas 的 Lapides 說道。“然后必須擁有硬件編譯器,它將獲取這些單獨的部分并將它們編譯為核心,之后必須在數十億個場景中運行它。能夠在正常的原型設計環境中使用 FPGA 原型(其運行速度為 50 兆赫茲)或在硬件仿真器(其運行速度可能為 5 兆赫茲)中完成此操作,而不是直接執行在將以數百兆赫茲運行的仿真環境中,這意味著仿真具有真正的優勢。它不能做所有事情,但它可以做很多事情來幫助優化從算法到芯片上的分布式人工智能加速器的人工智能編譯步驟。我們的客戶正在構建人工智能設備,這些設備并行使用數十到數百個模擬許可證來幫助進行功能正確性測試和優化。”
弄清楚使用哪些工具、何時使用它們以及如何劃分設計本身就是一個越來越大的挑戰。
“現有的分區算法仍然相當有效,但實現非常快的編譯時間和快速運行時間仍然是一個挑戰,”Cadence 的 Tamura 說。“隨著設計尺寸的增長,這變得更加困難。人工智能算法不僅有可能為當前平臺提供有效的分區解決方案,而且還可能影響未來平臺的架構。”
尋找最佳方法可能需要與各種供應商交談,并仔細研究技術論文以了解哪種方法最適合哪些應用程序。它還可能需要縮小芯片制造商的關注范圍,將選擇的數量限制在那些經過芯片測試的產品上。
“盡可能標準化你的設計方法和工具,”是德科技ASIC 設計經理 John Mick 建議。“在插入生產流程之前開發測試用例以證明流程的更改。對多個設計使用相同的工藝節點。遷移到新節點意味著新的 IP 和設計規則集,這可能會導致 ASIC 開發時間延長數月。”
也就是說,這些設計的復雜性以及針對特定應用程序和用例的定制可能會對最有效的方案產生重大影響。“客戶應該了解他們正在尋找的關鍵功能,”Jaeger 說。“例如,如果你的目標是主要運行軟件,那么盡可能高的性能就是你的第一要務。如果你想主要確保 RTL 功能正常,并且不必進行芯片重新設計,那么調試功能對你來說是最重要的。”
就這一點而言,EDA 工具提供商通常會提供量身定制的產品。“例如,是德科技與模擬器無關,因此我們不使用‘固定’供應商流程。我們優化設計流程以與不同的供應商合作。這意味著我們已經開發了數百個腳本來處理這些工具并使其全部正常工作,” Mick說。
Synopsys 的 Costa 補充說,所有這些建議可能看起來都是顯而易見的,但在緊要關頭,當團隊擔心時間和預算時,它們很容易被忽視。這最終可能會花費更多的時間。“如果你仍然需要每天更改 RTL,那么現在進行原型設計可能還為時過早。你應該返回仿真,并確保設計狀況良好。最重要的是,制定可靠的計劃是知道何時停止的關鍵。“驗證永無止境,”Jaeger說。
結論
芯片制造商可用的選項數量,以及終端市場對高度定制解決方案(包括某種形式的人工智能/機器學習)的需求,以及每瓦性能的數量級改進,正在使現有工具和方法遠遠超出其最初目標。
對于芯片制造商來說,關鍵是限制有意義的選項數量,以便保持專注,并在設計可以從中受益的地方利用任何可用的新技術、工具和方法。盡管如此,仍有更多的變量需要應對,更多的挑戰可能是獨一無二的,可能沒有單一的解決方案。這些變化使設計過程變得更加有趣和創新,但這種自由度是有代價的。
審核編輯:劉清
-
電源管理
+關注
關注
115文章
6183瀏覽量
144509 -
加速器
+關注
關注
2文章
799瀏覽量
37874 -
芯片設計
+關注
關注
15文章
1019瀏覽量
54897 -
人工智能
+關注
關注
1791文章
47279瀏覽量
238513 -
機器學習
+關注
關注
66文章
8418瀏覽量
132646
原文標題:人工智能、芯片復雜性不斷上升使原型設計變得復雜
文章出處:【微信號:ICViews,微信公眾號:半導體產業縱橫】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論