FPGA原型驗證系統
FPGA原型驗證系統的主要應用場景是“芯片設計過程中搭建軟硬件一體的系統驗證環境”:一是芯片流片回來前為軟件團隊提供調試驅動軟件的平臺,加速芯片上市時間;二是作為芯片仿真驗證的一個補充,因為在FPGA內部可以生成真實電路,并且可以對接真實的硬件子卡,相較仿真使用的軟件模型有一定差別,因此可以發現更多隱蔽的bug ;此外FPGA相對軟件仿真以及Emulator而言,速度更快,比較適合一些耗時較多的場景case。故在芯片設計規模越來越大的情況下,使用多顆FPGA芯片互聯能夠快速實現高性能的全系統驗證原型,并滿足該場景下的調試需求。
Emulator 硬件仿真器
Emulator的主要應用場景是 “芯片設計過程中對完整封閉的設計進行加速仿真并調試”,它與FPGA原型驗證系統的主要定位差異在于:能對全芯片進行和芯片時序行為一致的硬件仿真,包括全芯片信號的提取,對全芯片的功能、性能、功耗進行系統級的驗證與調試。這一點差別導致了兩者系統設計上的巨大差異。用戶無需花費大量的時間去考慮如何設計、如何分割、如何布局布線等問題,從而在易用性方面大大增強。
基于FPGA原型驗證系統平臺和 Emulator硬件仿真平臺二者的設計目標和應用場景差異,下面我們分別來介紹一下這兩種產品的關鍵點。
FPGA原型驗證系統
隨著目前集成電路的不斷發展,設計規模的大型化,單顆FPGA板在容量上就顯得捉襟見肘,已經無法滿足設計需求。以目前國內頭部的CPU、GPU設計公司的設計規模,單顆IC芯片的設計體量,需要占用到幾十顆Xilinx VU440級別FPGA的情況,已屢見不鮮。在這種背景之下,FPGA系統供應廠商開始著手研究多顆FPGA的系統互聯解決方案。其中就包括在單塊的PCB板上裝配多顆FPGA及多個FPGA系統之間的互聯。
經過不斷探索,FPGA原型驗證平臺產品應運而生。之所以稱之為“平臺”或“系統”,就一定會包含對應的軟件和硬件。首先在硬件結構上多顆FPGA互聯結構的引入就要求結構上比單板形式的FPGA開發板要復雜的多,其次FPGA芯片廠商提供的軟件工具無法支持多片的FPGA分割,需要配套專業的FPGA原型分割相關軟件工具。
一套優秀的FPGA原型驗證系統,應該具有以下產品特性:
基于模塊化的設計,可靈活擴充與裁剪的驗證平臺規模
在保證一定的高速仿真性能的前提下,提供設計完整性
提供從軟件早期開發到系統級驗證的解決方案
提供從綜合、自動模塊分割、布局布線、FPGA bit產生、下載、在線/離線Debug的整套流程
提供豐富的調測手段,幫助用戶快速定位問題,易于設計的快速Bring Up
提供豐富的接口子板和外部真實設備相連
提供軟件接口與外部工具構成復雜的調試解決方案
提供豐富的IO接口,以及高速Serdes接口用于partition互連以及外設子卡的互連
FPGA原型驗證系統速度快,但它的缺點也是顯而易見的,主要體現在調試的便利性上繼承了FPGA自身的一些缺點,比如需借助FPGA內嵌邏輯分析儀來抓取信號排查問題,布局布線耗時冗長,效率不是太高。
其他關于FPGA原型驗證系統的詳細內容,請參考文末文章鏈接《硬件輔助驗證產品解讀(上篇)- FPGA開發板vs原型驗證系統》。
硬件仿真器Emulator
在目前SoC規模越來越大型化的情況下,有的設計甚至達到數百億ASIC等效門規模,巨大的設計規模導致軟件仿真時間上的消耗變得越來越無法忍受。FPGA原型平臺在驗證規模到達一定級別,FPGA數量太多的情況下,也會帶來新的分割問題并且會失去原有的性能優勢。硬件仿真器的優勢主要在于它獨有的、超大規模的硬件結構,盡可能地保證了RTL設計的完整性。從硬件實現上看,一般有基于FPGA和CPU兩種架構,對于基于FPGA架構的類型來說(如Synopsys的Zebu系列),可以理解為有很多塊FPGA單板,大量的單板與電源、控制等再互相連接起來,形成一個“龐然大物”,優點是仿真性能高,使用商用FPGA可以降低開發成本;對于基于CPU架構的類型來說(如Cadence的Palladium系列),通常會將集成了數以萬計的高速CPU核的ASIC芯片焊接在一塊巨大的單板上,配以控制、冷卻等模塊構成一個完整系統。優點在于編譯時間短,調試能力強;缺點就是功耗高,需要特別冷卻系統和運營成本高,穩定性比較難控制,性能一般也比基于FPGA的硬件仿真系統低些。一般一套Emulator的體積大約從一個冰柜到一臺大雙開門冰箱的大小,而大型Emulator的重量也可以用“噸”來計算了。本文主要介紹基于FPGA的硬件仿真器。
基于FPGA的原型平臺和硬件仿真器,兩者的架構和軟件上雖有一定的相似之處,但定位不同,Emulator的定位和設計都是指向大容量和全系統仿真級調試,因此軟硬件設計上有不同的取舍。綜合來看,硬件仿真器的特點是支持超大規模(10億門級以上)的設計容量,全自動化的軟件設置實現流程,基本無需修改硬件連接配置,以及靈活多樣的全系統仿真調試能力,包括:
信號的追蹤深度更深(達數十億仿真周期)
信號的條件觸發、動態探針插入、離線調試
擁有不限量的時鐘域,它們可以從核心時鐘資源中無限衍生
全系統范圍的調試追蹤
帶有UVM驗證方法學的協同加速仿真
軟硬件的協同驗證、測試接口的虛擬化支持
系統功耗與性能預估、分析
目前,主流的Emulator工作特點,基本上包括以下幾種:
基于Cycle級的軟硬件聯合仿真
基于ICE ( In-Circuit Emulator )模式: 一種最為傳統的,理論上運行速度最快的模式。這種模式下需要在硬件中集成被測試邏輯單元及測試邏輯,或者通過外設硬件輸入激勵;且往往需要用到Speed Adapter以實現外圍高速硬件和硬件仿真器在工作頻率上的橋接。由于Emulator本身的運行頻率不高,那么和外部的設備,如PCIE/SATA/USB等連接時需要通過速度匹配設備,通過緩存來匹配快速端的速度進行適配
基于事務級(Transaction)的軟硬件聯合仿真;這種情況下,被測試的邏輯部分運行在Emulator的硬件里面;硬件通過一套完整的軟件及驅動、物理通道和Host Server實現連接。這種方式下可以使用多樣的SW model Library,常見的有PCIE/AMBA bus等。雖然說它的運行速度沒有ICE模式快,但是在軟件上的功能和方法支持非常豐富。這種方式也被認為是軟件Simulator的硬件化
提供豐富多樣的虛擬解決方案:包括Virtual Host(Qemu/VDK),Virtual Device(例如基于Chiplet的Die to Die 模型),Virtual memory models(各類協議的存儲器模型SDRAM/Flash/SRAM/EEPROM),Transactors(AMBA/PCIe),Hybrid Mode(CPU Models+ DUT in Hardware)
多種模式的探針工作方式:靜態探針、動態探針、全景探針和定制探針組等
其次,在多用戶的支持方面,Emulator系統可以支持較多的用戶同時在線使用,實現資源的靈活調度;而FPGA原型系統目前也有可以支持多用戶的場景,但因為產品在時鐘資源分配等方面存在著局限性,所以實際很少采用。
總 結
下面的圖例便于讀者更容易的理解它們二者之間的關系:
從系統的特性上看,FPGA 原型系統支持多FPGA、自動分割;性能較高的情況下運行系統軟件;仿真加速器的超大容量可以放全芯片的設計,進行全芯片的系統功能/性能/功耗驗證。從應用場景上看,我們看到原型系統和仿真加速器在軟硬件協同設計方面,有一定的交集。 以上就是關于FPGA原型驗證系統和硬件仿真器這兩種不同的數字設計驗證平臺的對比介紹,謝謝!
-
FPGA
+關注
關注
1626文章
21665瀏覽量
601805 -
芯片設計
+關注
關注
15文章
1001瀏覽量
54811 -
軟件
+關注
關注
69文章
4770瀏覽量
87156
發布評論請先 登錄
相關推薦
評論