testbench的文件读写

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


你可能感兴趣的:(testbench的文件读写)