電子設計自動化—— Electronic Design Automation,簡稱 EDA。作為芯片設計最上游,EDA 軟件的工作,是要在芯片那么小的空間進行布局布線、版圖、設計規則檢查等,好比在米粒上刻出航空母艦模型。
在 EDA 問世之前,設計人員必須通過手工完成電路設計和布線等基礎工作。隨著芯片集成度提高和性能的多元化,令芯片設計要求也變得越來越復雜,一個指甲蓋大小的芯片上要集成數百億顆晶體管,這樣細微且宏大的工程,早已不是單純人力范圍所能覆蓋,EDA 的重要性不言而喻。
根據應用場景的不同,EDA 工具的使用主要分為設計、驗證和制造三大類。大規模集成電路設計復雜性的提升,使芯片驗證面臨資金與時間的巨大挑戰。早期開發者想驗證芯片的設計是否符合預設,只有等待極其漫長的模擬結果,或是等待流片成果,而一旦結果不如預期,不管是再次模擬或是二次流片,都將產生極高的成本。因此,當 Xilinx 推出現場可編程邏輯門陣列(FPGA)時,開發者即可通過用 FPGA 板拼湊出有效的流程來對設計進行驗證,FPGA 原型驗證這一解決方案就此營運而生,這一比流片便宜、比仿真要快的方式,已成為開發者檢驗設計有效性的不二選擇。
一、基于 FPGA 的物理原型驗證
就像是建筑師設計完樓房、開始建造前,需要通過模型去測試防震、防風、結構強度等各種參數,芯片和系統開發者也需要在流片前對設計進行“原型驗證”——就是模仿真實軟件應用條件下的芯片和系統表現是否滿足了實際應用場景要求。
FPGA 的應用范圍廣泛,通信、計算、控制等領域等都有它的建樹,并且由于其具有內部電路可重構的特點,幾乎可以完全映射芯片的邏輯設計,也被當作一種性價比優越的芯片驗證基礎設施。FPGA 原型驗證已是當前原型驗證的主流且成熟的芯片驗證方法——它通過將 RTL 移植到現場可編程門陣列(FPGA)來驗證 ASIC 的功能,并在芯片的基本功能驗證通過后就可以開始驅動的開發,一直到芯片 Tape Out 并回片后都可以進行驅動和應用的開發。當芯片回片后,應用程序可以直接基于 FPGA 版本的驅動來進行簡單的適配,即可以應用到 SoC 芯片上,將 SoC 芯片 Time-to-Market 的時間控制的很完美。除了可以提前進行軟件開發外,從成本上來說,FPGA 原型驗證是一個性價比很高的驗證手段,在價格上可以說非常的親民。更重要的 FPGA 原型在運行速度上也技高一籌:它在速度上當然比 EDA 驗證高了好幾個數量級,即使是與 Emulator 相比,其性能上也有碾壓式的優勢。在這種種優勢中,“流片前的軟硬件協同開發”是 FPGA 物理原型驗證最不可替代之處,提早基于該技術平臺進行軟件驅動開發和應用開發,對于縮短最終芯片 Time-to-Market 周期意義重大。
在軟硬件深度定制化、要求芯片到應用的一站式交付的今天,FPGA 原型平臺的重要性進一步提升。2000 年,一家創立于瑞典的公司 Hardi Electronics 正式推出一款基于 FPGA 的原型系統 HAPS,HAPS 可以通過多種方式快速組裝 ASIC 原型系統,為客戶在關鍵驗證階段節省數月的時間。2007 年,Synplicity 以 2400 萬美元的金額收購了 Hardi,而 Synopsys 在 2008 年以 2.27 億美元收購了 Synplicity,HAPS 經歷幾代人于 2014 年發展至 HAPS-80,至今仍是業界最快的原型驗證加速平臺。
二、物理原型驗證工具的幾大挑戰及解決方案
目前 ASIC 的設計變得越來越大,越來越復雜,單片 FPGA 已不能滿足原型驗證要求,多片 FPGA 驗證應運而生。RTL 邏輯的分割、多片 FPGA 之間的互聯拓撲結構、IO 分配、高速接口都對應用 FPGA 原型驗證的芯片開發者提出了更高的要求也帶來了前所未有的挑戰。那當選擇一款合適的物理原形驗證工具時,應該在哪些緯度做重點考量和取舍呢?
1 容量限制和性能要求
對于大型的設計(大于 2 千萬等效 ASIC 門),一塊 FPGA 往往容納不下,此時必須將多塊 FPGA 互聯才能驗證整個設計,在這種情況下,就需要對大型的設計進行 Partition 即分區。Partition 引入了新的問題,而這些問題其實在芯片中并不存在,很多時候耗費很多人力去實現一個可用的 Partition 方案,僅僅是受限于 FPGA 的容量而不得已的處理辦法。
Partition 引入的最大問題是對 IO 的需求激增,雖然 FPGA 有超過 1000 個可用的 IO,但是一個完整的 SoC 如果被拆分成規模相當的幾個部分時,每個部分之間的互聯信號數量往往會遠超 1000 個,所以在 IO 數量受限時,必須采用 TDM(Time Division Multiplex),即 FPGA 內部的多個并行信號轉為高速串行信號,通過 FPGA IO 傳輸到另一塊 FPGA,然后再進行解復用,轉換成并行信號,實現信號從一個 FPGA 到另一塊 FPGA 的傳遞。引入了 TDM 雖然解決了 IO 瓶頸,但是 Mux 和 De-Mux 引入了額外的延時,導致 cross-FPGA 的 path 成為 critical path,進一步降低了 FPGA 的可運行頻率,可以說 Partition 是不得已而為之的方案,最終的結果只是得到一個可用的方案而非理想的方案。
另一個方面,由于在 SoC 原型驗證中模塊常常會增減,導致需要頻繁的改動 Partition 方案,如果手動去處理,則需要花費很多精力才能得到一個上文提到可用但折中的方案。此外,處理大量的 cross-FPGA 信號非常容易出錯,所以對于大型的 SoC FPGA 原型驗證,必須采用自動化的工具去完成 Partition,這對 EDA 工具而言亦是全新的挑戰。
新思科技 HAPS 原型驗證解決方案,具有獨一無二的自動可干預分割功能,同時提供了系統級跨 FPGA 的時序分析工具,為 HSTDM IP, 纜線和 IO 提供時序模型,可以方便地處理 TDM 路徑上的多個約束,為多 FPGA 的設計提供了優化且可靠的時序,保證了平臺的高速性能和穩定性。
2 迭代速度
由于 SoC 芯片的設計頻率很高,為了讓原型驗證平臺盡可能和 SoC 芯片性能接近,開發者期望讓 FPGA 原型平臺運行在盡可能高的頻率上,但是由于 SoC 的 RTL 代碼是為芯片實現設計,大量深層次組合邏輯的存在(這樣可以節省芯片面積),導致了 SoC RTL 代碼在 FPGA 上實現時時序收斂困難,往往只能達到幾 MHz。對于大型的 SoC,內部的 CPU/GPU/CODEC/NPU 等計算和編解碼模塊邏輯復雜,往往成為整個設計的 timing wall,導致時序優化過程會占據 FPGA Implementation 過程 30-40%的時間。
基于新思科技 HAPS 原型驗證解決方案,在對設計進行分割和時序優化的同時,也充分考慮到后續 FPGA 布局布線的挑戰,在綜合時,HAPS 采用獨特的技術,增強和優化單 FPGA 的綜合結果,可以有效的減少后期 vivado 布局布線的時間,并結合多核多進程綜合等技術,有效減少各個環節的時間,加快迭代速度。
3 接口方案
外部子板和 FPGA IO 之間的高速同步接口一直以來都是 FPGA 的痛點和難點:一方面,相比于 ASIC,FPGA 在 IO 時序方面可以調整的空間有限,它不能像 ASIC 一樣可以通過時序約束來靈活調整 FPGA IO 信號之間的 skew,導致并行信號接口之間的 path skew 很難控制在一個比較理想的范圍內,最終會導致數據采樣失敗,降低頻率往往是一種有效的辦法,但是有些控制器和 PHY 之間的接口是需要滿足標準規范的,不能無限制的降低,對于這種情況有時只能想盡辦法嘗試修復時序,甚至需要修改代碼。
另一方面,原型驗證使用的子板數量不大,市場上往往沒有銷售,很多時候需要自行設計,進一步給調試帶來了不確定性,也延長了調試周期。高速接口的調試往往消耗了大量的人力資源,很多時候都是靠調試的經驗和靈感解決問題,這么做不僅費時費力,而且效果不佳。
新思科技 HAPS 原型驗證解決方案,給用戶提供了多種靈活的接口方案,包含豐富的外部子卡集合,降速橋方案;還和業界伙伴通過 HAPS Connect Program,為使用者提供了更廣泛的擴展空間。
4 可觀測性
FPGA 也是芯片產品,所以內部的信號無法直接觀測。通常需要借助于 FPGA 的 debug 工具在生成 bit 文件前選取要觀察的信號。當 bit 文件加載運行時,必須通過配套的 debug 工具觀察指定的信號波形,但是受限于 Block RAM 的容量以及信號優化等原因,如此調試的效率比較低。
新思科技 HAPS 原型驗證平臺提供了多種靈活的調試手段。DTD(深度跟蹤調試)功能,為用戶提供了多 FPGA 實時速度的 RTL 級別信號聯合波形調試,可以觀測上千信號秒級的波形,進一步結合 Verdi/Siloti 的關鍵信號提取功能,可顯著的擴大信號觀測的范圍。GSV 是另外一個被用戶廣泛采用的調試功能,它可以提供設計內部所有寄存器的快照,在多種實際調試場景有效的幫助軟硬件團隊分析定位系統問題。
5 產品的成熟度
原型驗證是一項壁壘頗高的技術,串聯著芯片設計和最終應用,需要極強的適用性和靈活度來適應發展迅速和多樣性的芯片研發,通過和一線芯片研發人員的通力合作,打造使用生態圈,不斷進化和迭代技術才能始終幫助芯片開發者實現“Shift-Left”研發,加快產品上市時間。
新思科技自 2003 年起推出第一款原型驗證產品 HAPS-10 起,持續推出 7 代產品,久經市場檢驗, 并為滿足不斷演進的原型驗證需求, 補充了諸多獨一無二的產品功能,如 UMRBus, Hybrid 原型驗證,基于 UPF 的低功耗系統驗證, HAPS GateWay 等,是加快軟件開發和芯片設計驗證的最佳解決方案。全球 200 多家公司都已經部署了最新一代 HAPS-80,包括前十大半導體公司中的九家,其出貨量在今年超過 3000 臺。
國內目前也有逾 50 家芯片設計企業部署了 HAPS 平臺,進一步驗證了 HAPS 原型驗證的市場領先地位。
各類 FPGA 原型驗證平臺技術對比
目前市面上常見的 FPGA 原型驗證平臺可以分為兩大類別,一類是芯片設計公司自己制作的 FPGA 板(Build Your Own, 以下簡稱 BYO); 另一類是商用 FPGA 平臺,比如新思科技的 HAPS 方案。
就上文提到的一些具體考量點,各類原型驗證平臺的對比如下:
顯而易見,新思科技的 HAPS 方案,在全面性,成熟度,和對大規模設計的支持上,都占有絕對明顯的優勢。
三、物理原型驗證工具的應用不止于芯片
芯片是硬件產業,也是軟件產業,同時涉及下游的應用場景還有上游的高精度設計。在科技賦能的智能化時代,芯片不僅支撐數字經濟的各個方面,在賦能各產業的作用也不容小覷,從 5G,自動駕駛汽車,人工智能等,芯片的應用幾乎遍布所有可能想象的電子產品,甚至包括航空航天到軍工技術的所有方面。隨著人工智能和 5G 的加速發展,以及加快數字化時代的新基建的開展,未來芯片的應用場景會越來越多,定制化芯片的需求也會越來越大。而作為手握未來世界之門鑰匙的開發者們必須要和系統廠商更緊密的協作研發,才能讓芯片技術創新最終賦能科技應用。
以人工智能的人臉識別場景為例,在海量人群中搜索走失兒童需要超強的快速反應能力,才能在第一時間抓住機會識別并找到目標對象,其中軟件支持了人工智能的算法,芯片所提供的超強算力讓復雜的算法在毫秒內實現推斷。物理原型驗證讓軟件的開發和芯片的研發得以同步進行,而不用互相等待。這一技術將推動芯片和科技應用的生態結合,讓科技的進步進入極速模式,加速未來的想象變為現實。
? ? ? ?責任編輯:pj
評論