vivado仿真 文件读取和写入

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

vivado仿真 文件读取和写入

读取文件

首先创建一个TXT文件。

vivado仿真 文件读取和写入

$readmemb和$readmemh用来从文件中读取数据到存储器中。其中readmemb要求每个数字是二进制数,readmemh要求每个数字必须是十六进制数字。数字不能包含位宽说明,数字中可以有不定值x或X,高阻值z或Z,和下划线(_),和Verilog语法中的用法是一样的。

一共有下边6种用法:
(1)$readmemb("<数据文件名>",<存储器名>);
(2)$readmemb("<数据文件名>",<存储器名>,<起始地址>);
(3)$readmemb("<数据文件名>",<存储器名>,<起始地址>,<终止地址>);
(4)$readmemh("<数据文件名>",<存储器名>);
(5)$readmemh("<数据文件名>",<存储器名>,<起始地址>);
(6)$readmemh("<数据文件名>",<存储器名>,<起始地址>,<终止地址>);

写入文件

写入文件的操作与C语言类似,首先打开文件,写入数据之后关闭文件。

outputfile = $fopen("file2.txt","w");打开文件

$fwrite(outputfile,"%b\n",memory);写入数据

$fclose(outputfile);关闭文件

注意:

在写入数据的时候,写入的数据不能是一个数组,必须是单个的数字,因此想写入数组的时候必须要循环单个写入数据,写入数据的数据格式可以是2进制10进制16进制,方式与C语言类似,%控制写入的类型。

仿真

`timescale 1ns / 1ps
module tb_file (
	
);
reg[3:0] memory[0:7];//申请八个四位的存储单元
reg[4:0] n;
integer outputfile;
initial
begin
	$readmemb("E:/file1.txt",memory); //读取file1.txt中的数字到memory
	for(n=0;n<=7;n=n+1)   //把八个存储单元的数字都读取出来,
		$display("%b",memory[n]);


	outputfile = $fopen("file2.txt","w");
	for(n=0;n<=7;n=n+1)   
		$fwrite(outputfile,"%b\n",memory[n]);
	$fclose(outputfile);
	

end

endmodule

运行结果如下:

vivado仿真 文件读取和写入

在tcl窗口中会打印出数据。

在仿真的文件夹中会出现刚刚写入数据的文件,文件不需要提前创建,如果程序发现没有用到的文件,会自动创建。

vivado仿真 文件读取和写入

可以看到数据已经成功写入到文件中。

vivado仿真 文件读取和写入文章来源地址https://www.toymoban.com/news/detail-513605.html

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

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

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

相关文章

  • Java 按行读取写入文件

    目录 一、按行读取 二、按行写入 这里采用java.nio.file.Files:readAllLines方法,参见JDK8 API官方文档 Java Platform SE 8  具体实现Demo: 这里采用FileWriter与BufferWriter方法 FileWriter: 用于写入字符流。对于写入原始字节的流,可以考虑使用FileOutputStream。 BufferWriter:  将文本写入字符输出流

    2024年02月15日
    浏览(45)
  • uniapp安卓本地写入读取文件

    在需要使用的地方引入该文件。

    2024年02月12日
    浏览(39)
  • qt xml文件写入读取

    ****************************************************************************** QT       += core gui xml ****************************************************************************** #include \\\"mainwindow.h\\\" #include QDomDocument #include QTextStream #include QFile #include QDebug MainWindow::MainWindow(QWidget *parent)     : QMainWindow(parent) {    

    2024年02月09日
    浏览(41)
  • Python操作写入/读取csv文件

    网络工程师Python数据存储(第1节,CSV文件) 网络自动化运维演进的一个方向大致过程:网络工程师从关注配置制作脚本,完成后上设备刷配置,慢慢地演化为网络工程师关注和确定设备配置的某些重要控制参数,而把制作脚本任务交给Jinja2等去渲染生成,把下发脚本工作交

    2024年02月03日
    浏览(65)
  • 【C# 基础精讲】文件读取和写入

    文件读取和写入是计算机程序中常见的操作,用于从文件中读取数据或将数据写入文件。在C#中,使用 System.IO 命名空间中的类来进行文件读写操作。本文将详细介绍如何在C#中进行文件读取和写入,包括读取文本文件、写入文本文件、读取二进制文件和写入二进制文件等操作

    2024年02月11日
    浏览(52)
  • Python08--文件读取及写入操作

    有些时候我们在处理数据之后就会想将我们的数据保存到文件中,实现数据的持久化。而不仅仅是输出到我们的集成开发环境的控制台上(直接打印在控制台上并不能够实现保存我们数据的功能,只要我们的集成开发环境已关闭,或者是电脑关机,那么我们打印出来的数据也

    2024年02月05日
    浏览(96)
  • Python读取和写入yaml文件

    yaml是专门用来写配置文件的语言,简洁强大,远比JSON格式方便,yaml在python语言中有PyYAML安装包。 我这边应用场景是用来做接口自动化时,接口返回的值写入到yaml文件,然后需要用的时候直接引用即可。不如登录接口,我需获取接口返回的token,下一个接口访问时需要携带

    2024年02月11日
    浏览(48)
  • Go 自学:文件的写入和读取

    首先,使用os.Create()函数建立一个文件。 接着,使用io.WriteString()函数将内容写入文件。 最后,使用os.ReadFile()函数读取文件内容。 注意,这里读取的文件内容是data byte,我们需要使用string()函数将其转换为字符串。 输出为: length is: 27 Text data inside the file is This needs to go in a

    2024年02月11日
    浏览(41)
  • 【音频】python读取写入wav文件

    使用librosa库: librosa.load(文件路径,采样率sampling rate) 直接用librosa的函数 librosa.output.write_wav(\\\'output.wav\\\', y, sr) 会报错: \\\"AttributeError: module \\\'librosa\\\' has no attribute \\\'output\\\'\\\" 。 这是因为librosa库在0.8.0版本后把这个函数删掉了,我们可以用soundfile库的soundfile.write()函数达到同样的目的

    2024年02月03日
    浏览(43)
  • mac文件夹无法写入 mac只能读取不能写入怎么解

    mac用户在使用外接硬盘或U盘时,有时会遇到一个问题:mac文件夹无法写入(只能读取不能写入),这种情况很让人头疼,因为无法对文件进行修改、删除或复制等操作。那么,mac文件夹无法写入的原因是什么?mac只能读取不能写入的问题又该如何解决呢? 一、mac文件夹无法

    2024年02月04日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包