愛伊米

淺談EDA驗證工具,晶片開發到底有多難?

淺談EDA驗證工具,晶片開發到底有多難?

晶片設計被譽為人類歷史上最細微也是最宏大的工程。經過數十年的發展,先進晶片的開發者可以把上千億顆電晶體整合在面積不到指甲蓋大小的晶片上。他們能實現這樣目標所以靠的是電子設計自動化(Electronics Design Automation)工具,也就是我們俗稱的EDA工具。

EDA 是電子產業最上游、最高階的產業,驅動晶片設計、製造、終端應用。從另一個角度看,下游的任何創新,都離不不開EDA 軟體的創新支援。

根據應用場景的不同,EDA工具的使用主要分為設計、驗證、製造等幾大類。以物理實現為分界,晶片設計可以劃分為前端(邏輯設計)與後端(物理設計),其實現過程中將不斷對設計進行最佳化,最佳化可能改變邏輯描述方式和結構,存在引入錯誤的風險,所以驗證貫穿整個設計過程,在每個環節都反覆確保邏輯最佳化過程不改變功能、時序滿足目標需求、物理規則無違規等等,因此產生大量的驗證流程和工作,更涉及多方共同協作。

換而言之,驗證是晶片開發流程上最不能忽視的一環。

無處不在的驗證

晶片驗證流程一般包括需求定義、功能實現、功能實現、邏輯綜合以及物理實現。具體看來:

需求定義主要根據市場分析結果提出下一代產品需求。結合外部環境分析、供應鏈資源、公司自身定位等資訊,應用端提出對新一代產品的需求,並進一步考慮產品作用、功能、所需線板數量、使用積體電路型別等,精準定義產品需求。

功能實現是描述希望晶片實現的目標。開發者用Verilog或VHDL等硬體描述語言,編寫出百萬行起的程式碼來實現晶片功能。就像是建築設計之前,需要先規劃好房間數量、用途、和遵守的法規。

功能驗證是反覆迭代驗證,使設計精準、可靠。在晶片製造之前,透過檢查、模擬、原型平臺等手段反覆迭代驗證,提前發現系統軟硬體功能錯誤、最佳化效能和功耗,使設計精準、可靠,且符合最初規劃的晶片規格。

邏輯綜合是從行為級描述到電路級描述。規格設計與驗證之後,開發者將硬體描述語言轉換成邏輯電路圖,這一步被稱之為“邏輯綜合”。

物理實現即為製造晶片繪製圖紙。把邏輯電路轉換成為有物理連線的電路圖,將上百億或千億元器件和電路合理的佈局佈線並使其互不干擾。

物理版圖以 GDSII 的檔案格式交給晶圓廠,在矽片上做出實際的電路,再進行封裝和測試,就得到了實際看見的晶片。當前的驗證幾乎必須貫穿晶片設計的每個步驟,以便晶片研發團隊及時發現錯誤,只有經過充分的模擬和驗證,才能確保流片的成功與質量。

驗證環節能夠為晶片設計帶來諸多好處,例如縮短晶片設計時間,降低晶片設計成本等等。具體來看:

首先是晶片設計的複雜度方面,隨著設計與工藝技術的不斷髮展,積體電路設計的規模越來越大,複雜度越來越高。

為了縮短晶片的上市時間,節約開發成本,集成了微處理器、模擬IP核、數字IP核和儲存器(或片外儲存控制介面)等多家IP核的SoC(系統級晶片,System on Chip)也成為主流,隨之而來的挑戰是驗證複雜度呈現指數級的增長,驗證工具的革新目標是快速、準確、完備、易除錯的完成日益複雜的驗證,讓開發者有信心Signoff設計交付給晶圓廠進行流片。

做一款中等規模的晶片大致需要十多人的團隊一年半以上的開發時間,而現今主流的SoC晶片更是需要一個經驗豐富的團隊投入3-5年時間開發。因此,一個高效的驗證平臺使得驗證迅速收斂顯得尤為重要。

