小风哥

fpga TB中调用txt数组文件,方便测试

0
阅读(3309)

(最近左手受伤,只能单手打字,所以写得比较乱,暂时不改了,大家凑合着看,有疑问的地方,或者不对的地方欢迎指正!)


优点:在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中的值。

Baidu
map