<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

測試與驗證復雜的FPGA設計(2)——如何在虹科的IP核中執行面向全局的仿真

虹科智能自動化 ? 2022-06-15 17:31 ? 次閱讀

仿真和驗證是開發任何高質量的基于 FPGA 的 RTL 編碼過程的基礎。在上一篇文章中,我們介紹了面向實體/塊的仿真,即通過在每個輸入信號上生成激勵并驗證 RTL 代碼行為是否符合預期,對構成每個 IP 核的不同模塊進行實體/塊的仿真。

前文回顧

如何測試與驗證復雜的FPGA設計(1)——面向實體或塊的仿真

在本篇文章中,我們將介紹如何在虹科IP核中執行面向全局的仿真,而這也是測試與驗證復雜FPGA設計的第二個關鍵步驟。

面向全局的仿真

全局仿真意味著驗證整個IP實體的正確行為,包括構成產品的每個子模塊。為了適應不同客戶的用例,虹科SoC-e IP核解決方案在設計時充分考慮了靈活性,這意味著虹科所有的IP核都是高度可配置的,無論是在集成時(以優化 FPGA 中的封裝)還是在運行時。借助于有著不同接口選項的寄存器映射(在下面的示例中,使用 AXI4),運行時配置成為可能。

這種靈活性也對仿真過程提出了挑戰,因為需要根據仿真環境中的不同測試用例來配置IP。對此,虹科的合作伙伴SoC-e團隊開發了一個令人驚嘆的智能測試平臺環境,在該環境中可以進行實時配置并實現自動化,開發人員可以通過“點擊即用”的方式來執行復雜的仿真。例如,測試臺可以通過交換機發送以太網幀,并可以通過訪問IP 核的統計寄存器來讀取結果(并檢查輸出是否符合預期)。

這極大地加快了調試過程,并允許開發團隊執行快速迭代,而這在基于硬件的測試環境中會慢得多。在下圖為具有此類全局測試平臺架構的框圖(基于虹科網管以太網交換機IP核):


2aeca3a8-ebfe-11ec-a2f4-dac502259ad0.png

網管型以太網交換機 (MES) 表示為UUT。其余的測試臺組件是符合整個環境的不可綜合的 VHDL 模塊:

Frame Generator::該模塊連接到以太網交換機 IP 的入口端口,負責生成激勵(以太網幀)。

Frame Checker:該模塊連接到以太網交換機IP的出端口,負責分析交換機轉發的流量。

AXI Configurator:它控制 AXI4 配置總線以修改配置寄存器的內容(讀/寫操作)。

測試平臺執行流程

正常的測試平臺執行流程如下:首先,AXIConfigurator模塊根據測試用例配置IP核。之后,每個FrameGenerator都會生成測試幀,并將其發送到啟用的入口端口。幀是通過循環重復某些特定測試文件中定義的內容來生成的。最后,Frame Checker接收幀(接收與否,取決于測試用例)。該塊將檢查每個端口對應的統計信息,并根據執行的測試用例確定輸出是否符合預期的。

虹科SoC-e測試平臺架構的一大亮點是Frame Checker可以自動檢測多種錯誤,例如完整性錯誤、轉發錯誤或幀丟失。這是可實現的,因為Frame Generator可以生成具有特定格式的流量(例如有效載荷中的特殊模式、序列號等),Frame Checker可以解釋這些流量。


測試平臺測試計劃

該測試平臺套件的驚人靈活性還與SoC-e定義的嚴格測試計劃相結合。對于每個IP核,都有一個測試計劃,旨在在仿真環境中測試盡可能多的特性。

例如,網管以太網交換機IP的測試計劃可以被劃分為五個主要部分:

通用交換

自定義轉發

過濾數據庫

優先隊列

VLAN

這些部分旨在涵蓋與網絡相關的不同功能的行為,以及不同的流量模式和情況。


2aff13b2-ebfe-11ec-a2f4-dac502259ad0.png

測試平臺的結果可以由開發人員或用戶以不同的方式進行分析。TCL控制臺用于快速反饋測試結果。然而,在某些情況下,在仿真的特定時刻深入了解特定信號值可能會很有趣。對于這種情況,還開發了預先格式化的波形,以便于查找特定信號。


用于測試執行的命令行界面(CLI)

此測試平臺環境中包含的最新功能之一是可以直接從命令行界面(CLI)執行所有測試,而無需打開RTL仿真工具(Vivado或其他工具)。這是一個很大的改進,因為它可以實現更高的測試自動化。它基于使用Vivado編譯器命令的腳本(Python)的使用,以便用戶生成易于解釋的結果。

下圖顯示了向用戶顯示的仿真菜單。用戶只需選擇相應的選項即可執行任何列出的測試:


2b179e50-ebfe-11ec-a2f4-dac502259ad0.png


