我们在开发FPGA的过程中,特别是编写testbench时,经常会用到Verilog的系统函数,在查看Xilinx官方testbench或者大神写的testbench时,也会看到各种各样的系统函数,系统函数的特点就是前面带有$符号。灵活使用系统函数可以使得testbench的功能变得十分强大,然而大部分Verilog的中文教材介绍系统函数时都比较简略,这里我先提供IEEE的Verilog标准文档下载链接,在标准文档的第17章,会有所有系统函数的详细介绍,本篇会把最常用的系统函数做简单介绍,本篇会不定期更新。
一、文件操作
1、打开文件$fopen和关闭文件$fclose
文件打开进行读写操作之后记得一定要关闭,这点和其它所有编程语言都一样。
integer fp;
fp = $fopen("file_path/file_name","wb");
$fclose(fp);
$fopen的第一个参数是包含路径的文件名,这个路径可以是绝对路径,也可以是相对于当前文件夹(该条语句所在的文件所处的文件夹)的相对路径,如果打开的文件就在当前文件夹下,则可以直接写文件名,记得带后缀;第二个参数是打开类型,如果不填写,默认就是w,常见的打开类型如下表所示 ;返回值是一个多通道描述符(就是指针),由于Verilog没有指针变量,所以这里赋值给一个整型变量。