其次是晶片的成本方面,最新資料顯示,先進工藝的晶片設計環節成本及其高昂,從千萬美金級到億美金不等,由於設計缺陷或者工藝缺陷很容易造成晶片變成所謂的“廢片”,而如果要重新投片不僅需要高昂的資金成本,更會將晶片上市時間延後至少半年,這些風險對於商業公司來說都是不可接受的。因此,在晶片流片之前透過驗證活動發現所有的設計缺陷和錯誤顯得愈發重要。

淺談EDA驗證工具,晶片開發到底有多難?

再來是安全性方面,隨著晶片使用場景延伸至AI、雲計算、智慧汽車、5G等領域,由於其場景無一不是依託於晶片執行,晶片的安全性、可靠性前所未有的重要。

我們已經完成從規模化複雜性到系統化複雜性的轉變,當晶片、系統和軟體環境融合在一起,無數的“應用模式”都需要從安全形度進行充分的驗證。以智慧汽車使用的自動駕駛晶片為例,其複雜程度並不低於一架小型飛機,汽車行業要求系統能夠準確執行以避免危險情況的發生,並能夠實時監測和管理故障。

還有軟硬體協同驗證方面,在早期軟體和硬體並不相融的階段,軟體與硬體的開發及其驗證均為獨立進行,遵循先有晶片設計製造再到上層軟體開發的工作流程。

如今隨著AI、智慧汽車等領域快速發展,帶來專用晶片和適應行業需求的全新架構需求,晶片本身即是一個軟硬體結合的複雜系統,開發者從需求定義的階段即明確需要軟硬體協同開發,才能得到期望的功能和效能。

開發者們引入ESL(電子系統級,Electronic system-level)設計理念,針對軟體開發僅需要程式設計模型,不需要硬體實現細節的特點,在設計的早期階段即構建一個高抽象級的虛擬原型(virtual prototype),由於並不需要硬體描述細節,系統級模型的模擬速度較RTL級模擬速度快上幾個數量級,讓硬體人員和軟體人員可以在早期階段運用採系統進行硬體參照和軟體開發。

這一理念同時也是“Shift-Left”方法學的實踐,在RTL實現前就可以完成相關的軟體開發驗證工作。軟體可以解決安全性問題,但軟體本身也有安全性問題,因此當完成後,需要檢查軟體安全性,找出問題並不斷解決問題。

特別是在我們用到很多開源軟體的情況下,開源會產生資料洩露的問題,所以我們需要在整個開發過程的最早期就開始介入,並在之後的開發過程中解決這些問題,實現Shift Left,加速晶片的開發、降低風險的同時,更縮短了產品面世的時間。

最後是低功耗設計方面,低功耗一直是行動式電子電氣裝置的關鍵要求。近年來,這一要求已擴大到許多種類的終端產品,無論是自動駕駛的大規模晶片設計或是精巧的物聯網晶片設計,低功耗都是開發者關注的重要指標之一。

電子工業已經發展了廣泛的電源管理技術,並定義了統一電源格式(UPF)來描述一些最常用方法的設計意圖。低功耗半導體設計的成功開發包括檢查UPF描述,以及在專案的多個階段根據設計驗證UPF。對應至晶片開發中的指標即為PPA(Performance, Power, Area)當中的Power,開發者在設計和驗證過程中始終關注這三個重要指標的平衡。

淺談EDA驗證工具,晶片開發到底有多難?

低功耗SoC設計流程

在Soc設計中採用門控功耗和門控時鐘技術成為使用最廣和效率最高的功耗節省方式。門控功耗依靠關閉那些不用的模組節省功耗,而門控時鐘則是透過關閉那些不需要啟用的模組和暫存器來縮減功耗,因此,開發者透過設定數十個電壓域和數千種功耗模式來達到低功耗要求,而驗證需要確保在所有功耗模式下電路的行為皆正確,其複雜程度和驗證負荷可想而知。

驗證工具發展史

