mem型变量位操作怎么写?

2019-03-25 10:18发布

定义一个mem变量,如:reg [15:0] mem [4:0],假如我想对第2个寄存器的第16位和第3个寄存器的第1位做异或操作,应该怎么写?我试过 mem[1][15] ^ mem[2][0],编译器报错。
请大家指教。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
julytiger
2019-03-25 22:46
原帖由 00750 于 2011-6-21 08:35 发表
把mem[1]和mem[0]分别赋给两个十六位的寄存器,然后用这两个寄存器进行你需要的运算。


谢谢,现在就是这样做的。:-)

如果寄存器很多怎么办呢,现在定义的是5组寄存器构成的mem变量,如果变成64组的,如reg [15:0] mem [63:0],并且寄存器之间要两两异或,岂不是很麻烦了。
verilog可以支持二维数组就好了。

一周热门 更多>