最近学习systemverilog之余,发现好多在仿真中自己昔日不曾用过的关于File I/O的verilog任务和函数,借助周末时间稍作整理。
verilog中关于文件操作的任务和函数主要分为四类:
(1)打开和关闭文件的任务和函数
(2) 向文件中输入信息的任务
(3) 向变量中输入信息的任务
(4) 从文件中读取数据并写入变量或存储器中
下面就各类函数做总结整理:
(1) 打开和关闭文件的任务和函数
fd=$fopen("file_name",type)
该函数主要用于按照type定义的方式打开"file_name"指定的文件,并返回32比特的文件描述符。type的类型有:
默认方式为以“w”或“wb”方式打开。注意"w","wb","w+","w+b","wb+"打开文件将会清空文件原有数据。其中“b”用于区别文本文件和二进制文件。如果一个文件因为某种无法打开,将会返回0,通过$ferror可用于检测失败原因
$fclose(fd)
该函数主要用于关闭文件。文件一旦关闭,$fmonitor 、$fstrobe等任务将会自动终止。
(2) 向文件中输入信息
f