正如前文所言,設計與工藝技術在不斷髮展,因此晶片也變得更加複雜,EDA工具與工藝繫結,半導體工藝更新一次EDA就要跟著更新。據瞭解,行業巨頭Synopsys 為了維持行業地位和緊跟技術發展,研發費用高達 35%。這足以證明EDA發展速度很快,很顯然,驗證工具也隨之迅速發展。

淺談EDA驗證工具,晶片開發到底有多難?

回看驗證工具的來路,是一部值得探究的發展史。

須知,數位電路的驗證隨著積體電路設計與製造的發展逐漸細化,形成龐大的技能樹中的一個重要分支,其包含系統級驗證、硬體邏輯功能驗證、混合訊號驗證、軟體功能驗證、物理層驗證、時序驗證等等。

因此當回顧其發展歷史,一般是以80年代用於硬體描述的Verilog語言以及相應邏輯模擬器的出現作為驗證工具發展的起點。本篇重點挑選隨積體電路發展而成為新剛需的兩種驗證工具介紹。

(a)硬體模擬

1980年代,所有早期的硬體模擬器都是由大量商用FPGA構建而成的,這些FPGA通常成千上萬,並大量安裝在大型板上被裝在大機櫃中,並透過複雜的FPGA背板互連,透過大量電纜插入目標系統來實現對模擬器的輸入/輸出,這種部署方案被稱為ICE(In-circuit-emulation),這一方式繁瑣不可靠,且相當耗時,業界因此發明了模擬時間(TTE)一詞,以表達並衡量將設計輸入到編譯器與模擬器後所花費的部署時間;導致其無法被推廣的原因還有高擁有成本,以及由於裝置可靠性不佳,需要一批經驗豐富的應用工程師來支援其部署。

淺談EDA驗證工具,晶片開發到底有多難?

1995年左右的早期硬體模擬器特性

w模擬先驅Quickturn在90年代與IBM合作,引入新技術以解決其除錯功能差、部署和編譯時間長、效能無法隨著設計規模線性擴充套件等缺點;1999年,由中國人於矽谷所創辦的Axis推出能將設計從模擬器交換到專有模擬器以做除錯的加速器;2000年,四名法國工程師創辦了EVE(Emulation Verification Engineering)並推出了一款名為Zebu for Zero-Bugs的模擬器。

發展到2000年左右,透過基於定製ASIC的新體系結構,硬體模擬器得到了顯著改善,支援軟體改進,支援Verilog和VDHL語言,並設計了新的部署模式,客戶群擴充套件到了處理器和圖形的市場之外,在多機箱配置下總容量能擴充套件到1億門,接近1MHz的模擬速度。

如今,隨著晶片整合度提高,SoC逐漸成為常態,到2015年左右,設計已經達到十億門的規模,硬體模擬已成為所有驗證策略的基礎、SoC設計中必備的工具。在這段期間經過多次併購整合,市場上僅剩三家在模擬領域競爭:1998年,Cadence購買了Quickturn並推出了名為Palladium的硬體模擬系統;Mentor Graphics併購了Meta Systems和IKOS推出了Veloce模擬器和Questa®CodeLink;Synopsys於2012年收購了EVE並在兩年後推出了基於Xilinx Virtex-7 FPGA的ZeBu-Server3。

(b)虛擬原型

早期開發者想驗證其設計,只有等待極其漫長的模擬結果,或是等待流片成果,而一旦結果不如預期,不管是再次模擬或是二次流片,都將產生極高的成本。因此,當Xilinx和Altera推出可重新程式設計門陣列(FPGA)時,開發者透過用FPGA板拼湊出有效的流程來對設計進行驗證,這一比流片便宜、比模擬要快的方式成為開發者選擇的第三種方式。

但自行組裝意味著需要對設計進行分割槽,而FPGA上有更多的訊號在各個分割槽之間傳輸,需要對引腳進行多路複用,門的數量呈平方增長,而引腳的數量呈線性增長,這意味著每個引腳有數千個門,這一方法要求工程師具備大量設計及FPGA的知識,以及對FPGA工具流程的熟悉。

