加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

虹科方案丨如何測試與驗證復雜的FPGA設計

2023/09/25
4124
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權作品,購買后不支持退換且無法轉移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
  • 方案介紹
    • 一、面向?qū)嶓w/塊的仿真
    • 二、面向全局的仿真
    • 三、硬件測試
  • 相關文件
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

摘要: 仿真和驗證是開發(fā)任何高質(zhì)量的基于 FPGA 的 RTL 編碼過程的基礎。本文檔主要分享虹科設計過程中的關鍵步驟。

在IP核的開發(fā)過程中,面臨著許多關鍵技術,比如IP核的規(guī)格定義、基于接口的設計、IP核測試存取結構標準、IP核的驗證與打包等。對于IP核的驗證,主要是建立參照模型和測試平臺,然后進行回歸測試和形式驗證。

這里參照的模型主要用于對系統(tǒng)功能進行驗證以及和RTL模型的對照驗證,該模型主要用Verilog HDL等語言來構造。測試平臺的建立與子模塊設計并行,搭建驗證環(huán)境和開發(fā)測試用例,并針對IP核的行為級模型對測試環(huán)境和測試用例進行調(diào)試,從而同步準備好用來仿真測試RTL級IP核的驗證環(huán)境和測試用例。

仿真和驗證是開發(fā)任何高質(zhì)量的基于 FPGA 的 RTL 編碼過程的基礎。在本系列文章中,我們將分享我們設計過程中的關鍵步驟,并將基于虹科以太網(wǎng)IP核產(chǎn)品組合進行介紹。

整個過程的關鍵步驟如下:

  • 面向?qū)嶓w/塊的仿真:通過在每個輸入信號上生成激勵并驗證 RTL 代碼行為是否符合預期,對構成每個 IP 核的不同模塊進行實體/塊的仿真。
  • 面向全局的仿真:一旦不同的模塊被單獨驗證,則意味著下一步將整個IP仿真為單個 UUT(被測試單元)。
  • (On)硬件測試:盡管擴展的仿真計劃提供了良好的可信度,但仍有許多corner的情況無法在虛擬環(huán)境中驗證。對于這些情況,需要基于硬件的測試計劃,這也是獲得高質(zhì)量結果的最后一步。

一、面向?qū)嶓w/塊的仿真

“面向?qū)嶓w或塊的仿真”這一步驟意味著驗證在 IP 核內(nèi)具有特定操作的特定實體或模塊的正確操作。每個 IP 核都由許多實體或塊組成,為了測試它們,每個實體會有不同的測試平臺,通過在輸入受到刺激時觀察設計的輸出來執(zhí)行設計,這將有助于檢查預期的行為。舉個例子有助于理解這些內(nèi)容,在此之前,我們需要先介紹虹科以太網(wǎng)交換機 IP 核的過濾數(shù)據(jù)庫。

過濾數(shù)據(jù)庫存儲 MAC 地址及其相關信息以做出幀轉發(fā)決策。它是一個基于哈希的存儲器,每個地址條目都有一些存儲過濾數(shù)據(jù)的 bin。該哈希算法還生成過濾數(shù)據(jù)庫內(nèi)存的索引。

過濾數(shù)據(jù)庫執(zhí)行有三個主要過程:學習、查找和老化。

  • 學習過程負責在滿足不同條件時保存幀。
  • 查找過程是在過濾數(shù)據(jù)庫中搜索并獲得幀的轉發(fā)端口掩碼的過程。
  • 老化過程根據(jù)給定的時間段刪除舊的 MAC 條目。

在這個仿真MAC表的具體案例中,請始終嘗試測試構成過濾數(shù)據(jù)庫功能的所有機制。從這個意義上說,就像學習不同的MAC,不同的查詢、老化是并行完成的,最后需要清除MAC表并驗證所有條目都已刪除。此外,研究并始終能夠測試可能的corner案例也十分重要。

測試和驗證復雜 FPGA 設計的第二個關鍵步驟是面向全局的仿真。一旦形成 IP 核的所有實體都按預期工作,全局仿真就會發(fā)揮作用。

二、面向全局的仿真

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

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

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

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

  • Frame Generator::該模塊連接到以太網(wǎng)交換機 IP 的入口端口,負責生成激勵(以太網(wǎng)幀)。
  • Frame Checker:該模塊連接到以太網(wǎng)交換機IP的出端口,負責分析交換機轉發(fā)的流量。
  • AXI Configurator:它控制 AXI4 配置總線以修改配置寄存器的內(nèi)容(讀/寫操作)。

2.1 測試平臺執(zhí)行流程

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

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

2.2 虹科測試平臺測試計劃

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

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

  • 通用交換
  • 自定義轉發(fā)
  • 過濾數(shù)據(jù)庫
  • 優(yōu)先隊列
  • VLAN

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

2.3 仿真波形和TCL控制臺

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

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

此測試平臺環(huán)境中包含的最新功能之一是可以直接從命令行界面(CLI)執(zhí)行所有測試,而無需打開RTL仿真工具(Vivado或其他工具)。這是一個很大的改進,因為它可以實現(xiàn)更高的測試自動化。它基于使用Vivado編譯器命令的腳本(Python)的使用,以便用戶生成易于解釋的結果。下圖顯示了向用戶顯示的仿真菜單。用戶只需選擇相應的選項即可執(zhí)行任何列出的測試:

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

虹科SoC-e測試平臺套件,現(xiàn)在作為產(chǎn)品提供!

