← 华为硬件(逻辑)岗(19.09.04)

推荐答案 测试一下

下面关于always语句描述正确的是( )。

A 组合逻辑always中敏感列表可以标明敏感变量,也可以用*替代 B 在时序逻辑语句块中非阻塞赋值和阻塞赋值都可以使用,没有本质差别 C 阻塞赋值按照顺序执行,非阻塞赋值并发执行 D 时序逻辑always中敏感列表必须标明时钟信号和复位信号(如果使用异步复位)
多选题 中等 笔试真题多选

参考答案

正确答案:A、C、D。 A选项正确:在组合逻辑always块中,敏感列表可以显式列出所有敏感变量,也可以使用*(通配符)自动将所有输入信号加入敏感列表,这是Verilog-2001标准支持的写法。 B选项错误:在时序逻辑always块中,非阻塞赋值(<=)和阻塞赋值(=)有本质区别。非阻塞赋值用于描述时序逻辑,产生触发器;阻塞赋值用于组合逻辑或产生锁存器。混合使用可能导致仿真和综合结果不一致,因此时序逻辑中通常应使用非阻塞赋值。 C选项正确:阻塞赋值(=)是顺序执行的,即在同一个always块内,上一条语句赋值完成后才会执行下一条;非阻塞赋值(<=)是并发执行的,所有右值在进程开始时被采样,赋值在进程结束时统一更新,体现了硬件电路的并行行为。 D选项正确:时序逻辑always的敏感列表必须包含时钟信号(如posedge clk)。如果使用异步复位,还必须包含复位信号(如negedge rst_n)。同步复位则只需时钟信号敏感。这是Verilog语法强制要求,否则综合工具可能无法正确推断时序逻辑。

涉及知识点

  • always块敏感列表写法
  • 组合逻辑与时序逻辑always区别
  • 阻塞赋值与非阻塞赋值的执行特点
  • 时序逻辑的敏感列表要求(时钟与异步复位)
  • 阻塞赋值与非阻塞赋值的应用场景
← 上一题
登录后反馈错题
下一题 →