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

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

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

使用Python提取ILA數(shù)據(jù)的流程

OpenFPGA ? 來源:OpenFPGA ? 2024-05-01 10:43 ? 次閱讀

ILA應(yīng)該是調(diào)試AMD-Xilinx FPGA最常用的IP。

20e92de0-01e1-11ef-a297-92fbcf53809c.png

在調(diào)試中,我們希望 ILA 中的波形可以提供有關(guān)設(shè)計問題的所有信息,但情況并非如此。對于復(fù)雜的調(diào)試,我們還需要將 ILA 捕獲的真實數(shù)據(jù)存儲到可以進一步處理的文件中。根據(jù)放置 ILA 的位置,我們可以通過不同的方式使用文件中包含的信息。

ILA 監(jiān)視輸出數(shù)據(jù) – 可用于驗證實例化的模型的正確性。

ILA 監(jiān)視輸入數(shù)據(jù) – 可用于將數(shù)據(jù)輸入到測試臺模塊中,嘗試不同數(shù)據(jù)對測試平臺的影響。當(dāng)然,在這種情況下也可以復(fù)制硬件中觀察到的信號時序。

這兩種方法在我們的開發(fā)、驗證和驗證中都非常強大。在使用 ILA 時,我們更熟悉波形視圖,但是,我們可以使用以下命令輕松地將 ILA 信息保存為 CVS 文件。

write_hw_ila_dataila_file.csv[upload_hw_ila_datahw_ila_1]-csv

這將 CSV 文件保存到 Vivado 的當(dāng)前工作目錄中(如果不確定,請在 tcl 窗口中運行 pwd 命令來確定)。

我們還可以使用“文件”->“導(dǎo)出”->“導(dǎo)出 ILA 數(shù)據(jù)”來保存 ILA 數(shù)據(jù)。將打開一個對話框,詢問要導(dǎo)出哪個 ILA、導(dǎo)出數(shù)據(jù)的位置以及數(shù)據(jù)格式。

21030878-01e1-11ef-a297-92fbcf53809c.png

我們使用一個簡單的 LFSR 實例進行演示,可以在 Vivado 中打開 ILA 并導(dǎo)出 CSV。

211670f2-01e1-11ef-a297-92fbcf53809c.png

通過查看 ILA CSV 數(shù)據(jù),第一列顯示緩沖區(qū)中的樣本,第二列顯示窗口中的樣本。

無論是否在觸發(fā)中配置窗口,樣本緩沖區(qū)都會按順序?qū)彌_區(qū)中的每個樣本進行計數(shù)。窗口中的第二個樣本計數(shù)將從 0 計數(shù)到窗口大小。

例如,如果我們?yōu)?4 個窗口配置了 1024 個樣本緩沖區(qū),則窗口計數(shù)中的樣本將在 0 到 255 之間計數(shù)四次,而緩沖區(qū)計數(shù)中的樣本從 0 線性遞增到 1023。

第三個要素是觸發(fā)器。該值設(shè)置為 1 指示采樣窗口中何時發(fā)生觸發(fā)??梢栽谙旅娴拇翱谥锌吹?,當(dāng)看到觸發(fā)值時,該窗口在第三列中顯示 1(在本例中為 0x00 為 LFSR 序列的開始)。

21262542-01e1-11ef-a297-92fbcf53809c.png

我們將 LFSR 序列寫到一個文本文件中,可以使用一點 Python 將文本文件的結(jié)果與 ILA CSV 進行比較。

importcsv
csv_file='iladata_trig.csv'
text_file='fibonacci.txt'

withopen(csv_file,newline='')ascsvfile:
reader=csv.reader(csvfile)
#SkipthetoptworowsoftheCSVFile
next(reader)
next(reader)

Fibonacci_hw_values=[]
#StoreFibonacciSequence
fori,rowinenumerate(reader):
ifi

在Python中,我們可以打開這兩個文件并將它們讀入Python列表中;一個來自測試臺文本文件,另一個來自 CSV 文件。初步結(jié)果如下。

21333b24-01e1-11ef-a297-92fbcf53809c.png

運行 Python 腳本展示了我們?nèi)绾问褂?Python CSV 包處理來自 ILA 的數(shù)據(jù)。如果我們想提取一列數(shù)據(jù)并生成一個文本文件,也很簡單。如下:

214451f2-01e1-11ef-a297-92fbcf53809c.png

注意:如果使用 Versal 設(shè)備,我們可以使用一個名為 ChipScoPy 的 Python 接口來控制 Versal ILA。


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

    關(guān)注

    1629

    文章

    21744

    瀏覽量

    603653
  • 數(shù)據(jù)存儲
    +關(guān)注

    關(guān)注

    5

    文章

    975

    瀏覽量

    50922
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2000

    瀏覽量

    61169
  • LFSR
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    12747
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84727