雖然所有這些測試平臺環(huán)境僅用于內(nèi)部調(diào)試和開發(fā)目的,但由于不少客戶有使用該測試平臺的需求,因此虹科的合作伙伴SoC-e目前已將其作為產(chǎn)品,提供給那些使用虹科SoC-e IP核解決方案并希望能夠執(zhí)行高級仿真工作(系統(tǒng)級仿真)的客戶。如果您對該產(chǎn)品感興趣和/或想了解更多信息,請通過sales@hkaco.com聯(lián)系我們。

三、硬件測試

硬件測試是為IP核產(chǎn)品執(zhí)行高質(zhì)量測試和驗證計劃的最后一步,主要可以分為以下幾個階段:

1)測試準備:定義在產(chǎn)品開始測試之前必須完成的步驟

在這個階段,定義了測試計劃文檔。在這個文檔中,詳細描述了必須在 DUT(被測設備)上執(zhí)行的每一項測試。

2)測試執(zhí)行:執(zhí)行上一個階段中定義的測試用例

3)問題報告:檢查和報告在測試執(zhí)行期間檢測到的所有問題

我們提供了一個問題電子表格,其中將記錄在測試階段檢測到的每個問題。每當注冊新問題時,都會向開發(fā)團隊報告,并且能夠追蹤哪些問題已解決,哪些問題仍有待審查。

4)測試結束:確定測試階段何時完成,并創(chuàng)建測試結果文檔,其中將包含成功執(zhí)行的測試的摘要以及有關測試的更多相關信息。

3.1 虹科SoC-e測試工具

為了優(yōu)化測試執(zhí)行過程,我們使用了虹科SoC-e測試工具以進行自動化測試。該工具考慮了以下內(nèi)容:

  • DUT配置過程
  • 流量注入和嗅探
  • 記錄從 DUT 返回的流量
  • 驗證保存的日志
  • 將 DUT 設置為原始狀態(tài)

3.2 SoC-e測試軟件架構

該工具的第一步與DUT 配置的執(zhí)行有關。這是通過名為 Platform.vars 的輸入配置文件完成的。通過該文件,用戶可以配置不同的參數(shù),如 DUT SSH 參數(shù)、主機 PC 的 IP 地址或網(wǎng)絡接口。

第二步,完成TS(測試站)和 DUT之間的流量注入和嗅探。我們有不同的第三方設備用作測試站,但最常用的設備之一是IXIA Novus One Plus。流量可以通過 IXIA 的 Python API 輕松發(fā)送。數(shù)據(jù)包操作是通過 Scapy Python 模塊完成的。盡管 Scapy 允許傳輸該工具生成的所有流量,但它是使用不同的工具tcpreplay執(zhí)行的。這使我們能夠克服由 Scapy 引起的帶寬和準確性方面的某些限制。在此步驟中,測試提供了自定義流量的靈活性,以驗證不同的 DUT 功能??蓴U展性不是問題,因為該工具支持添加額外的流量和測試端口。

第三步,該工具使用測試站或通過 Linux tcpdump 軟件登記來自 DUT 的流量。

第四步,SoC-e 測試工具驗證上一步中存儲的信息(統(tǒng)計、寄存器轉儲(dump)等),以檢查一切是否正常。通過這兩個步驟,SoC-e 測試工具為測試用例的驗證提供了一個很好的解決方案。

最后,第五步,也是最后一步。最后一步的主要目的是將 DUT 配置恢復到其原始狀態(tài),因為它可能在測試期間被修改。

IP核可以使開發(fā)人員減設計工作量并縮短產(chǎn)品上市時間。虹科目前已有豐富的IP核產(chǎn)品組合,包括TSN IP核、HSR/PRP IP核、以太網(wǎng)IP核、冗余IP核等,可以輕松集成到用戶的FPGA中。若想了解更多信息,歡迎隨時通過info@hkaco.com聯(lián)系虹科工業(yè)控制團隊!

聯(lián)系虹科工程師:18922242268

聯(lián)系鏈接:https://tl-tx.dustess.com/ChxLxfu6M0

  • 虹科方案丨如何測試與驗證復雜的FPGA設計.docx

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
10M50DAF256I7G 1 Intel Corporation Field Programmable Gate Array, 50000-Cell, CMOS, PBGA256, 17 X 17 MM, 1 MM PITCH, ROHS COMPLIANT, FBGA-256

ECAD模型

下載ECAD模型
$166.08 查看
EP4CE6F17C8N 1 Altera Corporation Field Programmable Gate Array, 392 CLBs, 472.5MHz, 6272-Cell, PBGA256, 17 X 17 MM, 1 MM PITCH, LEAD FREE, FBGA-256

ECAD模型

下載ECAD模型
$127.84 查看
A3P1000-FG256I 1 Microsemi Corporation Field Programmable Gate Array, 24576 CLBs, 1000000 Gates, 350MHz, CMOS, PBGA256, 17 X 17 MM, 1.60 MM HEIGHT, 1 MM PITCH, FBGA-256
$74.11 查看

相關推薦

電子產(chǎn)業(yè)圖譜

虹科是一家資源整合及技術服務落地供應商,與全球頂尖公司深度技術合作,專注于制造業(yè)、汽車、生物、醫(yī)藥、測試與測量、廣播電視與媒體、通信、網(wǎng)絡安全、光電等領域,為客戶提供:智能自動化、工業(yè)物聯(lián)網(wǎng)、智能感知、數(shù)字化+AR、光電、網(wǎng)絡安全、測試測量、衛(wèi)星與無線通信、醫(yī)藥環(huán)境監(jiān)測與驗證、生命科學、汽車電子、汽車維修診斷、云科技等解決方案。虹科始終致力于為行業(yè)客戶提供創(chuàng)新及前端的產(chǎn)品和技術解決方案,為科技社會發(fā)展助力加碼。