← 2017 · 复旦微2017年校招笔试题 笔试

推荐答案 测试一下

assign out = (a[3:0] != 4’b0001) 的门电路 ?

题目配图
问答题 中等 笔试真题

参考答案

assign out = (a[3:0] != 4'b0001) 实现为:当 a 不等于 0001 时 out=1,否则 out=0。等价于 out = ~(a == 4'b0001)。a == 4'b0001 的条件是:a[3]=0、a[2]=0、a[1]=0、a[0]=1,即 (~a[3] & ~a[2] & ~a[1] & a[0])。因此 out = ~(~a[3] & ~a[2] & ~a[1] & a[0])。利用德摩根定律化简为:out = a[3] | a[2] | a[1] | ~a[0]。门电路:四个输入或门,三个输入端直接接 a[3]、a[2]、a[1],第四个输入端接 a[0] 经过反相器后的输出。也可用与非门组合:先对 a[3:0] 每 bit 处理,再经与或结构。注意不等号比较固定常数时,直接展开为或门加反相器,无需全加器或异或阵列。常见错误:误用四输入异或门比较位宽向量,或错误理解 != 为异或逻辑。

涉及知识点

  • 数字比较器门级实现
  • 逻辑化简与德摩根定律
  • 固定常数比较的硬件优化
  • 不等号 != 与等式取反的等价性
  • 门电路符号与连接
← 上一题
登录后反馈错题