我是Verilog代码的初学者 . 所以我对地址宽度和数据宽度有疑问 . 通过Google,我得到的地址宽度是RAM深度的对数基数2,地址宽度和数据宽度之间没有关系 . 但是在内存中,地址宽度是多个列 . 所以我怀疑数据宽度是否大于地址宽度意味着发生了什么问题?数据是否可以存储在其中 .
EX:如果我有16位地址宽度和32位数据宽度意味着会发生什么?
让我们举个例子
wire [31:0] A[15:0]
这通常是我们在verilog中声明记忆的方式 . 这里 [31:0] 部分可以作为数据宽度, [15:0] 可以被认为是地址宽度 . 这个语句实际上做的是声明一个名为A(A [0]到[15])的数组,其中数组中的每个元素都是32位 .
[31:0]
[15:0]
这只是意味着有16个地址可以访问,每个地址保存32位数据
1 回答
让我们举个例子
wire [31:0] A[15:0]
这通常是我们在verilog中声明记忆的方式 . 这里
[31:0]
部分可以作为数据宽度,[15:0]
可以被认为是地址宽度 . 这个语句实际上做的是声明一个名为A(A [0]到[15])的数组,其中数组中的每个元素都是32位 .这只是意味着有16个地址可以访问,每个地址保存32位数据