文件读取txt文件数据"/>
testbench文件读取txt文件数据
使用vivado自带的仿真器进行仿真,验证数据的设计的正确性,读取txt文件数据的代码。注意要将txt文件放到路径下:E:\project_1\project_1.sim\sim_1\behav\xsim。这个路径是点击Run simulation按钮后自动生成的。
`timescale 1ns / 1psmodule read_file;
reg clk;
reg rst_n;
reg [7:0] data_in;
reg data_in_valid;
integer file ,i;
initial beginclk = 1'b0;forever begin #5 clk =~clk;end
endinitial begin rst_n = 0;data_in_valid = 0;#100rst_n = 1;file = $fopen("test_data.txt","rb"); //打开文件if(file==0)begin //如果文件打开错误,打印log$display("erro=====");$stop; //并停止仿真endfor (i=0;i<784;i=i+1)begin //否则读取数据,文件中有784行@(posedge clk); //时钟上升沿到来就读取$fscanf(file,"%c",data_in); //将数据赋给data_in接口data_in_valid<=1; //数据有效信号拉高enddata_in_valid<=0; //数据有效信号拉低$fclose(file); //关闭文件
endendmodule
另外,对于从txt文件中读取进来的数据,为了避免丢失,需要缓存到ram中。在vivado中可以创建一个ram的ip来缓存,并且可以按地址来找出对应的数据:
图片的灰度流位宽为8位,图片的大小为28*28,一行的数据为28,这个ip主要是缓存图片的一行数据
---晓凡 2022年6月于桂林书
更多推荐
testbench文件读取txt文件数据
发布评论