Matlab生成txt文件导入到Vivado仿真

Matlab处理数据并将其写入txt文件

matlab 复制代码
%% Txt Generate
pre_RS_data=dec2bin(simDataIn,8);       %将数据转化为8bit的二进制
fid=fopen("F:\FPGA\Xilinx_vivado\project\dvbstestbench\dbvs\matlab\pre_RS_data.txt","wt");
for i=1:n*nMessages         %数据长度
    fprintf(fid,"%s\n",pre_RS_data(i,1:8));  %由于二进制数据为8位,因此是1:8
end
fclose(fid);

使用fopen函数获取文件id,fopen的语法如下

其中permisson为文件访问类型,有以下几种权限

'r' 打开要读取的文件。
'w' 打开或创建要写入的新文件。放弃现有内容(如果有)。
'a' 打开或创建要写入的新文件。追加数据到文件末尾。
'r+' 打开要读写的文件。
'w+' 打开或创建要读写的新文件。放弃现有内容(如果有)。
'a+' 打开或创建要读写的新文件。追加数据到文件末尾。
'A' 打开文件以追加(但不自动刷新)当前输出缓冲区。
'W' 打开文件以写入(但不自动刷新)当前输出缓冲区。

💡 要以文本模式打开的话,要附加't'

Vivado中testbench写法

verilog 复制代码
`timescale 1ns/1ps

module top_tb();

reg clk;
reg rst_n;
reg [7:0]SEQ_IN_0;
reg [7:0] data_mem[1:1020];
reg [31:0] i;
wire BIN_OUT;
wire ce_out;
wire locked;

//clk & rst_n gen
initial begin
    clk=1'b0;
    rst_n=1'b0;
    #100
    rst_n=1'b1;  
end
always #5 clk=~clk;

//data read
initial begin
    $readmemb("F:/FPGA/Xilinx_vivado/project/dvbstestbench/dbvs/matlab/pre_RS_data.txt",data_mem);
  
end

initial begin
    i=1;
    forever @(posedge clk) begin
        if(i<1020)  begin
            i=i+1;
        end
        else 
            i=1;
    end
    $display("%s",data_mem[i]);
end

always @(posedge clk) begin
    SEQ_IN_0<=data_mem[i];
end

top_wrapper top_wrapper_u0(
    .clk_0    (clk),
    .rst_n_0  (rst_n),
    .SEQ_IN_0(SEQ_IN_0),
    .BIN_OUT_0  (BIN_OUT),
    .ce_out_0   (ce_out),
    .locked_0   (locked)
);

endmodule

💡 直接在文件夹内部复制的文件路径是\,但是testbench中要将所有反斜杠改为/,否则无法读取txt文件

相关推荐
工业甲酰苯胺14 小时前
一文学习 Spring AOP 源码全过程
java·学习·spring
tiantianuser15 小时前
RDMA设计50: 如何验证网络嗅探功能?
网络·fpga开发·rdma·高速传输·cmac·roce v2
代码游侠15 小时前
STM32开发——基础外设
linux·运维·arm开发·stm32·单片机·嵌入式硬件·学习
2501_9181269115 小时前
stm32和dap调试器
stm32·单片机·嵌入式硬件·学习·个人开发
Lzy金壳bing15 小时前
基于Vivado平台对Xilinx-7K325t FPGA芯片进行程序在线更新升级
fpga开发·vivado·xilinx
GocNeverGiveUp15 小时前
大模型学习4-RAG检索增强生成
学习
你怎么知道我是队长15 小时前
前端学习---HTML---表单
前端·学习·html
cpsss068115 小时前
硬件学习笔记(personal)
笔记·学习
qq_4162764215 小时前
DeLoRes——一种通用的音频表征学习新方法(DeLoRes(基于 Barlow Twins 的冗余最小化方法)
学习·音视频
xhyu6115 小时前
【学习笔记】推荐系统 (6.排序:排序模型的特征、粗排的三塔模型)
笔记·学习