本人现在正在研究 基于FPGA 的FFT设计,希望和大家一起交流讨论
RAM初始化的测试文件编写
上一篇 /
下一篇 2007-08-12 16:58:01 / 天气: 晴朗
/ 心情: 高兴
/ 个人分类:技术摘要
在modelsim中,需要一个程序把intel hex文件中的数据读到ram中,作为ram的初始化数据
以下为一示例:
module ReadHexFile;
parameter filename="cos.hex";
reg[7:0] column;
reg[15:0] address;
reg[7:0] len;
reg[7:0] dat;
reg[7:0] sum;
reg[500*8:1] noused;
reg[640:1] errstr;
reg[7:0] ram[0:2047];
integer i,fd,code;
initial begin
fd=$fopen(filename,"r");
if(fd==0) $stop; // stop when no such file
forever begin : continue
if($ferror(fd,errstr))
begin
$display("%s",errstr);
$stop;
end
column=$fgetc(fd);
if(column!=":") // every line begin with ":" int the IntelHex form
begin
code=$fgets(noused,fd);
disable continue;
end
code=$fscanf(fd,"%2x",len);
if(len==0) $stop; // stop when no data
sum=len;
code=$fscanf(fd,"%4x",address);
sum=sum+address;
sum=sum+(address>>8); // unsigned sum
code=$fscanf(fd,"%2x",dat); // data type
sum=sum+dat;
for(i=0;i<len;i=i+1)
begin
code=$fscanf(fd,"%2x",dat);
sum=sum+dat;
ram[address]=dat; // ram read data from file
address=address+1;
end
code=$fscanf(fd,"%2x",dat); // check data
sum=sum+dat;
if(sum!=0) begin
$display("error:checksum is not zero!");
$stop;
end
end
end
endmodule
导入论坛
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
技术摘要