Hardware Emulation Platform (硬件仿真平台) 在IC驗證中的運用情況如何?


三個EDA公司都有自己的hardware emulation verification platform: Cadence Palladium, Synopsys ZeBu, Mentor Veloce. 這些工具在IC驗證工作中的使用情況如何?與傳統的仿真(simulation)相比,emulation platform將對IC的驗證方法學產生怎樣的影響?


這些工具在IC驗證工作中的使用情況如何?

可視為Simulator的補充(不是替代),軟件仿真的硬件化,極大提高了仿真效率。

越來越多的公司開始采購使用emulator,除了像華為、中興這樣的大公司,很多研究所和新興小公司也在紛紛購買,emulator成為平台化中心的特點越來越明顯,也影響了其它EDA工具的采購,買emulator送simulator和其它tool license啦。(想想花了這么多錢買了台emulator,然后廠商說,親,搭配我們家的simulator、Power分析工具、DFT工具更好用噢,一起買有優惠噢。你買不買?)


與傳統的仿真(simulation)相比,emulation platform將對IC的驗證方法學產生怎樣的影響?

沒啥影響,比如UVM、assert、coverage等功能simulator都支持,emulator在硬件部分並不支持,但是可以通過與PC相連接,在PC端運行支持相應的功能,也可稱之為co-simulation了。可以說,simulator功能最全,emulator不那么全,但可以跑得更快。

emulation與FPGA prototype有何異同?
最大的不同是:emulation可以驗證極大規模的芯片設計,如2billion gate,這涉及到多達100塊板卡,每張板卡上按16個驗證芯片單元算,也就是使用超過了1600塊驗證芯片單元,里面用到的芯片間切割、布線、時序分析都是極復雜;而FPGA prototype一般用於小規模芯片驗證,四顆以上切割、布線就很困難,且速度就下降得很厲害,基本與emulator一個級別了。(emulator貴不是白給的)

從tool的角度講,emulator一般使用廠商獨家定制的全flow tool,由之前的綜合、切割、布線、時序分析、運行、trigger、上下載、查看波形等都專門為此設計和優化,並且為專門的team來處理用戶使用過程的各種問題,經過很長時間的積累后,就變得很穩定與強大;而FPGA prototype綜合、切割、布線、FPGA芯片、平台設計與制造、外插板卡等都可能是不同的供應商,所使用FPGA芯片也是通用芯片,沒有針對大規模驗證需求專門優化,也導致了在大規模設計驗證上的重重困難。

emulator可認為是軟件simulator的硬件化,是虛擬世界;FPGA prototype是物理芯片流片前的原型化,是真實世界。simulator/emulator都有設計頻率和運行頻率的差別,比如設計里使用100MHZ的時鍾,運行的時候只有100KHZ,一幀圖像仿真可能要幾個小時才能結束。要與外界硬件連接也必須使用各種專門的轉接卡,如speed adapter,來解決emulator與真實世界里硬件的速度不匹配的問題;而FPGA里跑的時鍾頻率就是真實頻率,可能為了將就FPGA的可運行頻率進行降頻,比如ASIC芯片能運行在1GHZ以上的,在FPGA原型時只跑100MHZ。就算如此,FPGA prototype的運行速度也驚人,所以可能在上面接各種真實的器件,如DDR內存條、FLASH模塊、PHY卡、與電腦連接跑實際的運行,可認為就是塊真實的電路芯片。

通常認為emulator理解為介於simulator和FPGA prototyping間的產物,同時擁有二者的優點,如方便debug波形、可使用force/release命令、檢查覆蓋率、打印display信息、同時運行速度比較快(約2Mhz)等,最大的缺點估計是太貴。

成為Veloce AE一段時間后,發現Emulator的功能和特點不止這些。C/M/S三家的產品各有自己的特點吧,比如Palladium使用定制化處理器、Veloce使用定制化ASIC芯片、Zebu使用Xilinx V7 FPGA等,在使用上也各有自己的一套流程。

Emulator基本上可分為三種模式,基於cycle級的軟硬件聯合仿真、基於事務級Transaction的軟硬件聯合仿真(Veloce叫TBX)、基於ICE模式的,基本上重點使用后兩種。ICE模式運行速度最快,接近於FPGA的運行模式,就是DUT和TB都可綜合例化在硬件中,另外還可外接硬件作為激勵源,比如PCIE、Ethernet、SATA等設備,通過SpeedBridge來解決真實硬件和Emulator的速度差問題。缺點也很明顯,就是TB要是可綜合的,或者使用向量模式,限制了其使用方式。

基於事務級Transaction的軟硬件聯合仿真(TBX),就是DUT運行在硬件上,有一套實現連接軟硬件,包括軟件側、硬件側、通道,對用戶而言,DUT例化連接相應的模塊,該模塊將很多硬件行為包括時序信息等抽象成很少的信息量,傳輸通道只需傳少量數據,軟件側調用對應的function就可以了,軟件不能隨意控制硬件側仿佛的行為,稱之為事務級Transaction。這樣做的好處自然是極大減少了軟硬側數據的交互量,大大加快了仿真速度。

使用TBX方式,可認為Simulator的硬件化,速度上比不上ICE模式,但是功能上比ICE強大得多。軟件側通常驗證上使用的工具、方法、流程基本都可以使用,比如UVM、覆蓋率、功耗驗證、SC/SV/C/C++、Qemu上接操作系統如Windows/Linux等。

另外,Emulator資源可更方便的多人共享使用,基本可認為和服務器相似。一家公司有多個site,在美國、歐洲、印度、中國等,都可遠程訪問,實現資源利用率最大化。編譯是不需在固定的服務器完成的,使用Emulator時,只需簡單的命令就自動將BIN文件下載到Emulator、配置、運行,按需要dump波形並上傳,方便事后查看,而將Emulator讓出來給其他人使用,並且像simulator那樣可隨意運行任意時間停止下來、下一步命令后繼續運行。相比較FPGA原型平台,基本上是放在實驗室,一段時間一個人單獨使用,不容易遠程,且每次搭環境花時間不容易,debug抓波形比較麻煩,且定位時需要反復去運行去抓取issue,與硬件周邊相關的設置占用時間很長。

Emulator需要使用大量經過驗證的專有library和model,比如各種DDR RAM、transactor庫、VIP等,比FPGA支持更物理層的信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM