Verilog提供了很多对文件操作的系统任务和函数,例如打开关闭文件、向文件写入值、从文件读出值等等。
当我们使用这些文件操作时,需要注意文件属性和变量内容,选择正确的系统任务,提供相关参数,以避免一些不必要的错误。这里主要介绍关于文件打开/关闭、文件写入和文件读出相关的操作。
文件打开/关闭
文件打开 | a=$fopen("file.txt","w") | 打开file.txt文件,a为返回32bit文件描述符 |
文件关闭 | $fclose(a) | 关闭a描述的对应文件 |
文件写入
$fdisplay | 按顺序或条件写,自动换行 |
$fwrite | 按顺序或条件写,不自动换行 |
$fstrobe | 语句执行完毕后选通写文件 |
$fmonitor | 只要有数据变换就写文件 |
文件读出
$fgetc | 按字符读文件 |
$fgets | 按行读文件 |
$fscanf | 按格式读文件 |
$fread | 按二进制读文件 |
除此之外,还有两个常用的系统任务$readmemb和$readmemh,用于从文件中读取数据到存储器中。读取的内容只包括:空白位置(空格、换行、制表格(tab和form-feeds),注释行、二进制或十六进制的数字。
假设file.txt文件中的数据为
12345678
5a5a5a5a
deadbeef
87654321
本文主要介绍常用的文件操作系统任务,其余没介绍的大家可以按需学习。
审核编辑:汤梓红
-
Verilog
+关注
关注
28文章
1352浏览量
110511 -
函数
+关注
关注
3文章
4350浏览量
63051 -
文件操作
+关注
关注
0文章
7浏览量
5371
原文标题:Verilog中关于文件操作的系统任务
文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
关于verilog中的生成块和任务
可以在硬件(Verilog)中更轻松地完成此任务吗?
【资料】RT-Threa操作系统中任务的概念及实现任务所用到的数据结构
ISE中的Verilog Test Fixture类型的.v文件为啥在Implementation中显示?如何修改?
![ISE<b class='flag-5'>中</b>的<b class='flag-5'>Verilog</b> Test Fixture类型的.v<b class='flag-5'>文件</b>为啥在Implementation<b class='flag-5'>中</b>显示?如何修改?](https://file1.elecfans.com//web2/M00/A6/AA/wKgZomUMP3-ATSJJAAASWOGNaiE651.jpg)
如何使用Icarus Verilog+GTKWave来进行verilog文件的编译和仿真
![如何使用Icarus <b class='flag-5'>Verilog</b>+GTKWave来进行<b class='flag-5'>verilog</b><b class='flag-5'>文件</b>的编译和仿真](https://file.elecfans.com/web2/M00/0C/09/poYBAGD_X16AZ72RAAAYDjK7x2s315.png)
FPGA中如何使用Verilog处理图像
UCOSIII操作系统学习笔记——任务
![UCOSIII<b class='flag-5'>操作系统</b>学习笔记——<b class='flag-5'>任务</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Verilog数字系统设计——任务和函数二(系统任务readmemb或readmemh)
![<b class='flag-5'>Verilog</b>数字<b class='flag-5'>系统</b>设计——<b class='flag-5'>任务</b>和函数二(<b class='flag-5'>系统</b><b class='flag-5'>任务</b>readmemb或readmemh)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论