如果要在fpga板子调试硬件设计,有时需要产生一定序列的数据用于测试。数据较少时,可以用一个计数器,
根据计数器的不同值产生不同的数据。如下:
always@(posedge clk)
begin
i=i+1;
end
always@(i)
begin
case(i)
0: datin=64'h231cfa201f8a5e69;
1: datin=64'hd4a445d81caa35f6;
2: datin=64'he359d8509cd54699;
3: datin=64'h1a3c8360dc464989;
4: datin=64'h428aa6777baf1de1;
5: datin=64'he4dfceba82518a3f;
endcase
end
但当数据量比较大时则不能使用这样的方法,否则编译综合的时间过长,而且可能会带来一些问题。
这种情况比较好的做法是使用quartus中的RAM,用mif文件初始化其中的值,用存储器里的值当测试数据。
mif文件格式如下:
WIDTH = 8;
DEPTH = 64;
ADDRESS_RADIX = HEX;
DATA_RADIX = HEX;
CONTENT BEGIN
0 : FF;
1 : FE;
2 : FC;
3 : F9;
4 : F5;
…(数据略去)
3D : FC;
3E : FE;
3F : FF;
END;
阅读(1390) | 评论(0) | 转发(0) |