【verilog教程】第8篇:verilog中的任务

43 篇文章 82 订阅 ¥99.90 ¥299.90
这篇教程聚焦于Verilog中的任务(task),介绍了任务与函数的关键区别,如任务可定义自己的仿真时间单位,能启动其他任务和函数,且不返回值。同时,讲解了任务的规则,如任务可引用模块内任何变量,接收返回数据的变量必须为reg类型。
摘要由CSDN通过智能技术生成

参考:
《夏宇闻-Verilog经典教程》第3.7.3节

函数与任务的区别:

  1. 函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位。
  2. 函数不能启动任务,而任务能启动其它任务和函数。
  3. 函数至少要有一个输入变量,而任务可以没有或有多个任何类型的变量。
  4. 函数返回一个值,而任务则不返回值。

相同点
verilog中的task和function是可以综合的,不过综合出来的都是组合电路。

规则
(1)除任务参变量外,任务还能够引用任务定义所在模块中声明的任何变量
(2)注意,任务语句是过程性语句,所以任务调用中接收返回数据的变量必须是reg类型。
例如:
reg [13:0] ddr_cmd_tmp;
send_cmd(0, cnt_clk_d0, cmd_pack, ddr_cmd_tmp);

参考链接(很不错的链接):
https://blog.csdn.net/bleauchat/article/details/89711124#3.1%E6%98%BE%E7%A4%BA%E4%BB%BB%E5%8A%A1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑猫学长呀

有帮助到你就来打个赏呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值