由人工智慧驱动的设计应用
您知道一個手持裝置有多少顆電晶體(transistor)嗎?這個數字在過去每十年呈指數型成長。可攜式音樂播放器就說明了這一點。在 1979 年,一台電晶體收音機大約需要 200 顆電晶體構成;1984 年,CD 播放機需要約 1,500 顆電晶體;到了 1990 年,一台 MP3 播放機需要約 10,000 顆電晶體。至於 2015 年的數位音訊播放器,需要的電晶體數量則大幅增加至約莫 1,000,000 顆。製程技術的進展,推動了電晶體數量的成長。如今,由先進 AI 及 5G 應用驅動的多晶粒(multi-die)系統,將有助於實現另一層面的大躍進。事實上,在 2023 年,一般智慧型手機就擁有超過 100 億顆電晶體!這樣的躍進對於使用者來說,好處顯而易見。以音樂播放為例,這代表音質保真度(fidelity)更高且能享受更身歷其境的體驗,以及擁有更大的存儲空間可以播放、儲存及串流最喜歡的音樂,此外也能夠享受分享、回放及與其他裝置的互通性等更多功能。然而,要實現這樣的精密性,背後存在著許多设计挑戰。
然而,隨著運算资源需求日益成長,內部部署(on-premise)伺服器資本支出或安裝伺服器所花費的時間也隨之增加,且已逐漸跟不上強勁需求。面臨成本壓力、不斷縮短的銷售時機(market window),以及更佳效能與更多功能等市場需求,內部部署儲存空間成為許多公司再也無法承受的負擔。由此可見,將云端运算资源應用於IC 设计,以符合彈性擴展需求的時代已經來臨。
「新思雲」 (草榴社区 Cloud))為首款利用雲端執行 IC 设计的大規模 SaaS 解决方案。其結合了先進運算及儲存空間基礎架構的可用性,以及無限存取的隨選(on-demand) EDA 軟體授權。新思科技身為台積公司 (TSMC) 的一员,近期与台积公司、微软(惭颈肠谤辞蝉辞蹿迟)合作进行测试案例,运用新思云提供的草榴社区 IC Validator? 物理验证功能,在 云端中针对 製程執行设计規則檢查 (Design Rule Checks, DRCs)。
至於結果為何?經證實,在雲端中執行设计規則檢查,可以協助大型繁複的新一代 IC 设计以更快的速度完成签核(signoff),方法如下。
所以說,為什麼要選擇设计規則檢查(DRC)作為測試案例?DRC 可以確保设计正確運作,且可以在晶圓廠中製造。使用傳統內部部署運算资源執行 DRC,可能會耗費寶貴的時間,隨著设计尺寸增大、複雜度日益增加,更是如此。
由於當今的晶片设计尺寸更大,因此製程規則數量也隨之增加。事實上,當今諸多设计中的製程規則可能數以千計,而日益增加的设计複雜度可能衍生出數百個步驟。對於擁有數十億顆電晶體的多晶粒(multi-die)系統,執行 DRC 或電路佈局验证 (LVS)作業可能會花費數天時間,且需要耗費數百個 CPU 核心资源。
上市時程 (Time-to-market, TTM)不斷縮短,所需的算力卻日益增加,因而為物理验证(physical verification)帶來了挑戰。隨著製程節點從 7 奈米發展至 5 奈米、3 奈米,甚至更小的晶片時,情況更是如此。舉例來說,3 奈米製程的程序執行檔(runset)可能包括 15,000 條以上的繁複規則,並需要 10 倍的 DRC 運算運作才能執行。因此,僅僅是全晶片(full-chip) DRC 签核的一次迭代(iteration),就可能花費數萬小時的處理時間。雖然物理验证一直以來都是運算密集型任務,在當今晶片设计尺寸微縮和複雜度增加等因素的推波助瀾下,將物理验证這項挑戰帶領至全新的境界。
執行 DRC 和 LVS 的序列相依性(serial dependency)意味著,取得更多算力並不一定等同於會有更快的執行時間。如果IC 验证必須進行運算擴展,代表在序列運作期間,部分運算功率會處於閒置狀態。針對這種情況,若沒有找到優化運算资源的方法,將會進一步影響到利潤;換句話說,仍然必須支付這些閒置资源的費用。
利用云端运算進行IC 验证,有助於減少這種情況。有了雲端验证,即可將內部部署 數百個CPU 核心規模擴展至雲端上數千個CPU核心。這種彈性賦予了靈活性、敏捷性及可擴展性,在需要時只使用所需的運算资源。而程序執行檔中的 DRC可以分佈於多個核心中並同時運作,藉以優化運算资源,進而節省時間與金錢。
在新思科技、台積公司和微軟的合作中,針對內部部署验证及雲端验证進行對照評估。為了啟動測試,我們將台積公司的製程设计套件 (Process Design Kits, PDKs) 及 DRCs上傳至新思雲環境,並根據草榴社区 IC Validator (新思雲環境中用於物理验证的獨立應用程式)中既有的设计類型選擇不同资源,而該资源的運算選項則為預先選定。在上傳執行測試案例的必要指令碼,並選擇 系列与 系列运算及共享储存空间的 等微軟 Azure 執行個體(instance)後,只要點擊幾下,就可以創造出含有數百個 CPU 核心的虛擬機器(Virtual Machines, VMs)群集。
實驗流程已準備就緒並在幾小時內就可以啟動,我們快速執行了一次大型測試案例,針對TSMC N3E 製程在雲端及內部部署環境中的運作結果進行比較。所有結果(雲端和內部部署)均使用XOR操作並儲存為GDSII 檔案,兩次執行中的任何錯誤都必須完全匹配,才能取得無瑕疵且準確的成果。
在此測試案例中,雲端作業的執行時間從約略 50 小時,即時縮短到 20 小時以下,與內部部署作業相比,前者花費的時間縮短了 65%。此外,在雲端執行測試時所耗費的 處理時間與成本,比本地運作時降低了 25%。
TSMC N3E 製程透過雲端IC 设计流程縮短 65%執行時間 (图片来源:罢厂惭颁)
新思科技 IC Validator 為一款物理验证工具,可以將工作分佈至數以千計的 CPU 核心中。此技術成功的關鍵在於排程器(scheduler),佇列每個核心的指令,以 DRC 順序優化檔案位置。除此之外,該技術也針對各個核心的记忆体需求進行估計並取得平衡,將磁碟空間的尖峰用量最小化,動態監控每個核心的負載量並調整系統,進而改善核心和记忆体利用率。IC Validator 透過故障容許度功能,在具有真實延遲(real-world latency)的異質(heterogenous)設定中運作,以偵測並修正主機重啟、網路和通訊端故障、機器當機及硬碟空間限制等問題。
IC Validator 動態彈性 CPU 管理功能可與常用工作佇列系統,例如負載共用設備 (Load Sharing Facility, LSF) 和 Sun Grid Engine (SGE) 等無縫接軌地協作。此管理功能適用於內部部署和雲端等不同類型的運算網路,在加速時序收斂以滿足投片(tape-out)時程的同時,可實現资源和成本優化;在維持與傳統 DRC 和 LVS 工作相似效能的同時,最多只使用 40 % 的運算资源。由於所需资源和儲存空間皆能夠按時間來計價,這代表著在雲端環境中進行運算,可以有效節省成本。
除了前述優勢,IC Validator不需要等到所有资源都準備到位才開始運作。也就是說,IC Validator 可以用最少的资源立即啟動作業,並隨著可用性增加運用更多资源。 和加速網路 (單根I/O 虛擬化(SR-IOV) 可以將大部分 Azure 的軟體定義網路堆疊,從CPU 卸載至 FPGA 智慧型網路介面卡(NICs)),則有助於確保該擴展已分別對虛擬機器和增加的資料處理能力進行優化。
除了所有時間及成本優勢之外,使用者也可以採取相應措施來確保系統受到適當保護,以保障雲端部署EDA的安全性。隨時掌握安全標準資訊,並確保網路安全系統處於最新狀態。而另一項關鍵在於擁有管理良好、各自獨立的虛擬網路(Virtual Network, VNET) 。
如需更多資訊,請查閱台積公司在雲端輕鬆執行物理验证的最佳作法指南,或造访新思科技雲端 IC Validator网页。