Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1148214
  • 博文数量: 173
  • 博客积分: 4048
  • 博客等级:
  • 技术积分: 2679
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-12 18:53
文章分类

全部博文(173)

文章存档

2018年(1)

2016年(1)

2013年(1)

2012年(118)

2011年(52)

分类: 嵌入式

2011-10-19 15:48:03

如果要在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;


阅读(1347) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~