因此,2000年,一家創立於瑞典的公司Hardi Electronics正式推出一款基於FPGA的原型系統HAPS,HAPS可以透過多種方式快速組裝ASIC原型系統,為客戶在關鍵驗證階段節省數月的時間。2007年,Synplicity以2400萬美元的金額收購了這家公司,而Synopsys在2008年以2。27億美元收購了Synplicity,HAPS經歷幾代人於2015年發展至HAPS-80,至今仍是業界最快的原型驗證加速平臺。

與其同時,S2C於2003年於矽谷成立以解決FPGA原型市場需求;Cadence於2011年推出Rapid Prototyping Platform,也就是今天的Protium;而開發者也仍在運用其豐富的FPGA知識自行組裝原型系統。

晶片設計需要怎樣的驗證工具?

目前驗證工具已經衍生出了很多類別,作為全球排名第一的 EDA 解決方案提供商,新思科技的工具產品線最為全面,一直致力於開發適用於複雜的晶片系統的工具,因此新思也就成為了我們研究的重點。

在分門別類介紹之前,我們不得不提到近年來大火的AI技術。麥肯錫諮詢公司預測,AI正在為半導體業開啟數十年來的最佳商機,因為AI可以助力半導體公司從技術堆疊中獲得高達40%~50%的產值,而移動時代只為半導體業提供了價值20%的產值。新思科技人工智慧實驗室主任廖仁億也曾指出,EDA 未來的終極形式就是AI。

近期,新思科技推出業界首個AI自主晶片設計解決方案DSO。ai,據悉該解決方案可以在晶片設計任務的巨大求解空間中搜索最佳化目標並迅速完成設計,是新思科技多年持續將AI應用於晶片設計技術的重要成果之一。

再說回驗證工具,顯然,AI在其中也扮演了不小的角色。驗證工具一般分為架構設計、硬體開發、軟體開發以及業界模擬速度最快的硬體加速器等類別。

(1)架構設計:探索和最佳化

在架構設計中,晶片設計首先要定義系統架構,明確功能、選用的IP核之間的通訊協議、PPA(Power-Performance-Area)的平衡關係等。

AI晶片設計需要高效能和能效的架構,這往往代表著更為創新的架構,在早期架構探索與最佳化階段,快速搭建精確地架構概念模型,驗證系統的效能和功耗設計目標可實現,幫助神經網路架構和演算法設計師快速確定全面均衡的架構,消除晶片設計的後期更改風險,提前發現問題並提高開發效率,成為AI晶片設計的普遍需求。

早在2018年,AI晶片創業公司寒武紀就曾宣佈,其雲端智慧處理器晶片採用的驗證工具,正是新思科技 HAPS 原型驗證解決方案。

實際上,像寒武紀這樣正在使用新思科技設計工具的晶片公司不止一家,Denso基礎電子研發部專案經理Takashi Abe曾表示:“汽車AI晶片設計需要高效能和能效的架構,Platform Architect Ultra使我們能夠快速搭建精確的架構概念模型,利用實際AI工作負載進行測試,有效對比數以百計的架構和IP備選方案,確保我們的汽車晶片提供最佳效能和功效。”

據悉,Platform Architect Ultra為智慧對映與最佳化AI晶片架構的CNN,能滿足高效能和低功耗的平衡。其獨特的技術、功能和AI參考系統支援整合、分析和最佳化AI架構CNN工作負載模型。AI 晶片團隊可利用Platform Architect Ultra進行正確有效的架構權衡決策,以消除晶片設計的後期更改。

(2)硬體開發:靜態檢查和形式化驗證

在設計流程的早期,對綜合後的網表進行快速分析並檢查 RTL 設計是否在功能上與HDL設計存在等價性, 確保功能在最佳化過程中並未被改變,在模擬之前發現大部分缺陷並進行修復,提高模擬的速度和效率,並減少總體成本、時間和精力。Synopsys的SpyGlass和形式驗證解決方案基於下一代資料庫和引擎構建,可提供驗證最大、最複雜設計所需的功能和效能。

