假设我已经通过编写以下代码声明了一个包含8个位长度为8位的字的存储空间:
reg [7:0]mem[0:7]
我希望访问第3个单词的第3到第5个元素并将它们设置为零。这个语法应该是什么样的?
reg[0:7]mem[0:7]
这是一段有效的代码吗?或者它必须像初始化1?
答案 0 :(得分:1)
如果您有一个相当现代的模拟器/合成器(V2001之后),那么您可以直接访问数组中的部分选择:
reg[7:0] mem[0:7];
initial begin
mem[3][7:6] = 2'b00;
mem[3][5:0] = 6'b111111; // mem[3] = 8'h3f
end;
在较旧的工具中,您必须读/写整个单词,并在临时变量中执行位或部分选择。