verilog读写文件(整理)



以前我一般常用到的系统函数只有几个:$readmemb$readmemh$display$fmonitor$fwrite$fopen$fclose等。通常需要对文件作预处理,才能用于Testbench读取。今天又尝试了几个其他的文件输入输出函数,不需要对文件进行预处理,直接使用需要的文件,只对需要的部分进行读取。

$fseek,文件定位,可以从任意点对文件进行操作;

$fscanf,对文件一行进行读写。

下面是一些常见的应用:
1
、读写文件

module read_write_file();
	integer fp_r,fp_w;
	integer count;
	reg [9:0] reg1;

	initial
		begin
			fp_r=$fopen("data_in.txt","r");//以读的方式打开文件
			fp_w=$fopen("data_out.txt","w");//以写的方式打开文件

			while(! $feof(fp_r))
				begin
					count=$fscanf(fp_r,"%b" ,reg1) ;//每次读一行
					$display("%d::::%b",count,reg1) ;//打印输出
					$fwrite(fp_w,"%b\n",reg1) ;//写入文件
				end

			$fclose(fp_r);//关闭已打开的文件
			$fclose(fp_w);
		end

endmodule
			




百度网盘:http://pan.baidu.com/disk/home#path=%252FVerilog


参考1:http://wenku.baidu.com/link?url=dk32mjICpEit1GGy9gKiuFtuS1X0xz9FoLfO9EvzAuhi08yLGWY38aMPl9LZPVhY_nc7OmOgtbZ26ac0Y8bq3T3Kdz-CHbNmokQrItRBeNe&from_mod=download

参考2:http://bbs.ednchina.com/BLOG_ARTICLE_236800.HTM




你可能感兴趣的:(Verilog,文件读写,Verilog,HDL)