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 <

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

被折叠的 条评论
为什么被折叠?



