← 2022 · 荣耀 笔试

推荐答案 测试一下

哪些情况下不会产生latch电路?

A.使用if选择语句的组合逻辑没有e1se部分表达; B.使用case选择语句的组合逻辑没有else表达 C.时序逻辑中if选择语句,没有else部分表达。 D.组合逻辑中条件不全的case语句没有default赋值;
多选题 中等 笔试真题多选

参考答案

正确答案:C。 解析:latch(锁存器)通常在组合逻辑中因条件不完整而产生。组合逻辑中,if语句没有else分支或case语句缺少default分支时,综合工具会推断出锁存器来保持未覆盖条件下的上一状态。选项A(组合逻辑if无else)和选项B(组合逻辑case无default)均会导致latch。选项D(组合逻辑条件不全的case无default)同样会产生latch。而时序逻辑(如always块中posedge clk)中,if语句没有else分支时,由于寄存器本身具有存储功能,综合工具会生成带使能端的触发器,或通过反馈实现数据保持,不会产生latch。因此,只有选项C描述的“时序逻辑中if选择语句没有else部分”不会产生latch电路。

涉及知识点

  • latch产生条件:组合逻辑条件不完整
  • if语句缺少else引发latch
  • case语句缺少default引发latch
  • 时序逻辑中条件不完整不会产生latch
  • 组合逻辑与时序逻辑区别
← 上一题
登录后反馈错题
下一题 →