reg [7:0] data_mem[0:255]; //定义一个8bit X 256的数组
initial
begin
$readmemh("sin.txt",data_mem); //将sin.txt中的数据读入存储器data_mem
end
后面就可以用data_mem作为你的测试数据了。例如可以通过以下代码,将data_mem的数据送给data_out:
always @(posedge clk)
begin
if(rst)
begin
data_out <= 8'd0;
i <= 8'd0;
end
else
begin
data_out <= data_mem[i]; //将存储器中的数据输出
i <= i + 8'd1;
end
end
以下的Verilog语句实现将信号data_out的数据写入data_out.txt文件
integer w_file;
initial w_file = $fopen("data_out.txt");
always @(i)
begin
$fdisplay(w_file,"%h",data_out);
if(i == 8'd255) //共写入256个数据
$stop;
end