← 2024 · 芯原 · 数字IC设计 笔试

推荐答案 测试一下

In Verilog description, if a=1'b1, b=2'b10, c=1'b0, then {{2{a, c}}, b} = ?

A. 6'b010101 B. 6'b101010 C. 6'b010100 D. 6'b100101
单选题 中等 2024秋招笔试真题Online Assessment芯原单选题

参考答案

正确答案是B。表达式 {{2{a, c}}, b} 需要逐层解析。首先内层 {a, c} 将 a=1'b1 和 c=1'b0 拼接,高位为a,低位为c,得到 2'b10。接着 {2{a, c}} 将 {a,c} 复制两次,即 {2'b10, 2'b10} = 4'b1010。最后与 b=2'b10 拼接,高位为 {2{a,c}},低位为b,得到 6'b101010。选项A为6'b010101,顺序颠倒;C为6'b010100,值错误;D为6'b100101,值错误。注意:Verilog拼接中左边是高位,右边是低位;复制操作符 {n{...}} 重复指定次数并拼接。

涉及知识点

  • Verilog拼接操作符{}的使用
  • 复制操作符{n{expr}}的含义
  • 二进制位宽计算与拼接顺序
  • 常量的位宽与数值表示
← 上一题
登录后反馈错题
下一题 →