任务和函数的使用

87 篇文章 34 订阅 ¥19.90 ¥99.00
35 篇文章 1 订阅

任务及函数的使用

任务和函数有些不同

主要的不同有以下四点:

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

函数的目的是通过返回一个值来响应输入信号的值。任务却能支持多种目的,能计算多个结果值,这
些结果值只能通过被调用的任务的输出或总线端口送出。Verilog HDL模块使用函数时是把它当作表
达式中的操作符,这个操作的结果值就是这个函数的返回值。

task说明语句

如果传给任务的变量值和任务完成后接收结果的变量已定义,就可以用一条语句启动任务。任务完成
以后控制就传回启动过程。如任务内部有定时控制,则启动的时间可以与控制返回的时间不同。任务
可以启动其它的任务,其它任务又可以启动别的任务,可以启动的任务数是没有限制的。不管有多少
任务启动,只有当所有的启动任务完成以后,控制才能返回。

$random这一系统函数可以产生一个有符号的32bit随机整数。一般的用法是$random%b, 其中b>0。
这样就会生成一个范围在(-b+1):(b-1)中的随机数。如果只得到正数的随机数, 可采 用{$random}%b 来产生。

使用任务 task,其语法如下:

task <任务名>;
<端口及数据类型声明语句>
<语句 1>
<语句 2>
<语句 n&g
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

傻童:CPU

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值