永发信息网

请教Verilog 中memory 型数据的问题

答案:4  悬赏:60  手机版
解决时间 2021-03-02 04:17
  • 提问者网友:沦陷
  • 2021-03-01 21:19
请教Verilog 中memory 型数据的问题

在Verilog中定义一个memory型的数据,如:

reg [7:0] mem1[255:0]
如果想引用其中第七行第八列元素应如何引用:reg[6][7]怎么不对的?请各位大虾指教一下。
最佳答案
  • 五星知识达人网友:鱼芗
  • 2021-03-01 22:39
恩,楼上的都不对。
首先你要明确mem1不是一个二维数组,它是一维的。reg表示mem1中的元素都是寄存器类型,reg后面的[7:0]表示的是mem1每个数组的元素的位宽是8bit。

如果想表示mem1数组的第A个元素的第B到第C位的内容,可表示如下
mem1[A][B:C]

凭记忆写的,大致如上,你可以查阅verilog相关书籍的语法部分验证一下~
全部回答
  • 1楼网友:狂恋
  • 2021-03-02 01:33
1.目的:rtl code or simulation testbench? 2.如果是rtl code ,与该memory相连的应该使用寄存器,然后在不同的时间段给该寄存器赋值 3.如果是simulation testbench,你的赋值没有时序的概念 应该把赋值写到 initial块里面 如: initial begin... end 4 memory是有自己的总线的,一般有cen wen data_in addr这几个信号 通过这4个信号的固定的总线操作写进对应的memory里面去
  • 2楼网友:神也偏爱
  • 2021-03-02 00:26
mem1[6][7]
  • 3楼网友:山有枢
  • 2021-03-01 23:09
应该是 mem[6][7]吧,reg是类型。 这个mem是一维压缩数组,mem[6][7]表示第7个元素的第8位,只是一位。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