眾所周知,仿真是一個需要大量時間的過程。即使在功能強大的計算機中執行,毫秒或以上范圍內的復雜仿真也需要持續數十分鐘,甚至更長。為了簡化執行所有測試的過程(這需要幾個小時),我們實現了一個“-all”選項,它允許在管道中執行所有測試,且無需用戶交互。完成所有測試后,它將提供有關每個測試的報告消息(如下圖所示),并在測試失敗的情況下生成輸出文件,以便開發人員稍后進行分析。

2b39b2a6-ebfe-11ec-a2f4-dac502259ad0.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真
    +關注

    關注

    50

    文章

    3891

    瀏覽量

    132437
  • IP核
    +關注

    關注

    4

    文章

    317

    瀏覽量

    49089
收藏 人收藏

    評論

    相關推薦

    FPGAIP使用技巧

    和性能測試。確保IP軟核能夠正常工作,并滿足項目的性能要求。 在驗證過程,可以使用仿真工具進行模擬測試
    發表于 05-27 16:13

    FPGA基礎知識學習

    可以執行各種邏輯操作(如與、或、非、異或等),將輸入信號轉換為輸出信號。這些邏輯門通過FPGA內部的互連網絡相互連接,從而形成一個復雜的邏輯電路。 在FPGA
    發表于 04-29 23:26

    關于FPGA IP

    對于深入學習使用FPGA的小伙伴們,特別是一些復雜的、大規模的設計應用,適宜的IP核對開發能起到事半功倍的作用。IP的概念與我們sdk里庫
    發表于 04-29 21:01

    FPGA開發過程配置全局時鐘需要注意哪些問題

    的正確性和穩定性。通過仿真可以檢查時序是否滿足要求,及時發現和解決問題。 綜上所述,配置全局時鐘是FPGA開發過程的一個重要環節,需要仔細考慮和規劃。通過選擇合適的時鐘源、優化時鐘分
    發表于 04-28 09:43

    FPGA開發如何降低成本,比如利用免費的IP內核

    FPGA設計工具(如Xilinx的Vivado、Intel的Quartus等),通過IP管理器或類似的功能,將所選的IP內核添加到設計
    發表于 04-28 09:41

    fpga仿真器是什么?它有哪些優勢?

    FPGA仿真器是一種用于模擬FPGA(現場可編程門陣列)硬件行為的軟件工具。它通過模擬FPGA內部的邏輯電路、時序和接口等,幫助工程師在FPGA
    的頭像 發表于 03-15 15:15 ?539次閱讀

    fpga原型驗證平臺與硬件仿真器的區別

    FPGA原型驗證平臺與硬件仿真器在芯片設計和驗證過程中各自發揮著獨特的作用,它們之間存在明顯的區別。
    的頭像 發表于 03-15 15:07 ?446次閱讀

    fpga驗證測試的區別

    FPGA驗證測試在芯片設計和開發過程中都扮演著重要的角色,但它們各自有著不同的側重點和應用場景。
    的頭像 發表于 03-15 15:03 ?403次閱讀

    fpga仿真是什么

    FPGA仿真是一種驗證FPGA設計正確性的過程,主要用來分析設計電路邏輯關系的正確性。在FPGA設計中,
    的頭像 發表于 03-15 13:59 ?587次閱讀

    FPGAIP學習的正確打開方式

    本帖最后由 jf_25420317 于 2023-11-17 11:10 編輯 FPGA開發過程,利用各種IP,可以快速完成功能開發,不需要花費大量時間重復造輪子。 當我們面
    發表于 11-17 11:09

    何在非Autosar應用執行I2C?

    驅動程序。 是否正確? 為什么CDD 僅用于 MCAL 標簽? LLD 也在 CDD 執行 ? 為什么 I2C LLD 驅動器在標簽“ 驅動器” 上圖中沒有使用“ IP
    發表于 11-13 07:04

    FPGA工程師需要具備哪些技能?

    ,需要具備一系列的技能,才能勝任日益復雜的設計工作。因此,本文將從設計思路、硬件語言、EDA工具、數字信號處理、通信協議、測試驗證等多個方面,探討FPGA工程師需要具備哪些技能。 一
    發表于 11-09 11:03

    全愛科技Atlas200I A2 AI加速模塊-FPGA PCIE接口驗證平臺

    Atlas200I A2+PCIE X4接口測試FPGA 實物圖片 全愛科技QA200A2 Altas200I A2開發套件做了
    發表于 09-05 14:39

    Easygo實時仿真FPGA實時仿真器、硬件在環((HIL)測試設備及快速控制原型(RCP)系統開發

    ?!?強大的級聯并行拓展能力 支持單機箱拓展,可實現基于CPU+FPGA的聯合仿真與控制,滿足大系統測試、多設備級聯測試的更高要求。自Easygo事業部成立至今,
    發表于 08-16 17:29

    什么是形式驗證(Formal驗證)?Formal是怎么實現的呢?

    相信很多人已經接觸過驗證。如我以前有篇文章所寫驗證分為IP驗證,FPGA驗證,SOC
    的頭像 發表于 07-21 09:53 ?6568次閱讀
    什么是形式<b class='flag-5'>驗證</b>(Formal<b class='flag-5'>驗證</b>)?Formal是怎么實現的呢?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>