Verilog语言中使用寄存器组的问题

GrayGaoYu 2016-07-16 07:49:05
Verilog语言中存储器模块定义之后如下:
module Memery_Unit#(parameter word_size = 8,memory_size = 256)(
output[word_size-1:0] data_out,
input[word_size-1:0] data_in,
input[word_size-1:0] address,
input clk,write
);
reg[word_size-1:0]memory[memory_size-1:0];
assign data_out = memory[address];
always@(posedge clk)
if(write) memory[address]<=data_in;
endmodule

然后在另一个模块中调用;
M2.M2_MEM.memory[0]= 8'b0000_00_00;

M2.M2_MEM.memory[1]= 8'b0101_00_10;
M2.M2_MEM.memory[2]= 130;
M2.M2_MEM.memory[3]= 8'b0101_00_11;

其中M2为模块名;
编译之后出现错误:
Error (10207): Verilog HDL error at test_RISC_SPM.v(13): can't resolve reference to object "memory"
请问这是什么原因
...全文
1662 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlesandman 2021-08-02
  • 打赏
  • 举报
回复

在RISC 存储程序机的实验中,这里M2是RISC_SPM的例化名,M2_MEM是Memery_Unit的例化名

花小涛 2017-01-12
  • 打赏
  • 举报
回复
那M2_MEM是什么?

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