module()//代码中的地址自己修改为自己读取文件的地址//注意本处一定要是"/"在window系统中,不然地址无法访问//读文件
integer handle_r;//定义integer变量,用于保存$fopen的返回值,文件句柄
initial
begin
//打开读文件//r方式,被读的文件,用于获取激励信号输入值
handle_r= $fopen("D:/Documents/Hardware_verlog/Sim_Data/Multicycle_MIPS_CPU8/sim_AS/sim_AS_data.txt","r");//读取文件内容while(!$feof(handle_r))//表示;当文件没读完就继续执行
begin
#49 $fscanf(handle_r,"%b%b%b%b",a,b,c,I);//每个49个时间单位更新一次激励信号
end
//关闭文件
$fclose(handle_r);
end
//写文件
integer handle_w;
initial
begin
//打开写文件//w方式,被写入的文件,用于写入系统函数的输出值
handle_w= $fopen("D:/Documents/Hardware_verlog/Sim_Data/Multicycle_MIPS_CPU8/sim_AS/sim_AS_data.txt","w");//设置输出值显示在控制台上
handle_w=handle_w|32'h0000_0001;//输出题头
$fdisplay(handle_w,"time \t,a\t,b\t,c\t,Input\t,output\t");//将变量值到文件中
$fmonitor(handle_w,$time,,"a=%b,b=%b,c=%b,input=%b,output=%b",a,b,c,I,U);//关闭文件
$fclose(handle_w);
end
//将文件内容读入Mem变量中
initial
begin
$readmemh("",xx_Mem);//文件中保存的是16进制形式用$readmemh
$readmemb("",xx_Mem);//文件中保存的是 2进制形式用$readmemb
end
endmodule