在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4521|回复: 6

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

[复制链接]
发表于 2004-7-20 09:30:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教:
最近我用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文件啊
如果不这样做,那怎么办啊?
谢谢

发表于 2004-7-20 12:15:39 | 显示全部楼层

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

必须自己编个程序转换成verilog的格式
发表于 2004-7-20 15:02:51 | 显示全部楼层

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并不是很重要.只要保证地址和数据能相对应就行了
 楼主| 发表于 2004-7-21 10:16:18 | 显示全部楼层

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

你说的不错
但当CJNZ 等等待
复杂的命令怎么办?
发表于 2004-8-18 12:48:52 | 显示全部楼层

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

我们在做cpu测试的时候,是先用汇编写测试程序,通过汇编编译器编译后得到16进制的机器码,再用C转换成ROM的格式.
发表于 2004-8-20 10:28:45 | 显示全部楼层

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

再linux或unix下,用emacx or xemacs 做成一文件即可以。
(  $readmemb("testcode.txt",testcode) )
如指令:
0000
0001
0010
.
.
.
1111
发表于 2004-8-23 17:31:34 | 显示全部楼层

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

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

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-13 10:15 , Processed in 0.037991 second(s), 11 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表