FPGA开发中Testben读取外部文件的方式

1. 文件读写的作用

为什么需要使用Verilog语言读取/写入文件呢,主要是由于我们有时候需要将数据准备和分析的工作从Testbench中隔离出来,便于协同工作,需要调试一些寄存器的值,就需要通过文本中获取数据,然后来调试Verilog程序;这些文本信息可以通过C/C++、Excel表格、Matlab等工具生成测试数据,在代码测试的时候有助于你分析你的程序逻辑是否正确。

2. Testbench文件包括哪些操作

(1)打开文件

系统函数$fopen用于打开一个文件,将文件和integer指针关联,语法如下:

integer file_point = $fopen(file_name);  这里的 file_name 是一个路径,文件名存储的路径,用双引号“”包括。

你可以使用相对路径也可以使用绝对路径,一般将文件放在工程testbench文件同一级的目录下,你只需要在双引号之中写入文件名即可。

(2)关闭文件

系统任务$fclose用于关闭一个文件,格式如下:

$fclose(file_point);

(3) 从文件中读取数据

从文件中读取数据有两类方法,第一类为$fscanf系统任务,第二类为$readmemb 和 $readmemh,上述两种任务都可以从文本文件中读取数据,并将数据加载到存储器,被读取的文件可以包含空白空间、注释、二进制(如$readmemb)或十六进制(如$readmemh)数字,每个数字用空白空间隔离

下面将一下两种类型的语法

【$fscanf】

integer file, count;

count = $fscanf(file, format, args);

【$readmemb 】

readmemb( "文件名", 存储器名, 起始地址,终止地址);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值