原文標(biāo)題:【Vivado那些事兒】使用 Python 提取 ILA 數(shù)據(jù)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何實現(xiàn)ILA Cross Trigger

    ILA Cross Triggering功能使得ILA核心之間、以及ILA核心與處理器(例如,AMD Zynq 7000 SoC)之間可以進行Cross Trigger。這個功能在你需要在不同時鐘域的兩個
    的頭像 發(fā)表于 11-30 10:17 ?1334次閱讀
    如何實現(xiàn)<b class='flag-5'>ILA</b> Cross Trigger

    是否可以僅將捕獲的數(shù)據(jù)ILA保存到文件中?

    大家好我試圖只將從ILA捕獲的數(shù)據(jù)保存到特定文件中。我從xilinx網(wǎng)站上找到的是write_hw_ila_data命令但是,當(dāng)我打開捕獲的數(shù)據(jù)時(.
    發(fā)表于 04-16 07:40

    ILA數(shù)據(jù)和波形的關(guān)系

    ILA簡介添加ILAILA數(shù)據(jù)和波形的關(guān)系
    發(fā)表于 02-22 06:24

    Python中的流程控制

    流程控制無非就是if else之類的控制語句,今天我們來看一下Python中的流程控制會有什么不太一樣的地方。
    發(fā)表于 06-28 08:54

    python基礎(chǔ)語法及流程控制

    爬蟲復(fù)習(xí)1.python基礎(chǔ)python基礎(chǔ)語法 流程控制 函數(shù)封裝2.防爬措施整體防爬User-AgentrefererIP代理池Cookie代理池 各自防爬數(shù)據(jù)內(nèi)部動態(tài)加載網(wǎng)頁設(shè)置
    發(fā)表于 08-31 07:41

    什么是Python中的流程控制?

    什么是Python中的流程控制?
    發(fā)表于 10-09 07:24

    什么是D-ILA投影技術(shù)

    什么是D-ILA投影技術(shù) D-ILA(Direct-Drive Image Light Amplifier,直接驅(qū)動圖像光源放大器)技術(shù)。D-ILA技術(shù)在提供高分辨率和高對比度方面顯示了技術(shù)優(yōu)勢,
    發(fā)表于 02-05 10:42 ?720次閱讀

    如何從HTML或XML文件中提取數(shù)據(jù)Python爬蟲庫Beautiful Soup概述

    Beautiful Soup是一個可以從HTML或XML文件中提取數(shù)據(jù)Python庫,簡單來說,它能將HTML的標(biāo)簽文件解析成樹形結(jié)構(gòu),然后方便地獲取到指定標(biāo)簽的對應(yīng)屬性。
    的頭像 發(fā)表于 07-29 09:56 ?2.6w次閱讀

    ILA工作原理 ILA使用方法與注意

    不一致,從而出現(xiàn)Bug。一種debug的方式就是用FPGA工具提供的ILA模塊(xilixn在ISE中叫:chipscope),來實時抓取FPGA內(nèi)部數(shù)字信號的波形,分析邏輯錯誤的原因,幫助debug。 ILA
    的頭像 發(fā)表于 08-09 14:12 ?1.7w次閱讀
    <b class='flag-5'>ILA</b>工作原理 <b class='flag-5'>ILA</b>使用方法與注意

    如何使用OpenCV和Python從圖像中提取感興趣區(qū)域

    今天我們將一起探究如何使用OpenCV和Python從圖像中提取感興趣區(qū)域(ROI)。 在之間的文章中,我們完成了圖像邊緣提取,例如從臺球桌中提取桌邊。使用了簡單的OpenC
    的頭像 發(fā)表于 02-07 14:42 ?1851次閱讀

    Python的PDF表格提取器-Camelot

    Python 第三方模塊 Camelot 能夠精準識別PDF中的表格信息,并提取為pandas數(shù)據(jù)結(jié)構(gòu),而且還能導(dǎo)出為多種格式:JSON,Excel,HTML和Sqlite。
    的頭像 發(fā)表于 02-24 11:04 ?2205次閱讀
    <b class='flag-5'>Python</b>的PDF表格<b class='flag-5'>提取</b>器-Camelot

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

    現(xiàn)在,您不僅可以使用 Python 腳本執(zhí)行調(diào)試分析,更重要的是,借由 Vivado ILA 所生成的 ILA 文件可以進一步簡化此操作。通過將 *.ila 擴展名重命名為 *.zip
    的頭像 發(fā)表于 06-26 09:20 ?1325次閱讀
    如何使用<b class='flag-5'>Python</b>腳本調(diào)試賽靈思PCIe設(shè)計?

    Camelot:Python超強大的PDF表格提取

    如果你有從PDF中批量提取表格的需求,那么這篇文章就是你的福音。 Python 第三方模塊 Camelot 能夠精準識別PDF中的表格信息,并提取為pandas數(shù)據(jù)結(jié)構(gòu),而且還能導(dǎo)出為
    的頭像 發(fā)表于 10-21 10:57 ?1539次閱讀
    Camelot:<b class='flag-5'>Python</b>超強大的PDF表格<b class='flag-5'>提取</b>器

    Newspaper:用于提取和整理文章的python

    提取關(guān)鍵字 自動提取摘要 自動提取作者 自動提取 Google 趨勢詞 下面是這個開源模塊的安裝和使用教程。 1.準備 開始之前,你要確保Pyth
    的頭像 發(fā)表于 10-30 14:24 ?765次閱讀

    python如何遍歷列表并提取

    遍歷列表是Python中非常常見的操作之一,可以使用for循環(huán)或者while循環(huán)來實現(xiàn)。下面我將詳細介紹如何使用for循環(huán)遍歷列表并提取元素。 首先,讓我們簡單了解一下Python中的列表。列表
    的頭像 發(fā)表于 11-23 15:55 ?1409次閱讀