fpga TB中调用txt数组文件,方便测试
0赞(最近左手受伤,只能单手打字,所以写得比较乱,暂时不改了,大家凑合着看,有疑问的地方,或者不对的地方欢迎指正!)
优点:在TB中调用.txt文件,用于实现输入值的变化,方便测试多种case。
可以使用always 语句对addr赋值,
reg [9:0] addr ;
reg flag ;
initial begin
SPI_ADDR = 32'b0 ;
SPI_DATA = 32'b0 ;
flag = 1'b0;
addr = 10'b0 ;
end
always #(5) clk_100m = ~ clk_100m;
always #(50) flag = ~ flag;
always @( posedge clk_100m or rst_100m) begin
if(rst_100m) begin
addr <= 10'b0 ;
end
else if(flag == 1'b1) begin
addr <= addr+1'b1 ;
end
end
always @( posedge clk_100m or rst_100m) begin
if(rst_100m) begin
SPI_ADDR <= 32'b0 ;
end
else begin
SPI_ADDR <= mem0[addr] ;
end
end
always @( posedge clk_100m or rst_100m) begin
if(rst_100m) begin
SPI_DATA <= 32'b0 ;
end
else begin
SPI_DATA <= mem1[addr] ;
end
end
TB中代码如下(结合上面代码来看)
数组中的值如图,且调用的.txt要和TB.v在同一目录。
之后只需要改变数组中某一个子项的编号即可实现调用txt中的值。