fpga testbench 学习小结二

在testbench常用到文件的读取

reg [9:0] img  [1:data_num];  //数组形式存储读出的数据
       integer file_out; 
       integer file_out_u; 
       integer file_out_v; 
       
initial 
begin
//读文件到mem中
   $readmemh("img_bayer.txt",img);   //读取十六进制格式文件使用readmemh。
   $readmemb("img_bayer.txt",img);   //读取二进制格式的文件是用readmemb;
//其命令为$readmemb(“filename”, mem_name),将filename中的内容读取到mem_name中。
          

           file_out=$fopen("image_out_r.txt","w");     
           //以写的方式打开文件
           file_out_u=$fopen("image_out_g.txt","w");
           file_out_v=$fopen("image_out_b.txt","w");  
//   fp_r=$fopen("data_in.txt","r");//以读的方式打开文件	      
//	用$fopen打开文件会将原来的文件清空,这个语句不会清空原来文件中的数据。
//   用$fopen的情况是为了取得句柄,即文件地址,		 
    
  end   
  
always @(posedge clk)begin
	if(en)begin
		$fwrite(file_out,  "%d\n", data_out);
	if(cnt==1)begin
		$fclose(file_out); 
	 $stop;
	end
	end
//   $fwrite(data_wr0,"%d\n",Sig0[m]); //向txt写十进制    写下一个数不会自动转行,所以要加\n
  
 // for input img data
always @(*)
  begin
    din   < = 'h0;
    if(dval) begin
      din <= img[v_cnt*IMG_WIDTH+h_cnt];
    end
  end	

你可能感兴趣的:(FPGA基础)