微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > HELP 我想知道verilog中读内存文件的格式

HELP 我想知道verilog中读内存文件的格式

时间:10-02 整理:3721RD 点击:
请教:
最近我用VERILOG写一个CPU 的时候,遇到想测试我的代码,可是必须把我的指令写进内存,可是我没有找到什么书上有介绍怎么写这个 内存文件的格式,请各位大虾指点一下,
readmemh
$readmemh ("../romcode.map", rom);十六进制
$readmemb ("../romcode.map", rom);二进制
../romcode 是rom文件
rom是调入verilog后的数组
如果是8bit 32k可以定义
reg 【7:0】rom 【32767:0】
romcode.map是什么格式啊
我是用汇编写的程序
KEILC 产生.HEX文件
.HEX怎么产生.MAP文件啊
如果不这样做,那怎么办啊?
谢谢

HELP 我想知道verilog中读内存文件的格式
必须自己编个程序转换成verilog的格式

HELP 我想知道verilog中读内存文件的格式
其实,测试的时候,你可以将的指令代码写成一个.V文件呀,如:
module rom(addr,data);
input [7:0]addr;
output [7:0]data;
always
@(addr)
begin
case(addr)
8'd0: data=8'b00000000;
8'd1: data=8'b........;
endcase
end
endmodule
要记住,ROM里只是存储你的程序代码,测试CPU的时候怎么样去表达ROM并不是很重要.只要保证地址和数据能相对应就行了

HELP 我想知道verilog中读内存文件的格式
你说的不错
但当CJNZ 等等待
复杂的命令怎么办?

HELP 我想知道verilog中读内存文件的格式
我们在做cpu测试的时候,是先用汇编写测试程序,通过汇编编译器编译后得到16进制的机器码,再用C转换成ROM的格式.

HELP 我想知道verilog中读内存文件的格式
再linux或unix下,用emacx or xemacs 做成一文件即可以。
($readmemb("testcode.txt",testcode) )
如指令:
0000
0001
0010
.
.
.
1111

HELP 我想知道verilog中读内存文件的格式
verilog 的文件读取系统函数只支持16进制和2进制的数据,你只需写个小程序把你需读入的数据转换成16进制或者2进制的TXT格式的文件就行(你也可以写测试指令的时候直接就这样写),当然文件后缀是否是txt都无所谓。而且可以在文件中用“//”做注释。具体的使用你也可以查看相关文档。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top