verilog从txt中读取_Verilog中文件输入与输出任务实例解析

本文详细解析了如何在Verilog中进行文件操作,包括文件的打开和关闭,数据的读取和写入。通过实例展示了$readmemb和$readmemh任务用于从txt文件读取二进制和十六进制数据,并将数据存储到内存单元中,同时展示了文件内容的控制台输出和文件写入。
摘要由CSDN通过智能技术生成

1.文件打开和关闭:首先定义integer指针,然后调用$fopen(file_name,mode)任务,不需要文件时,调用$fopen(file_name)

常用mode包括

“w"打开文件并从文件头开始写,如果不存在就创建文件。

“w+"打开文件并从文件头开始读写,如果不存在就创建文件

"a"打开文件并从文件末尾开始写,如果不存在就创建文件

“a+"打开文件并从文件末尾开始读写,如果不存在就创建文件

2.输出到文件:显示任务前加f,调用格式:

$fdisplay(文件指针,"显示内容",显示变量),再如$fmonitor(…)

除了多一个文件指针外,其他与在控制台输出的任务是用方法一致。

3.从文件读取:3个任务

$readmemb("文件名",存储单元,文件中要存入存储单元的起始地址,文件中要存入存储单元的终了地址)

其中文本文件可以包含空格,换行,制表符、注释、二进制,下面例子中,在工程文件夹目录下,有一个meomoryb.txt的文本文件,文件内容如下:

10101101 00011101 01101111 01100001

00000001 11111110 11111111 11101110

这个文件就符合要求,可以通过$readmemb读取。10101101第一个数据地址为0,向后以此类推。

另外一个系统任务$readmemh与$readmemb区别就是识别十六进制,下面例子中,在工程文件夹目录下,有一个meomo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值