testbench输入输出文件完结版

我这种输入方法需要输入的是ASCII码值,所以只有转换成.RAW类型的grayscale才可以实现,而且最大可以实现65533bit

以下为程序:

// Verilog Test Fixture Template

  `timescale 1 ns / 1 ps

	module pic();
	
	parameter size = 4096;
	
	reg CLK;
	reg nRESET;
	reg [7:0] image_b [0:size-1];

	integer read_image_point;
	integer image_point;
	
	reg [7:0]data_out;

	reg[12:0] write_addr;
	integer write_text_point;  %integer和reg都是定义寄存器,其中integer是定义有符号数.
	
	initial begin

		CLK = 0;
		nRESET = 0;

		read_image_point = $fopen("pic64.raw", "rb+");  %rb为只读,rb+为读写
		image_point = $fread(image_b, read_image_point);

		write_addr = 0;
		write_text_point = $fopen("pic.txt", "wb+");

		#10;
		nRESET = 1;


	end
	
	initial
	begin
		forever begin
		#5 CLK = ~CLK;
		end
	end	
	
	integer m,n;
	
	always@(posedge CLK)
	begin
		for(m=0;m<=63;m=m+1)
			for(n=0;n<=63;n=n+1)
			begin
				write_addr = 64*n + m;
				data_out = image_b[write_addr];
				$fwrite(write_text_point,"%h",data_out);
				$fwrite(write_text_point,",");
			end
			
			$fclose(write_text_point);
	end
	 
		
	endmodule
	


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值