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

推荐答案 测试一下

Please read the below RTL, then answer the question:

A. y <= p ^ {c[2:0], g[3]}; B. y <= p ^ {c[2:0], 1'b0}; C. y <= p ^ {c[2:0], g[0]}; D. y <= p ^ {c[3:1], 1'b0};
单选题 中等 2024秋招笔试真题Online Assessment芯原单选题

参考答案

正确答案是B。该RTL实现了一个4位行波进位加法器,其中p = a ^ b,g = a & b,c[0] = g[0]为最低位进位输出,c[i] = g[i] | (p[i] & c[i-1])为后续进位输出。加法器输出y = a + b,但代码中未给出外部进位输入,隐含为0。每位和的计算公式为y[i] = p[i] ^ (进位输入),进位输入对于最低位是0,对于高位是c[i-1]。因此y[0] = p[0] ^ 0,y[1] = p[1] ^ c[0],y[2] = p[2] ^ c[1],y[3] = p[3] ^ c[2]。写成向量形式:y <= p ^ {c[2:0], 1'b0},即选项B。选项A使用g[3]作为最低位进位输入错误;选项C使用g[0]错误;选项D使用c[3:1]导致高位进位错误。

涉及知识点

  • 行波进位加法器原理
  • 进位链计算与传播
  • 和位与进位的关系
  • Verilog非阻塞赋值时序
← 上一题
登录后反馈错题
下一题 →