← 2022 · 荣耀 笔试

推荐答案 测试一下

基于Verilog HDL,时钟或复位信号可以出现在赋值表达式中。

A.正确 B.错误
简答题 中等 笔试真题

参考答案

B.错误。在基于Verilog HDL的可综合RTL设计中,时钟和复位信号通常具有特殊地位,不能出现在赋值表达式中作为赋值目标(左值)。时钟信号通常由外部晶振或PLL产生,复位信号来自外部或内部复位发生器,它们作为全局驱动源,不应在设计中再次被赋值。如果对时钟或复位信号直接赋值,例如 `clk = ...` 或 `reset = ...`,会导致组合逻辑反馈回路,产生不可综合的电路,甚至造成仿真时的死锁或竞争。此外,即便将时钟或复位信号作为赋值表达式右侧的运算分量(如 `assign data = clk ? a : b`),虽然语法允许,但在可综合风格中强烈不推荐,因为这会引入不必要的组合逻辑依赖,破坏时钟同步特性,增加时序分析复杂性。正确的做法是将时钟和复位信号仅用于 `always` 块的敏感信号列表(如 `always @(posedge clk or negedge reset_n)`)或作为触发器的时钟/复位输入。因此,题目说法“时钟或复位信号可以出现在赋值表达式中”过于宽泛且不符合可综合设计规范,故判断为错误。

涉及知识点

  • 时钟复位信号的特殊性
  • 可综合设计规范
  • 敏感信号列表用法
  • 赋值表达式的左值与右值
  • 组合逻辑反馈
← 上一题
登录后反馈错题
下一题 →