← 2022 · 诺瓦科技 笔试

推荐答案 测试一下

下列描述代码可综合的是

A fork... join B assign/deassign C if ... else和case D repeat和forever
单选题 中等 笔试真题单选

参考答案

正确答案是 C。可综合的代码是指能够被综合工具(如Synplify、DC等)转换为实际硬件电路(如门级网表)的RTL描述。在Verilog中,条件语句 if...else 和 case 是标准的可综合语句,常用于描述组合逻辑(如多路选择器)和时序逻辑(如状态机)。而其他选项:A fork...join 是并行语句块,用于仿真中创建并发进程,综合工具通常不支持;B assign/deassign 是过程连续赋值,用于对reg类型变量进行持续赋值,仅用于仿真,不可综合;D repeat 和 forever 是循环语句,repeat 用于仿真中重复执行固定次数,forever 用于无限循环,这些循环通常没有实际硬件对应(除特定情况如for循环可综合外),因此不可综合。易错点:考生可能误认为 fork...join 可综合为并行寄存器,或认为 repeat 可综合为计数器,但实际综合工具只支持有限的循环模式(如for循环的迭代次数必须为常数)。因此,正确答案为 C。

涉及知识点

  • 可综合代码的定义与要求
  • Verilog 中可综合语句与不可综合语句区分
  • if...else 与 case 语句的硬件对应
  • fork...join 的仿真特性与不可综合性
  • assign/deassign 仅用于仿真
  • repeat 与 forever 不可综合的原因
登录后反馈错题
下一题 →