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