前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >导出ILA数据到Python

导出ILA数据到Python

作者头像
猫叔Rex
发布2022-01-24 13:47:31
7750
发布2022-01-24 13:47:31
举报
文章被收录于专栏:科学计算科学计算
  1. 导出ILA数据

在空白处右键,选择Export ILA Data

导出csv格式的文件,并选择文件路径和文件名:

上面两步也可以使用tcl脚本代替:

代码语言:javascript
复制
write_hw_ila_data -csv_file {C:\usr\zhj\ila\iladata.csv} hw_ila_data_1

导出后的文件如下图所示,第一行是标题,有Sample in Buffer、Sample in Window、TRIGGER,后面就是我们采的信号的名称,但这个信号名称是包含例化的层级结构名字的。

  1. 处理十进制数据

  如果我们在hw_ila的窗口中设置显示的数据格式为10进制,那么我们直接读取数据并绘图显示都是比较方便的:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

csv_name = r'davinci.csv'
csv_data = pd.read_csv(csv_name)
adc_data = np.array(csv_data['hs_adc_dac_module_top_inst/hs_adc_dac_module_core_inst/dbg_adc_data[7:0]'])
plt.figure()
plt.plot(adc_data)
plt.show()
  1. 处理十六进制数据

  如果我们保存的是16进制数据,那读进来后,是16进制的字符串序列,如下图的data_hex,我们只需将该序列转成int型的序列即可。

通过如下方式进行转换:

代码语言:javascript
复制
data_hex = np.array(csv_data['hs_adc_dac_module_top_inst/hs_adc_dac_module_core_inst/inst_adc/m_axis_data_tdata[15:0]'])
data_int = list(map(lambda x:int(x, 16), data_hex))
  1. 处理二进制数据

  二进制跟十六进制的处理方式基本相同,

代码语言:javascript
复制
data_bin = np.array(csv_data['hs_adc_dac_module_top_inst/hs_adc_dac_module_core_inst/inst_adc/m_axis_data_tdata[15:0]'])
data_int = list(map(lambda x:int(x, 2), data_bin))
  1. 并行数据分离

  在FPGA中,我们经常需要处理一些并行数据,比如ADC采样率比较高时,数据往往是以并行的方式呈现,在debug时也将他们一起加入到ila中。

  假设FPGA内部数据以32路并行的方式进行传输,adc的量化位数为14bit,那么整个数据位宽是32*14=448,那么存储的文件内容如下:

我们需要做的,就是将448bit数据,拆分成32个14bit数据,并将这些数据拼接成一个序列,绘图显示。

代码语言:javascript
复制
adc_data_448 = np.array(csv_data['adc_inst/phy_data[447:0]'])
lst = np.array([])
for dat1 in adc_data_448:
    dat2 = '{0:0448b}'.format(int(dat1,16)) #将16进制数据转成448bit的二进制
    for i in range(32):
        tmp = int(dat2[0+i*14:14+i*14],2)
        if tmp > 8192:
            tmp = tmp - 16384
        lst = np.append(lst, tmp)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 傅里叶的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档