計算流體力學 (CFD)、軟件和芯片設計有許多共通之處。它們都會創建相關對象的規范,并最終將該規范作為制造過程的一部分;且都需要進行某種類型的驗證,以檢查設計是否符合預期。但同時,它們之間也存在著巨大的差異。
對于計算流體力學、軟件和芯片設計,本文先從軟件說起。筆者從 20 世紀 60 年代末開始編程,從那時起,基本的編程方法就沒怎么變過。我們可以使用 Fortran、C++ 或 Python 等編程語言來編寫“規范”。以前,“制造”可能涉及磁帶、CD 或文件傳輸器。但 CD 上的內容與程序員用來“驗證”(即軟件debug)的內容基本相同,所以沒有專門的驗證過程。程序的編譯和運行成本很低,以至于根本沒必要為了避免成本而專門建立驗證過程。驗證過程反而會更貴。
現代的芯片則大不相同?!耙幏丁蓖ǔJ怯?SystemVerilog 編寫的,但制造一塊芯片需要幾個月的時間,成本可高達數千萬美元,因此驗證過程十分普遍(且昂貴);因為從時間和金錢的角度來說,根本不可能制造大量的芯片來進行試驗以確保其能正常運轉。多年后,這種情況發生了很大變化。上世紀 80 年代初,當筆者剛開始在超大規模集成電路技術公司工作時,我們遇到了一個(就當時而言的)大芯片電源接地短路的問題;彼時,電路提取器尚未出現。當時唯一的解決辦法是標劃出布局、把它們粘在一起、鋪在地板上、把電源網涂成紅色、把接地網涂成綠色,直到找出問題所在。
如今,由于芯片更加復雜,需要使用更多的軟件(以及模擬器和原型系統等硬件)。有時,IP 提供商會制造測試芯片,但一般來說,人們寄希望于 SoC 芯片設計能夠一次性成功,并沒有像軟件那樣的“編譯并運行”心態。人們期望流片就是終點。
有趣的是,在過去,FPGA 設計更像軟件,僅是編譯然后查看是否能正常運轉。但隨著編譯時間達到 24 小時或更久,進行大量的芯片式驗證已經逐漸成為標準做法。
計算流體力學曾經是在現實世界中完成的,以汽車車身為例。曾經,在優秀的 CFD 軟件出現之前,模型制造者會用粘土做出汽車的形狀,而空氣動力學驗證則意味著將該模型放入風洞。其中一些可以用比例模型來完成,但建造全尺寸的汽車模型并把它們放進一個大風洞是非常昂貴的。如今,汽車的形狀是在3D 建模軟件中做出虛擬模型,利用 CFD 分析軟件進行驗證。最后可能會做出實體模型并放入風洞,但由于這只是作為最后一步操作,因此比一開始就放入風洞要節省大量成本。當然,我們不可能像處理芯片或軟件那樣,按下一個按鈕,就把一款汽車轉入生產環節進行批量生產。芯片設計更像是設計商用飛機,邊設計邊預訂并加載首航,然后執行飛行。
盡管軟件沒有太大的變化,但除了“運行程序”以外,越來越多的其他工具開始出現。
“
程序測試可以用來證明bug的存在,但永遠不能證明它們不存在!
——Edsger Dijkstra (荷蘭計算機科學家)
更強大的工具可以用來跟蹤bug,比如 Klocwork 這樣的靜態代碼分析、Valgrind 這樣的存儲使用正確性分析工具等等。隨著 CFD 和 IC 設計的改變,許多昂貴的方法被強大的計算能力所取代。當然,計算能力已經變得越來越廉價,所以人們不必再糾結是使用風洞或者著色圖,還是使用計算軟件。
所有這些計算方法的基礎是涉及龐大數據集的矩陣和圖形運算。盡管CFD 乍看之下與 IC 設計毫無關系,但是當透過現象看本質,就會明白真相是什么。
過去十年的另一個大趨勢是,從使用非常龐大的單一服務器到使用大量的核心和服務器。這些核心和服務器要么部署在專用的數據中心內,要么部署在云端(后者越來越常見)。這就需要對矩陣和圖形算法進行重大改進,因為它們不能通過一些優秀編譯器的運行而自動實現并行運算。
由此帶來的結果是,軟件分析、CFD 以及 IC 設計的許多方面都日益依賴于類似的高度并行矩陣和圖形分析。
Cadence Fidelity CFD 軟件平臺,為多物理場仿真的性能和準確度開創新時代。
全面的計算流體力學 (CFD) 解決方案,適用于多種工業領域,包括汽車、葉輪機械、船舶、航空航天等。Fidelity CFD 引入了新一代流體求解器。該求解器可提供高階數值格式、尺度解析仿真和大規模硬件加速功能,可助力提高仿真性能,在確保準確度的同時縮短研發周期。
-
芯片
+關注
關注
455文章
50721瀏覽量
423170
發布評論請先 登錄
相關推薦
評論