文章目录
- 语法介绍
- uvm中的用法
语法介绍
$fopen函数的功能是使用给定的模式 mode 打开 filename 所指向的文件。文件顺利打开后,指向该流的文件句柄就会被返回。如果文件打开失败则返回 0。
$fopen函数格式如下:
<file_desc> = $fopen("", “”);
filename–指包含的要打开的文件名称
mode指打开文件的格式
而file_desc在使用前必须先被声明。
mode的格式类型如下表:
字符 | 含义 |
---|---|
r | read,读 |
w | write,写 |
a | append,追加 |
b | 二进制文件 |
+ | 读和写 |
t | 文本文件 |
由这些字符可组成不同的mode,如wt, 只写一个文本文件
rb+,读写打开一个二进制文件,允许读和写
uvm中的用法
在UVM中,,UVM会将UVM_INFO等信息显示在标准输出(终端屏幕)上。各个仿真器提供将显示在标准输出的信息同时输出到一个日志文件中的功能。但是这个日志文件混杂了所有的UVM_INFO、UVM_WARNING、UVM_ERROR及UVM_FATAL。UVM提供将特定信息输出到特定日志文件的功能。
UVM_FILE info_log;
virtual function void connect_phase(uvm_phase phase);
info_log = $fopen("info_log", "w");
env.i_agt.drv.set_report_severity_file(UVM_INFO, info_log);
如上所示,首先声明了UVM_FILE的一个句柄info_log,然后在connect_phase中使用$fopen函数,并给出了模式,即w- 写,随后将env.i_agt.drv的UVM_INFO信息输出到info.log即可