FPGA杂记7——Testbench操作

本文介绍使用Verilog语言进行文件的打开、关闭、写入及读取操作的方法。重点讲解了$fopen、$fclose、$fwrite及$readmemb等函数的应用,并通过一个具体的格雷码转换示例展示了如何在testbench中实现文件操作。

Testbench的文本文件写入操作

文件打开$fopen

  • 功能:用于打开指定文件名的文件并返回一个32位的多通道描述符或者32位文件描述符,取决于 文件操作类型 的设置(包括"r"、“w”、“a”、“r+”、“w+”、"a+"等读、写等操作类型),虽然会创建 .txt 文件但不会创建文件夹,所以要在相应目录下提前创建对应的文件夹
  • 语法结构:有以下两种
    • 指定文件类型integer 文件描述符 = $fopen("打开相应.txt文件的路径包括.txt","文件操作类型");
    • 不指定文件类型integer 多通道描述符 = $fopen("打开相应.txt文件的路径包括.txt");

两者区别在于不指定文件操作类型时,文件打开后处于写入状态并且返回一个32位的多通道描述符,此时最多能同时打开31个文件进行操作,而在指定的路径下则没有该限制

文件关闭$fclose

  • 语法结构:$fclose(文件描述符或者多通道描述符);

文件写入$fwrite

  • 功能:用于向指定文件写入数据,写入后不自动换行(注意需要的情况下加换行符)
  • 语法结构:$fwrite(文件描述符或者多通道描述符,字符串或数据格式,寄存器等);

实例

以前面杂记5中的格雷码转换快速算法为前提,我们需要把输出的数据保存在一个txt文件中,具体代码写在testbench中(前面省略):

...
////////////////////////////////////////////////////////////
//测试激励产生
initial begin
	i_en <= 'b0;
	i_data <
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值