0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Python腳本調(diào)試賽靈思PCIe設(shè)計?

FPGA技術(shù)江湖 ? 來源:XILINX開發(fā)者社區(qū) ? 2023-06-26 09:20 ? 次閱讀

獲取 CSV:

現(xiàn)在,您不僅可以使用 Python 腳本執(zhí)行調(diào)試分析,更重要的是,借由 Vivado ILA 所生成的 ILA 文件可以進一步簡化此操作。通過將 *.ila 擴展名重命名為 *.zip 然后將生成的文件解壓,即可將其轉(zhuǎn)換為 CSV 文件。

解壓后的文件夾將包含以下列表中的文件:

f6b4bffa-13aa-11ee-962d-dac502259ad0.png

Python 可提供相應(yīng)的庫,用于 CSV 文件分析,以便對 Vivado ILA 所生成的調(diào)試信號數(shù)據(jù)執(zhí)行詳盡的分析。調(diào)試信號還可在 Vivado 硬件管理器中以波形形式來查看。對于計算某些接口中的數(shù)據(jù)包數(shù)量、解讀數(shù)據(jù)包內(nèi)的字段值等分析操作,使用 Python 腳本方法更便于進行定制調(diào)試。

Python 腳本用例示例

此處提供的 Python 腳本會對 ILA 數(shù)據(jù)執(zhí)行分析,這些數(shù)據(jù)包含下圖所示的 RQ/RC/CQ/CC 接口信號。此模塊框圖源自 (PG213),該文檔適用于 UltraScale+ 器件 Integrated Block for PCI Express IP。

PG213:

f6d927a0-13aa-11ee-962d-dac502259ad0.png

此腳本可識別每個接口上有效的數(shù)據(jù)包、提取每個數(shù)據(jù)包中的描述符文件,并報告輸出每個字段的值。

適用于 PCIe 調(diào)試的 Python 代碼示例:

該腳本執(zhí)行的步驟如下所述:

打開 CSV 文件。

從所選 CSV 文件中提取數(shù)據(jù)。

提取包含目標(biāo)數(shù)據(jù)的特定列/報頭。

使用“tready”、“tvalid”和“tlast”作為限定符來識別有效的數(shù)據(jù)包。

提取有效的 tdata 值,并使用函數(shù)執(zhí)行十六進制到二進制轉(zhuǎn)換。

二進制轉(zhuǎn)換是從“tdata”提取比特級數(shù)據(jù)所必需的操作。

打印含十六進制數(shù)據(jù)的描述符字段。

以下 func_rq_pkt_analysis() 函數(shù)會導(dǎo)入 CSV 文件并基于提供的 tready 值來判定要對哪個接口運行分析。

f74b5ba4-13aa-11ee-962d-dac502259ad0.png

以下代碼可識別 .csv 文件中相應(yīng)字段的列編號,如下所示:

f760002c-13aa-11ee-962d-dac502259ad0.png

僅提取 tready 值、tdata 值、tvalid 值和 tlast 值,并將其存儲在詞典中,作為對應(yīng)索引的值,該索引將用作為詞典的鍵。

f787cac6-13aa-11ee-962d-dac502259ad0.png

下一步是對詞典中存儲的數(shù)據(jù)執(zhí)行分析。詞典包含 tdata、tready、tvalid 和 tlast。

for 循環(huán)會遍歷詞典中的每一行,如果發(fā)現(xiàn) tready 和 tvalid 均為“1”,那么它會將對應(yīng)數(shù)據(jù)復(fù)制到變量中。tdata 作為十六進制數(shù)值存儲在 CSV 文件中。為了對描述符字段標(biāo)識執(zhí)行比特級提取,需將十六進制值轉(zhuǎn)換為二進制。

描述符字段的提取是基于 (PG213) 中提供的描述符格式來執(zhí)行的。以下示例顯示了完成方完成 (CC) 接口的描述符。

f7b0e2c6-13aa-11ee-962d-dac502259ad0.png

f7d141f6-13aa-11ee-962d-dac502259ad0.png

為打印描述符字段值,需使用 bin_to_hex_print( ) 函數(shù)將此二進制值再次轉(zhuǎn)換為十六進制。

該函數(shù)定義如下:

f844e4b2-13aa-11ee-962d-dac502259ad0.png

以下是本篇博文隨附的 waveform.csv 文件的輸出示例:

f860580a-13aa-11ee-962d-dac502259ad0.png

代碼限制示例

提供的代碼示例僅作為概念證明。提供的腳本則可在以下情況下“按現(xiàn)狀”直接使用:

1.數(shù)據(jù)包包含 1 個數(shù)據(jù)節(jié)拍,即 tready/tvalid 和 tlast 全都在同一個時鐘周期內(nèi)斷言有效。
2.不使用跨接。
3.對應(yīng)接口的 tdata、tready、tvalid 和 tlast 的信號命名方式與本文隨附的 .csv 文件中的命名相同。

