Verilog的系统函数$display、

1、系统函数$display  

  作用是控制台输出信息

  $display("Start simulation")        //显示字符串

  $display("data_play = %h hex", 100)     //显示data_play的16进制数(或者其他进制)

  $display("Simulation time is %t", $time)     //显示仿真的时间

2、$fopen

  用法:<文件句柄>=$fopen("<文件名>");

  句柄就是任务$fopen返回的多通道描述符,默认为32位,最低位(第0位)默认被设置1,默认开放标准输出通道,即transcript窗口。

        每一次使用$fopen函数后都打开了一个新的通道,并且返回了一个设置为1的位相对应。默认应该是0001,以上每调用分别设置为0010 ,0100,1000(只考虑最低四位)。

  例子:读取文件

  define `DATA_LENGTH 8  //宏定义,定义数据长度

  reg   [15:0]  Sig0[`DATA_LENGTH-1:0];

  reg   [15:0]  Sig1[`DATA_LENGTH-1:0];    //定义RAM大小

 

  integer   data_file0;  //定义句柄

  integer  data_file1;  //定义句柄·

  initial

  begin

  #200

  data_file0 = $fopen("file/rd_data0_fpga.txt", "r");

  data_file1 = $open("file/rd_data1_fpga.txt, "r");

  for(i=0; i<`DATA_LENGTH; i++)

  begin

  $fscanf(data_file0, "%d", Sig0[i]);    //读取十进制

  $fscanf(data_file1, "%h", Sig1[i]);    //读取十六进制

  end

  $fclose(data_file0);  //关闭这个句柄

  $fclose(data_file1);  //关闭这个句柄

  end

3、$fscan

  函数功能,读取txt(.dat)文件数据

  $fscanf(文件句柄(指针),读取格式, 数组)   //读取格式可以是二进制,八进制或十六进制

  (上例将rd_data0_fpga.txt的数据存储到寄存器Sig0中)

https://blog.csdn.net/weizhl10131729/article/details/78556489

https://blog.csdn.net/yanchuan23/article/details/80547272

4、$fwrite($display)

  

posted @ 2019-09-11 09:11  Pine1  阅读(10150)  评论(0编辑  收藏  举报