推荐答案
测试一下
题目
关于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可以没有输入变量