使用 Python 執(zhí)行 PCIe 調(diào)試的用例

Python 腳本示例可通過擴展用于調(diào)試下列各種場景:

1.計算每個接口上的數(shù)據(jù)包數(shù)量。

2.在啟用跨接的用戶接口上執(zhí)行數(shù)據(jù)包分析。

3.支持分析含多個數(shù)據(jù)節(jié)拍的數(shù)據(jù)包,例如,跨多個時鐘周期的數(shù)據(jù)包。

4.驗證是否接收到拆分完成包。

5.在給定的 ILA 捕獲窗口緩沖器大小足夠的情況下,驗證用戶邏輯在 CC 接口上生成的完成包是否正確,并驗證在 RC 接口上是否同樣接收到完成包(用于 RQ 接口上的對應(yīng)請求)。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7406

    瀏覽量

    163412
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4759

    瀏覽量

    84296
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    803

    瀏覽量

    66141
  • PCIe接口
    +關(guān)注

    關(guān)注

    0

    文章

    117

    瀏覽量

    9653
  • csv
    csv
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    5793

原文標(biāo)題:使用 Python 調(diào)試 PCIe 問題

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    790.被并入AMD對中國FPGA廠商有什么意義?

    fpga
    小凡
    發(fā)布于 :2022年10月05日 02:52:44

    Verilog(FPGACPLD)設(shè)計小技巧

    Verilog(FPGACPLD)設(shè)計小技巧
    發(fā)表于 08-19 22:52

    FPGA是用altera多還是的多呢

    FPGA是用altera多還是的多呢,我買的開發(fā)板是altera的,但是很多人推薦說學(xué)習(xí)
    發(fā)表于 01-09 21:27

    XilinxFPGA技術(shù)及應(yīng)用線上公開課

    ` 本帖最后由 MGJOY 于 2017-4-10 15:07 編輯 本周三,4月12日,FPGA技術(shù)及應(yīng)用線上公開課。歡迎大家觀看、學(xué)習(xí)交流~分享主題【
    發(fā)表于 04-10 15:06

    【PYNQ-Z2申請】基于PYNQ-Z2平臺的圖像實時力學(xué)測量

    項目名稱:基于PYNQ-Z2平臺的圖像實時力學(xué)測量試用計劃:申請理由本人在圖像輔助力學(xué)測量領(lǐng)域有三年的研究經(jīng)驗,曾設(shè)計過類似基于光學(xué)及圖像的微納力學(xué)傳感器,想借助發(fā)燒友論壇和
    發(fā)表于 01-09 14:49

    Xilinx方案

    能做方案的,請聯(lián)系
    發(fā)表于 01-21 19:31

    什么是豐富目標(biāo)設(shè)計平臺?

    今年年初,率先在FPGA領(lǐng)域提出目標(biāo)設(shè)計平臺概念,旨在通過選用開放的標(biāo)準(zhǔn)、通用的開發(fā)流程以及類似的設(shè)計環(huán)境,減少通用工作對設(shè)計人員時間的占用,確保他們能集中精力從事創(chuàng)新性的開發(fā)工作。
    發(fā)表于 08-13 07:27

    為什么說已經(jīng)遠(yuǎn)遠(yuǎn)領(lǐng)先于Altera?

    Altera和20年來都在FPGA這個窄眾市場激烈的競爭者,然而Peter Larson基于對兩個公司現(xiàn)金流折現(xiàn)法的研究表明,
    發(fā)表于 09-02 06:04

    高價回收系列IC

    高價回收系列IC長期回收系列IC,高價求購
    發(fā)表于 04-06 18:07

    如何使用FPGA加速包處理?

    FAST包處理器的核心功能是什么如何使用FPGA加速包處理?
    發(fā)表于 04-30 06:32

    這顆是限制料還是翻新料?

    絲印查不到系列型號,引腳數(shù)量也對不上所有型號規(guī)格,也沒有韓國產(chǎn)地
    發(fā)表于 02-24 17:01

    收購深鑒科技_收購目的及發(fā)展

    本文首先介紹了,其次介紹了收購深鑒科技的過程以及目的,最后介紹了
    的頭像 發(fā)表于 07-18 11:19 ?4832次閱讀

    的目標(biāo)和發(fā)展

    公司亞太區(qū)銷售與市場副總裁楊飛表示,的SDx系列仍會持續(xù)發(fā)展。毫無疑問,這會幫助
    的頭像 發(fā)表于 07-24 17:58 ?3258次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b>的目標(biāo)和發(fā)展

    Alveo? U50面世

    支持第四代 PCIe首款輕量級加速卡,
    的頭像 發(fā)表于 08-13 14:24 ?3088次閱讀

    、Solarflare正式合并!

    今年四月公開宣布的 Solarflare 收購案已經(jīng)正式完成。
    的頭像 發(fā)表于 08-13 16:59 ?3865次閱讀