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)