
verilog如何实现调用另一个模块寄存器的内容
我想要在模块2中调用模块1中存放的寄存器的内容。reg[47:0]mem1;端口是[3:0]位模块2需要利用模块1中寄存mem1整个48位进行比较;我想用case语句实现...
我想要在模块2中调用模块1中存放的寄存器的内容。
reg [47:0] mem1;端口是[3:0]位
模块2需要利用模块1中寄存mem1整个48位进行比较;我想用case语句实现,但得不到结果,望高手能指点迷津
mem1存储的地址是其中的一个
case(mem1)
begin
48'h1234_5678_9abc:dout1_temp<=din;
48'h2345_6789_abcd:dout2_temp<=din;
end
endcase
但是我用寄存器试过了,模块2不能知道模块1中的寄存器内容啊…他们分别在两个module里面的,我想是不是有什么语句能够实现模块2读取模块1寄存器的内容?还需注意的是他们的端口只有4位,而我想在一个时钟里面实现比较功能…不胜感激…… 展开
reg [47:0] mem1;端口是[3:0]位
模块2需要利用模块1中寄存mem1整个48位进行比较;我想用case语句实现,但得不到结果,望高手能指点迷津
mem1存储的地址是其中的一个
case(mem1)
begin
48'h1234_5678_9abc:dout1_temp<=din;
48'h2345_6789_abcd:dout2_temp<=din;
end
endcase
但是我用寄存器试过了,模块2不能知道模块1中的寄存器内容啊…他们分别在两个module里面的,我想是不是有什么语句能够实现模块2读取模块1寄存器的内容?还需注意的是他们的端口只有4位,而我想在一个时钟里面实现比较功能…不胜感激…… 展开
1个回答
展开全部
你的定义mem1应该是一个48bit宽,16层深的memory arrary.
所以,你需要给mem1输入一个地址,比如是 idx[3:0],那么,case的写法是
case(mem1[idx])
begin
....
....
end
所以,你需要给mem1输入一个地址,比如是 idx[3:0],那么,case的写法是
case(mem1[idx])
begin
....
....
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询