vivado读写文件

这篇具有很好参考价值的文章主要介绍了vivado读写文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在平时对代码进行仿真的过程中经常会需要对数据进行处理,特别是对信号处理方面的内容来说很多数据在FPGA中并不能够直接的观察到需要导出后另外处理观察。所以在仿真中添加对文件的读写有利于解决问题。

1:读文件

reg	[4:0]	din;

parameter		data_length=199; //读取长度

integer i;   //数组坐标
reg [4:0] rd_dat [data_length:0];  

initial 
begin
    $readmemh("C:/FPGA/csdn/gongcheng/vivado/pro_18_3_wr_file/wr_file/data0_rd.txt", rd_dat);  //将txt文件中的数据存储在数组中  readmemh(按16进制读取) readmemb(按2进制读取)
    i = 0;
    repeat(data_length) begin   
        din = rd_dat[i];
		i = i + 1;		
        #20;         //读取间隔时间
    end
end    

        读文件需要先定义一个数组,数组宽度是需要读取数据的最大宽度,数组的长度是需要读取数据的长度,通过$readmemh或者是$readmemb来将文件中的数据存储到定义的数组中,他们的区别在于前者是读取16进制文件,后者是读取2进制文件。

2:写文件

wire data_vld0;

reg [15:0] data_gain_cnt=0;


assign data_vld0=w_file_vld;

integer   fid_data0;


initial begin
	#10;
	
	fid_data0 = $fopen("C:/FPGA/csdn/gongcheng/vivado/pro_18_3_wr_file/wr_file.txt");


	#5000000
	$fclose(fid_data0);
end

always @(posedge clk)
begin
	if((data_vld0 == 1'b1) && data_gain_cnt<3100)
		begin
			if(data_gain_cnt<100)
			data_gain_cnt<=data_gain_cnt+1;
			else if(data_gain_cnt<3100)
			begin
			$fdisplay(fid_data0,"%d %d",$signed(w_file_data_1),$signed(w_file_data_2));
			data_gain_cnt<=data_gain_cnt+1;
			end
		end

end

        这里的写文件将信号的有效信号也引进来方便控制,用integer定义文件参数,用$fopen打开指定路径的文件,$fclose是关闭对应文件。$fdisplay是写对应的文件。

        在仿真文件中如果想要引用调用的模块中的寄存器,可以通过如下方式引用:

                                                            模块名.需要引用的寄存器变量文章来源地址https://www.toymoban.com/news/detail-755688.html

到了这里,关于vivado读写文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • go 读写 excel 读取 txt 繁体中文转码

    读取txt,繁体中文转码 写 excel 参考 https://zhuanlan.zhihu.com/p/33417413

    2024年02月13日
    浏览(34)
  • 【实用技巧】将本地csv文件导入到hive中

    step1:在hive中创建表test01,并使用命令\\\"show create table 表名\\\",得到该表存放的hdfs文件路径(数据入库时需要用到) step2:使用vim创建文件a.csv,并存入数据。例如: step3:进入HDFS下的hadoop下的bin目录,并将a.csv文件放在该目录下 step4:执行命令 命令格式:./hdfs dfs -put  数据存放

    2024年02月12日
    浏览(41)
  • 内外网文件交换系统实用技巧揭秘:安全、效率、便捷一个不少

    内外网文件交换系统是一种专门设计用于在企业内部网络(内网)与外部网络(外网)之间安全传输文件的技术解决方案。在企业环境中,出于安全考虑,内部网络通常与外部网络隔离,以防止未经授权的访问和潜在的网络攻击。然而,这种隔离也意味着内部网络中的员工和

    2024年02月02日
    浏览(40)
  • 技术分享:PHP读取TXT文本内容的五种实用方法

    在Web开发中,我们经常需要读取和处理文本文件。PHP作为一种流行的服务器端脚本语言,提供了多种方法来读取TXT文本内容。本文将介绍五种不同的PHP教程,帮助您学习如何使用PHP读取TXT文本内容。PHP读取文件内容在实际开发当中,还是比较常见的,所以今天我就给大家分享

    2024年01月18日
    浏览(45)
  • 【实用技巧】更改ArduinoIDE默认库文件位置,解放系统盘,将Arduino15中的库文件移动到其他磁盘

    本文主要介绍更改Arduino IDE (含2.0以上版本)默认库文件位置的方法。  原创文章,转载请注明出处: 【实用技巧】更改ArduinoIDE默认库文件位置,解放C盘,将Arduino15中的库文件移动到其他磁盘-CSDN博客 文章浏览阅读185次。本文主要介绍更改Arduino IDE (含2.0以上版本)默认库

    2024年02月03日
    浏览(66)
  • linux实用技巧:ubuntu18.04安装samba服务器实现局域网文件共享

    主要是这一句 原文链接:https://blog.csdn.net/u010037542/article/details/108579650 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之

    2024年01月25日
    浏览(65)
  • Android开发创建txt文件并读写txt文件数据

    在Android开发过程中,经常会遇到需要创建txt文件并写入数据的情况。今天我们来介绍一下如何实现这样的功能。 代码中的mStrPath为txt文件存储的路径,根据个人的需求确定路径,此处以 根目录,并命名为transcript.txt 为例,即 1. 读出txt文件的数据 3. 写入txt数据 [注]: ①当F

    2024年02月12日
    浏览(48)
  • 【Python 文件读写】— txt文件

    目录 一、文件读写模式 二、读文件 1、所用函数 2、示例 三、写文件 1、所用函数 2、示例 四、另一种书写形式 1、读文件 2、写文件 模式 具体信息 r 文件只读,若文件不存在则报错 r+ 文件可读可写,若文件不存在则报错,写入时会覆盖原有内容 rb 文件只读(二进制形式),若

    2024年02月12日
    浏览(62)
  • C# 读写TXT文件

    首先引入命名空间 using System.IO; 读TXT文件: 写TXT文件:

    2024年02月08日
    浏览(39)
  • Java读写txt文件

    如果想直接输出,将代码 strList.add(line); 换成 System.out.println(line); 就行。 方法加个返回值,可方便后续对内容的操作 调用 需要引入maven包 调用 方法中可以换成传字符串,那整个for循环就能替换成 info.write(str); 调用时就像下面这样

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包