← 2024 · 小米 · 2025硬件提前批(芯片) 笔试

推荐答案 测试一下

关于 SYSTEM VERILOG 中的 Function 和 Task,下列说法错误的是()

A. Function 可以通过 return 返回值,Task 一般通过 output 返回值 B. Task 可以调用 Function C. Function 可以直接调用 Task D. Function 中至少有一个输入变量,Task 中可以没有输入变量
单选题 中等 2024秋招笔试真题Online Assessment小米单选

参考答案

C。选项C错误,因为Function不能直接调用Task。在SystemVerilog中,Function被设计为组合逻辑或简单行为,必须在一个仿真时间步内完成,不能包含任何时序控制语句(如延时、事件等待等);而Task可以包含时序控制,因此Function内部无法调用Task,否则会导致编译错误。选项A正确:Function可以通过return语句返回一个值,而Task则通过output或inout参数传递结果。选项B正确:Task内部可以调用Function,这是允许的。选项D正确:Function必须至少有一个输入变量(除非声明为void function,但即便如此通常也建议有输入),而Task可以没有任何输入变量。考点:Function与Task的核心区别在于是否允许时序控制、返回值方式、调用规则。易错点:混淆Function和Task的调用限制,误以为Function可以调用Task;或忽略Function必须在一个时间步内完成的要求。

涉及知识点

  • Function不能包含时序控制
  • Task可以包含时序控制
  • Function不能调用Task
  • Task可以调用Function
  • Function通过return返回值
  • Task通过output参数返回值
← 上一题
登录后反馈错题
下一题 →