驗證FPGA設計:模擬,仿真,還是碰運氣?
附文 解決覆蓋空隙的一些思路
人人都喜歡FPGA 內仿真的速度。但是在FPGA中建立系統、控制和觀測試驗的難度過大,這常常迫使人們將費力費時的測試工作轉回到模擬環境中。在實際中,有些人會搭建一個驗證平臺,結合FPGA執行速度高和模擬方法易于構造和訪問數據的優點。毫不奇怪,有些廠商已經瞄準了這個目標。
首次這么做還是ASIC時代早期的事,這也就是 “big-iron”邏輯仿真系統。從效果上說,這些系統就是一組專用的巨型計算機,其中由定制微處理器或定制可編程元件分別模擬或仿真邏輯操作。這類系統的代表是Cadence Palladium。此系統執行速度為模擬的很多倍,同時其廠商聲稱它對被測設計的訪問能力至少與模擬相當。但是,這些系統的容量有限,不會比通常模擬的塊規模大很多——除非你有非常多的錢。這些設備是主要的耗資設備,因此多數最終設計面向FPGA的設計團隊都無力支付高昂的費用。
近年來,有大量系統進入市場(例如Eve等公司的產品),這些系統可以在使用商業FPGA的簡單環境下進行邏輯仿真。這類系統具有不同的特點,有些是小型化巨型機仿真系統,有些基本上就是帶支持調試軟件的FPGA評估卡。在所有情況下,它們都試圖提供一個設計中邏輯開銷低于big-iron仿真系統的FPGA執行環境。由于邏輯開銷較低,通常基于FPGA的系統運行速度可以比巨型機仿真系統快一到幾個數量級。總的來說,運行速度越快,保留的模擬的方便性就越少。但是,當單個FPGA的設計(包括調試開銷)變得過大時,它們就會表現出局限性。將設計分區是很復雜的,而且經常涉及到FPGA間信號的多路復用,這會將所有工作都拖慢。這些系統中,確實提供了將測試平臺和數據在FPGA 系統和模擬環境來回傳送所需的軟件支持。例如,Eve就報道說正在開展工作,以便能將斷言也導入到其環境中。
GateRocket 的系統是一個很有趣的產品,它使當前的這個狀況發生了改變。該公司將其定位為既可以充當模擬加速器,也可以充當電路中仿真器。作為模擬加速器時,該系統會試圖插入用戶的模擬環境,加速耗時的RTL (寄存器傳輸級) 邏輯部件的模擬,而不會影響模擬環境的特性。如果假設90/10法則正確(也就是說,90%模擬時間花在10%的代碼上),通過這種加速能力,可以使驗證工程師們繼續使用模擬環境,將其用于在無加速時基本無法實現的檢驗流程中。GateRocket聲稱,該系統可以支持名為“可綜合斷言子集”的特性。











評論