近期,新思宣佈面向市場推出VC SpyGlass™ RTL靜態Signoff平臺,該平臺採用了公認的SpyGlass®技術,是Verification Continuum™平臺的一部分。

對此,瑞薩電子數字設計技術部、共享研發部、物聯網與基礎架構業務部主管Hideyuki Okabe曾表示,“約束不充分或不正確是造成大量違例問題的主要原因,這也會相應地增加我們的調試周期。藉助VC SpyGlass的新機器學習技術,我們的設計團隊能夠顯著減少要除錯的CDC違例誤報的數量,從而加快識別根本原因。”

(3)硬體開發:動態模擬和除錯

模擬驗證就是檢驗編碼設計的正確性,檢驗的標準就是第一步制定的規格。看設計是否精確地滿足了規格中的所有要求。規格是設計正確與否的黃金標準,一切違反、不符合規格要求的,就需要重新修改設計和編碼。設計和模擬驗證是反覆迭代的過程,直到驗證結果顯示完全符合規格標準。

在這方面,新思也有佈局,新思推出Verification Continuum的全新增強型原生整合實現了所有驗證引擎之間的效能提升,加快了複雜片上系統設計的上市。

對此,天數智芯(Iluvatar)市場副總裁梁斌表示:“為了獲得競爭優勢,我們需要全方位解決方案來改善驗證流程,並縮短高效能人工智慧(AI)解決方案的上市時間。新思科技VC Formal控制和資料路徑應用,加上VCS的原生編譯和Verdi的統一除錯,使我們能夠在數分鐘內發現無用程式碼,並在一天內檢驗複雜的128 x 128 MAC。”

(4)軟體開發:虛擬原型設計平臺

虛擬原型設計使軟體工程師在硬體設計完成的數月之前就開始研發,在矽片出品後數天之內就可全面啟動系統。隨著晶片與應用領域的緊密結合,基於虛擬原型的軟體開發會成為常態,加速軟體開發的工具將日益普及。

平頭哥與新思在此方面也有合作,平頭哥副總裁孟建熠博士曾表示,在玄鐵910處理器開發過程中,新思科技HAPS-80系統幫助我們在兩週內將晶片原型交付給軟體團隊,為玄鐵910處理器的早日面市提供了極大保障。

恩智浦副總裁兼車輛網路處理器部門總經理Ray Cornyn指出,新思科技針對S32G車輛網路處理器推出的VDK,可幫助汽車系統開發者利用S32G的先進功能,加速其軟體開發、整合和測試。”

(5)業界模擬速度最快的硬體加速器:驗證加速及軟硬體系統驗證測試

將還處於RTL級別的設計放到一個可重構的虛擬硬體環境中,讓驗證速度得到成千上萬倍提升,在數小時之內將作業系統在RTL模組上啟動起來,同時也讓軟硬協同成為可能。

2019年,新思宣佈與AMD的多年協議,利用它的ZeBu ®Server 4模擬系統,加快了越來越多的AMD高效能處理器,圖形和遊戲專案的驗證。對此,AMD模擬和快速平臺建模部門高階研究員Alex Starr評價道,“高效能處理器、圖形和遊戲晶片的複雜程度繼續顯著提升。高效能模擬已經成為我們開發戰略中的關鍵組成部分。部署ZeBu Server 4能夠高效地分析新架構的能源效率和效能,並能執行處理客戶的工作負載。”

小結

驗證是晶片開發的重要保障,佔晶片開發過半的工作量,是以數學的方法將錯誤推向無限接近於零的過程。隨著AI、智慧駕駛、5G為代表的創新應用領域對晶片的需求增長,針對不同型別晶片的驗證工作面臨的挑戰也更為複雜多樣,驗證工具之間的搭配、可擴充套件性、加速軟硬體開發等成為開發者關注的重點,新思科技針對不同領域也已有成熟方案可幫助客戶縮短開發週期、提高流片成功率。