← 2022 · 芯海科技 笔试

推荐答案 测试一下

关于Task与Function语句,以下正确的是

A、在Function中,可以调用Task B、Function至少有一个输入变量 C、function必须要有返回值 D、Task可以有返回值
单选题 中等 笔试真题单选

参考答案

C。Function必须要有返回值,这是Verilog语言的基本规定。在Verilog中,function的定义必须指定返回值的类型(如integer、real或向量),并且在函数体内部必须对返回值进行赋值,否则会产生错误。而task没有返回值,只能通过output或inout端口传递结果。其他选项分析:A错误,因为function内部不能调用task,task可以包含延迟、事件等时序控制语句,而function必须在一个仿真时刻内完成执行。B错误,function并非强制要求至少有一个输入变量,它可以没有输入变量,仅通过返回值返回固定值或从全局变量读取数据。D错误,task本身没有返回值,它的计算结果需要通过输出参数传递。易错点:很多考生混淆了function和task的调用规则,或误以为function必须有输入。在SystemVerilog中引入了void function,可以不返回数值,但传统Verilog中function必须有返回值,本题按主流EDA工具和常见笔试标准判断,应选C。

涉及知识点

  • function必须返回一个值
  • task没有返回值
  • function不能调用task
  • function可以没有输入变量
← 上一题
登录后反馈错题
下一题 →