查看: 3411|回复: 0

【转】fpga硬件调试vivado——数据导出并用MATLAB存储

[复制链接]
  • TA的每日心情
    擦汗
    2014-2-12 10:49
  • 签到天数: 150 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2017-7-21 10:23:48 | 显示全部楼层 |阅读模式
    分享到:
    Vivado套件中的Debugger(类似ISE套件中的ChipScope)提供了在本地窗口中查看硬件实时数据的途径,但是无法导出类似ChipScope中的.prn这种文本数据格式,只能通过write_hw_ila_data命令导出csv或者vcd文件,vcd文件为通用波形文件,只能用来查看;所以只能通过csv文件解析数据。
         命令:write_hw_ila_data -force -csv_file test.csv
         csv文件的格式如下图,第一行为对象描述行,前面几列(下图中是3列)为采样序号以及触发说明,之后就是采样的数据,从图中可以看出所有数据都是以二进制格式存放的,而且是按10进制表示的(无论怎么调整波形图中数据格式出来的都是一样的)基本无法适用于常规的分析软件。

    161229114202eb3beed51c59d2.png.bmp
    鉴于此,只能先借用MATLAB强大的数据分析能力,先把数据解析出来。以waveform.csv文件为例进行解析,waveform.csv中的有效数据为第4列到第11列,有效数据是从左到右、从上至下排列的正弦波采样数据,16位有符号数(补码),采样点排列顺序为:
            E2->F2->G2....L2->E3->F3->G3….
            解析源码如下:
    1. <span style="font-weight: normal;"><font size="3">    clc;
    2.     clear;
    3.     close all;
    4.     fclose('all');
    5.     %% 设置CSV文件读取范围
    6.     srow = 1;       %起始行(行标从0开始);
    7.     scol = 4;       %起始列(列标从0开始);
    8.     erow = 2048;    %结束行(一般为采样深度);
    9.     ecol = 11;      %结束列;
    10.     %% 获取csv文件
    11.     [filename, pathname] = uigetfile('E:\pl_b3\trunk\tmp\mat\*.csv','读取数据');
    12.     csv_file  = [pathname filename];
    13.     %% 读取csv文件
    14.     csv_data = csvread(csv_file,srow,scol,[srow,scol,erow,ecol]);
    15.     %% 矩阵重排为一列
    16.     csv_data_resp = reshape(csv_data',[],1);
    17.     %% 矩阵转换为二进制文本
    18.     csv_data_str = num2str(csv_data_resp);
    19.     %% 矩阵转换为有16位有符号数
    20.     csv_data_sign = typecast(uint16(bin2dec(csv_data_str)), 'int16');
    21.     %% 有符号数写入文本文档
    22.     fid_w = fopen([pathname 'csv_convt.txt'],'w');
    23.     fprintf(fid_w,'%d\n',csv_data_sign);
    24.     fclose(fid_w);
    25. </font></span>
    复制代码
    解析结果如下,顺序存放的文本数据:

    1612291142f3862a8c1c411459.png.bmp


    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-29 08:18 , Processed in 0.129942 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.