← 2022 · 荣耀 笔试

推荐答案 测试一下

对于信号定义语句:reg[0:4]always,a;,说法错误的是:

A.bit定义顺序应该从高到低; B.信号定义为reg型,只能使用在时序电路的赋值中; C.每个信号应单独用一行来声明; D.不能使用关键字定义信号名;
简答题 中等 笔试真题

参考答案

正确答案是B。解析:选项A:Verilog中向量声明可以采用[高:低]或[低:高]两种方式,[0:4]表示低位在左、高位在右,语法合法,但通常建议从高到低以保持一致性,并非错误。选项B:reg型变量既可以用于时序逻辑(如always@(posedge clk)),也可以用于组合逻辑(如always@(*)),其区别在于赋值方式(阻塞或非阻塞),而非仅用于时序电路,因此B说法错误。选项C:Verilog允许在一行中声明多个信号,使用逗号分隔,如“reg a, b;”,虽然编码规范常建议每行一个信号以便于阅读,但语法上并非强制,因此该说法不严谨但并非绝对错误。选项D:always是Verilog关键字,不能用作信号名,该语句试图声明名为“always”的变量,属于语法错误,因此D说法正确。综合各选项,唯一错误的表述是B。

涉及知识点

  • reg型变量可同时用于组合和时序逻辑
  • Verilog关键字不能用作标识符
  • 向量位序可高到低或低到高
  • 一行可声明多个信号
← 上一题
登录后反馈错题
下一题 →