FPGA和matlab读写txt文件

您所在的位置:网站首页 txt数据怎么导入matlab FPGA和matlab读写txt文件

FPGA和matlab读写txt文件

2024-07-12 12:20| 来源: 网络整理| 查看: 265

目录 说明matlab读写txt数据matlab读txtmatlab写txt数据量化数据写入 FPGA读写txt数据FPGA读txtFPGA写txt FPGA的coe文件

说明

博主一般用matlab和VIVADO进行开发,常常碰到二者需要读写数据的问题,因此对matlab和FPGA读写数据做一个总结,主要是为了方便自己查阅,减少不必要的时间浪费,同时和大家做一个分享。

matlab读写txt数据 matlab读txt fid=fopen('data.txt','r'); data=fscanf(fid,'%d',[1 Inf]); fclose(fid);

先创建一个句柄fid,然后再使用fscanf函数读取txt的数据。注意txt文件需在matlab当前文件夹下,否则需写文件路径。%d代表格式为有符号整数。

matlab写txt 数据量化

首先是数据量化,因为本文着眼于matlab和FPGA的联合使用,FPGA能读取的txt数据一般是二进制的,需要先完成数据量化。

data_txt=zeros(1,length); data_txt=string(data_txt); for ii=1:length if(data(ii)>=0) real_txt(ii)=dec2bin(ceil(data(ii)*2^a),data_width); else real_txt(ii)=dec2bin(2^data_width-ceil(-data(ii)*2^a),data_width); end end

要先创建一个数组data_txt,并将其转换为string格式。然后完成数据量化,data_width是量化宽度,a是缩放的位数,a取决于需要量化的定点数的数据格式(小数位的个数),然后用dec2bin转化为二进制数。 如0.707量化为8位定点数,1位符号位,1位整数位,6位小数位,则量化结果为: 在这里插入图片描述 -0.707,量化结果为: 在这里插入图片描述

数据写入

然后写入的方式与读数据类似:

fid=fopen('data.txt','w'); fprintf(fid,'%s\r\n',data_txt); fclose(fid);

先创建一个句柄fid,然后再使用fprintf函数读取txt的数据。%s表示输出字符串,\r是回车符,\n是换行符。

FPGA读写txt数据 FPGA读txt

这在testbench撰写时非常实用,testbench文件除了需要写时钟信号和复位信号之外,常需要读取文件作为输入数据的模拟,比较常见的方法是读取txt文件。

integer i; reg [width-1:0] data; reg [width-1:0] data_reg [1:length]; initial begin #200 $readmemb("data.txt", data_reg ); i = 0; repeat(length) begin i = i + 1; data = data_reg [i]; #clk_period; end end

使用“$ readmemb”将txt的数据读取到data_reg中,data_reg的数据宽度是width,深度是length,然后在每个时钟周期,读取data_reg的数据到data中。 “$ readmemb”若不写文件路径,则txt文件需与testbench在一个文件夹下,写文件路径的话需把文件路径的“\”改为“/”。 代码里的#200可以根据开发需要自行修改,代表延迟200个ns,这边和复位信号的拉高保持同步(testbench中复位信号低电平有效,在200ns拉高)。

FPGA写txt integer file; initial begin file = $fopen("data.txt"); end wire clk; assign clk=sys_clk&sys_rst_n; always @ (posedge clk) $fdisplay(file, "%d", data); FPGA的coe文件

在FPGA开发中,RAM或ROM的初始化文件、FIR滤波器的系数等需要读取coe文件,coe文件生成也很方便,一般是matlab输出二进制txt文件,然后在txt文件的开始处加入这两句代码,再把文件后缀名从txt改成coe即可:

memory_initialization_radix=2; memory_initialization_vector=


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3