← 2022 · MPS芯源 笔试

推荐答案 测试一下

Please describe the rtl with INV, AND, OR andDFF. 请用与、或、非门和寄存器画出代码所描述的电路。

题目配图 题目配图
编程题 中等 笔试真题

参考答案

由于题目未给出具体 RTL 代码,本文以典型示例说明通用方法。例如 RTL 代码为:always @(posedge clk) q <= (a & b) | c;则该电路由组合逻辑和时序逻辑两部分组成:组合逻辑实现 (a & b) | c,时序逻辑用 DFF 存储结果。具体连接:a 和 b 输入与门(AND),与门输出与 c 输入或门(OR),或门输出接 DFF 的 D 端;DFF 的时钟端接 clk,输出 Q 为 q。若需要复位,则在 always 中加入异步复位逻辑,对应 DFF 的复位引脚。对于更复杂的组合逻辑,可通过化简为 SOP 或 POS 形式,用两层与或门实现,必要时插入非门(INV)生成反相信号。注意:只能使用题目指定的 INV、AND、OR 和 DFF,不能使用其他门(如 NOR、NAND)。DFF 为边沿触发,需明确时钟沿类型。若 RTL 包含条件判断(如 if-else),需转化为多路选择器结构,但多路选择器本身可用与或门实现。例如 if(sel) q <= a; else q <= b; 对应组合逻辑为 (sel & a) | (~sel & b),然后用 DFF 存储结果。易错点:忽略非门用于生成反相信号;忘记组合逻辑可能产生毛刺,但纯门级电路无时序约束;寄存器输出未正确连接。本题关键在于准确将高级描述映射为基本门和寄存器的互连。

涉及知识点

  • RTL 到门级电路映射
  • 组合逻辑的 SOP 与 POS 实现
  • DFF 行为与连接方式
  • 基本门 INV、AND、OR 的功能
  • 多路选择器的门级实现
  • 时序逻辑与异步复位处理
← 上一题
登录后反馈错题
下一题 →