集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1316|回复: 2

VRILOG任务定义

[复制链接]
fpga_feixiang 发表于 2019-6-21 17:31:49 | 显示全部楼层 |阅读模式
任务定义的形式如下:
task task_id;
    [declaration]
    procedural_statement
endtask
其中,关键词 task 和 endtask 将它们之间的内容标志成一个任务定义,task 标志着一个
任务定义结构的开始;task_id 是任务名;可选项 declaration 是端口声明语句和变量声明语
句,任务接收输入值和返回输出值就是通过此处声明的端口进行的;procedural_statement
是一段用来完成这个任务操作的过程语句,如果过程语句多于一条,应将其放在语句块内;
endtask 为任务定义结构体结束标志。下面给出一个任务定义的实例。

:定义一个任务。
task task_demo;                //任务定义结构开头,命名为 task_demo
    input  [7:0] x,y;           //输入端口说明
    output [7:0] tmp;           //输出端口说明
 
    if(x>y)                  //给出任务定义的描述语句
      tmp = x;
  else
    tmp = y;

endtask
上述代码定义了一个名为“task_demo”的任务,求取两个数的最大值。在定义任务时,
有下列六点需要注意:
(1)在第一行“task”语句中不能列出端口名称;
(2)任务的输入、输出端口和双向端口数量不受限制,甚至可以没有输入、输出以及
双向端口。
(3)在任务定义的描述语句中,可以使用出现不可综合操作符合语句(使用最为频繁
的就是延迟控制语句) ,但这样会造成该任务不可综合。
(4)在任务中可以调用其他的任务或函数,也可以调用自身。
(5)在任务定义结构内不能出现 initial和 always过程块。
(6)在任务定义中可以出现“disable 中止语句” ,将中断正在执行的任务,但其是不
可综合的。当任务被中断后,程序流程将返回到调用任务的地方继续向下执行。
zxopenljx 发表于 2025-3-17 17:03:51 | 显示全部楼层
VRILOG任务定义

点评

海!外直播 bitly.net/jyyyy 禁闻视频 bitly.net/hhxhh 正常国家的新闻特点是:“因为没发生,所以不报导。”中国的新闻特点是:“因为不报导,所以没发生。” 看看真实的  发表于 2025-3-20 11:00
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-4 19:15 , Processed in 0.055995 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表