东营人力考试信息网官网,aso优化排名推广,seo优化系统,外贸营销网站任务及函数的使用
任务和函数有些不同
主要的不同有以下四点: 函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位。函数不能启动任务,而任务能启动其它任务和函数。函数至少要有一个输入变量,而任务可以没有或有多个任何类型的变量。函数返回一个…任务及函数的使用
任务和函数有些不同
主要的不同有以下四点:
函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位。函数不能启动任务,而任务能启动其它任务和函数。函数至少要有一个输入变量,而任务可以没有或有多个任何类型的变量。函数返回一个值,而任务则不返回值。函数的目的是通过返回一个值来响应输入信号的值。任务却能支持多种目的,能计算多个结果值,这 些结果值只能通过被调用的任务的输出或总线端口送出。Verilog HDL模块使用函数时是把它当作表 达式中的操作符,这个操作的结果值就是这个函数的返回值。
task说明语句
如果传给任务的变量值和任务完成后接收结果的变量已定义,就可以用一条语句启动任务。任务完成 以后控制就传回启动过程。如任务内部有定时控制,则启动的时间可以与控制返回的时间不同。任务 可以启动其它的任务,其它任务又可以启动别的任务,可以启动的任务数是没有限制的。不管有多少 任务启动,只有当所有的启动任务完成以后,控制才能返回。
$random这一系统函数可以产生一个有符号的32bit随机整数。一般的用法是$random%b, 其中b0。
这样就会生成一个范围在(-b+1):(b-1)中的随机数。如果只得到正数的随机数, 可采 用{$random}%b 来产生。使用任务 task,其语法如下:
task 任务名;
端口及数据类型声明语句
语句 1
语句 2
语句 ng