← 2022 · 海光 笔试

推荐答案 测试一下

以下关于verilog function和task描述正确的是

A、Function结构中可以加入延时控制 B、Task结构中可以加入延时控制 C、Function中可以调用task D、Task结构中可以调用function
多选题 中等 笔试真题多选

参考答案

正确选项为B和D。 解析: - A: Function结构中可以加入延时控制(错误)。Verilog中function是组合逻辑电路模型,必须立即执行,不能包含任何延时控制(如#delay)、事件控制或非阻塞赋值。function的仿真时间必须为零,因此不允许加入延时。 - B: Task结构中可以加入延时控制(正确)。Task是过程性描述,可以包含延时控制、事件控制、阻塞赋值和非阻塞赋值,用于建模时序逻辑或复杂控制流。因此允许加入延时。 - C: Function中可以调用task(错误)。根据Verilog语法,function内部只能调用其他function,不能调用task。因为task可能包含延时或时序控制,而function要求立即返回且无时序依赖。 - D: Task结构中可以调用function(正确)。Task内部可以调用function,因为function是纯组合逻辑且无时序,符合task的任意调用需求。这也是常用的代码复用方式。 易错点:部分考生可能混淆function和task的调用规则,误以为function可以调用task;或忘记function的纯组合特性而误选A。

涉及知识点

  • function与task的区别
  • function不能包含延时控制
  • task可以包含延时控制
  • function不能调用task
  • task可以调用function
← 上一题
登录后反馈错题
下一题 →