← 2022 · 诺瓦科技 笔试

推荐答案 测试一下

reg[255:0] mem[7:0]正确的赋值是

A mem[5]==3' d0; B mem[10]=8' d1; C mem=0; D mem[5][3:0]=4' d1;
单选题 中等 笔试真题单选

参考答案

正确答案是D。reg[255:0] mem[7:0]定义了一个包含8个元素的数组,每个元素是256位宽的寄存器。选项A中使用了双等号“==”,这是比较运算符而非赋值运算符,因此不符合要求。选项B中的索引10超出了数组范围(有效索引0~7),属于越界访问,错误。选项C试图将整数0直接赋给整个数组,但在Verilog中不允许对一维数组进行整体赋值(需要逐元素或使用循环),因此不合法。选项D中mem[5][3:0]表示取数组第5个元素(256位寄存器)的低4位(位3~0),然后赋值4位数据4'd1,这是合法的位选赋值操作。因此D正确。

涉及知识点

  • 多维数组声明与索引范围
  • 位选与部分位赋值
  • 赋值与比较运算符区别
  • 数组整体赋值限制
  • 数组越界错误
← 上一题
登录后反馈错题
下一题 →