ncelab:* W,MEMODR(.v):$ readmem默认内存顺序与IEEE1364不兼容

描述

在使用“$ readmemh(INIT_FILE,tmp_mem);”仿真RAM初始化期间,收到以下错误:

ncelab:* W,MEMODR(<filename> .v):$ readmem默认内存顺序与IEEE1364不兼容

这个警告意味着什么,我该如何避免?

IEEE1364描述了Verilog HDL语言的标准。在此标准中,定义了使用$ reamem命令读取内存地址的默认顺序。

在ncelab中,内存顺序与IEEE标准中定义的顺序不同。要获取有关此错误的帮助,请在Cadence工具中输入以下命令:

nchelp ncelab MEMODR

$ readmem命令定义如下:

$ readmemb(“file_name”,memory_name [,start_addr [,finish_addr]]);
$ readmemh(“file_name”,memory_name [,start_addr [,finish_addr]]);

这些命令允许可选地指定起始存储器地址和结束地址。 IEEE标准允许$ readmem命令指定一个高于结束地址的起始地址。但是,无论如何指定$ readmem命令地址值,Cadence工具始终首先从最低地址读取文件数据。这可能导致Cadence工具的行为与IEEE标准规范不同。

当起始地址是存储器范围的最低地址时,可以忽略该警告,但是,当起始地址是存储器范围的最高地址时,警告有效。

  1. 将最低内存地址定义为$ readmem命令的左(起始)地址
  2. 指定$ readmem命令的起始地址和结束地址,其中起始地址低于完成地址
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 12:52:51 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它