testbench文件读取txt文件数据

使用vivado自带的仿真器进行仿真,验证数据的设计的正确性,读取txt文件数据的代码。注意要将txt文件放到路径下:E:\project_1\project_1.sim\sim_1\behav\xsim。这个路径是点击Run simulation按钮后自动生成的。

`timescale 1ns / 1ps

module read_file;
reg clk;
reg rst_n;
reg [7:0] data_in;
reg data_in_valid;
integer file ,i;
initial begin
    clk = 1'b0;
    forever begin 
        #5 clk =~clk;
    end
end

initial begin 
    rst_n = 0;
    data_in_valid = 0;
    #100
    rst_n = 1;
    file = $fopen("test_data.txt","rb"); //打开文件
    if(file==0)begin					//如果文件打开错误,打印log
        $display("erro=====");
        $stop;							//并停止仿真
    end
    for (i=0;i<784;i=i+1)begin			//否则读取数据,文件中有784行
        @(posedge clk);					//时钟上升沿到来就读取
        $fscanf(file,"%c",data_in);		//将数据赋给data_in接口
        data_in_valid<=1;     			//数据有效信号拉高
    end
    data_in_valid<=0;					//数据有效信号拉低
    $fclose(file);						//关闭文件
end

endmodule

另外,对于从txt文件中读取进来的数据,为了避免丢失,需要缓存到ram中。在vivado中可以创建一个ram的ip来缓存,并且可以按地址来找出对应的数据:

在这里插入图片描述
在这里插入图片描述
图片的灰度流位宽为8位,图片的大小为28*28,一行的数据为28,这个ip主要是缓存图片的一行数据
在这里插入图片描述
在这里插入图片描述

			---晓凡 20226月于桂林书
  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值