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

embedded/2024/9/24 2:48:49/

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

%% 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的语法如下

1714036628457.png

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

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

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

Vivado中testbench写法

`timescale 1ns/1psmodule 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 beginclk=1'b0;rst_n=1'b0;#100rst_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);endinitial begini=1;forever @(posedge clk) beginif(i<1020)  begini=i+1;endelse i=1;end$display("%s",data_mem[i]);
endalways @(posedge clk) beginSEQ_IN_0<=data_mem[i];
endtop_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文件


http://www.ppmy.cn/embedded/31763.html

相关文章

海外仓系统:为什么对小型海外仓企业尤为重要,该怎么看待wms系统

相对于大型海外仓企业来说&#xff0c;小型海外仓受到资金和规模的限制&#xff0c;在库存管理、订单处理能力上面临的问题尤其大。而这正是海外仓系统擅长的地方&#xff0c;现代的海外仓系统逐渐发展以云端部署方式为主&#xff0c;这也为小型海外仓企业提供了很多便利。 1、…

OpenCV特征检测

1. 特征检测的基本概念 特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息&#xff0c;决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点 分为不同的子集&#xff0c;这些子集往往属于孤立的点、连续的曲线或者连续的区域。 …

240503-关于Unity的二三事

240503-关于Unity的二三事 1 常用快捷键 快捷键描述CtrlP播放/停止Ctrl1打开Scene窗口Ctrl2打开Game窗口Ctrl3打开Inspect窗口Ctrl4打开Hierarchy窗口Ctrl5打开Project窗口Ctrl6打开Animation窗口 2 关联VisualStudio2022 3 节约时间&#xff1a;将最新声明的参数移动到最上…

acwing算法提高之基础算法--位运算、递推与递归

目录 1 介绍2 训练 1 介绍 本博客用来记录位运算、递推与递归相关的题目。 2 训练 题目1&#xff1a;第90题-64位整数乘法 C代码如下&#xff0c; #include <iostream> #include <cstring> #include <algorithm>using namespace std;typedef long long …

关于win平台c语言引入开源库的问题与解决

许久不写博客&#xff0c;五一还在加班&#xff0c;就浅浅写一篇吧 最近除了做物联网平台 还对网关二次开发程序做了修改&#xff0c;网关的二次开发去年年底的时候做过&#xff0c;但是当时的逻辑不是十分完善&#xff0c;差不多已经过了半年了&#xff0c;很多细节已经忘记了…

数仓技术选型

数仓技术选型 考虑因素 考虑因素 数据量大小&#xff0c;业务需求&#xff0c;行业内经验&#xff0c;技术成熟度&#xff0c;开发维护成本&#xff0c;学习成本&#xff0c;总成本预算。 数据存储&#xff1a;MySQl&#xff0c;HDFS&#xff0c;HBase&#xff0c;Redis&#…

Golang | Leetcode Golang题解之第56题合并区间

题目&#xff1a; 题解&#xff1a; func merge(intervals [][]int) (ans [][]int) {sort.Slice(intervals, func(i, j int) bool { return intervals[i][0] < intervals[j][0] })ans append(ans, intervals[0])for _, e : range intervals[1:] {if ans[len(ans)-1][1] &l…

AI代理架构的发展:从单一到多代理系统的演进及其影响分析

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…