仿真和驗證是開發任何高質量的基于 FPGA 的 RTL 編碼過程的基礎。在前文中,我們介紹了面向實體/塊的仿真,并介紹了如何在虹科的IP核中執行面向全局的仿真。
前文回顧
虹科干貨 | 如何測試與驗證復雜的FPGA設計(1)——面向實體或塊的仿真
虹科干貨 | 如何測證復雜的FPGA設計(2)——如何在虹科的IP核中執行面向全局的仿真
盡管擴展的仿真計劃提供了良好的可信度,但仍有許多corner的情況無法在虛擬環境中驗證。對于這些情況,開發人員需要制定基于硬件的測試計劃,而這也是獲得高質量結果的最后一步。在本篇文章中,我們將對介紹第三個關鍵步驟——在硬件平臺上驗證IP核。
硬件測試
硬件測試是為IP核產品執行高質量測試和驗證計劃的最后一步,主要可以分為以下幾個階段:
1
測試準備
該階段定義了在產品開始測試之前必須完成的步驟。在這個階段,需要制定測試計劃文檔,里面詳細描述了必須在 DUT(被測設備)上執行的每一項測試。
2
測試執行
測試執行階段主要是執行上一個階段中制定的測試用例
3
問題報告
該階段需要檢查和報告在測試執行期間檢測到的所有問題,虹科技術團隊將提供一個問題電子表格,其中將記錄在測試階段檢測到的每個問題。每當注冊新問題時,都會向開發團隊報告,并且能夠追蹤哪些問題已解決,哪些問題仍有待審查。
4
測試結束
該階段確定測試階段何時完成,并創建測試結果文檔,其中將包含成功執行的測試的摘要以及有關測試的更多相關信息。
虹科SoC-e測試工具
為了優化測試執行過程,我們使用了虹科SoC-e測試工具,以進行自動化測試。該工具考慮了以下內容:
DUT配置過程
流量注入和嗅探
記錄從DUT 返回的流量
驗證保存的日志
將DUT 設置為原始狀態
虹科SoC-e測試軟件架構
該工具的第一步與DUT 配置的執行有關。這是通過名為 Platform.vars 的輸入配置文件完成的。通過該文件,用戶可以配置不同的參數,如 DUT SSH 參數、主機 PC 的IP 地址或網絡接口。
第二步,完成TS(測試站)和 DUT之間的流量注入和嗅探。我們有不同的第三方設備用作測試站,但最常用的設備之一是IXIA Novus One Plus。流量可以通過 IXIA 的 Python API 輕松發送。數據包操作是通過 Scapy Python 模塊完成的。盡管 Scapy 允許傳輸該工具生成的所有流量,但它是使用不同的工具tcpreplay執行的。這使我們能夠克服由 Scapy 引起的帶寬和準確性方面的某些限制。在此步驟中,測試提供了自定義流量的靈活性,以驗證不同的 DUT 功能。可擴展性不是問題,因為該工具支持添加額外的流量和測試端口。
第三步,該工具使用測試站或通過 Linux tcpdump 軟件登記來自 DUT 的流量。
第四步,在虹科SoC-e測試工具驗證上一步中存儲的信息(統計、寄存器轉儲(dump)等),以檢查一切是否正常。通過這兩個步驟,SoC-e 測試工具為測試用例的驗證提供了一個很好的解決方案。
最后,第五步,也是最后一步。最后一步的主要目的是將 DUT 配置恢復到其原始狀態,因為它可能在測試期間被修改。
-
FPGA設計
+關注
關注
9文章
428瀏覽量
26420
發布評論請先 登錄
相關推薦
評論