首页IT科技verilog中task怎么用(Verilog——任务task的调用)

verilog中task怎么用(Verilog——任务task的调用)

时间2025-06-20 20:28:06分类IT科技浏览3591
导读:参考自以下链接处:http://t.csdn.cn/4ws4t...

参考自以下链接处:

http://t.csdn.cn/4ws4t

下面直接看代码           ,代码中会有注意事项            。

此代码没法仿真出波形                  ,只是简单的例子而已                 。

task与funtion还是蛮重要的知识点      ,下面从我喜欢的视角简单总结一下二者的内容和区别

(1)先从Verilog定义二者的写法开始        ,task的定义中直接加任务名称                 ,中间不会有位宽的声明;而function毕竟就是函数         ,逻辑上使用函数一般就是赋值操作      ,赋值就要考虑位宽                 ,所以function的定义中会加个位宽范围            ,如果不写就默认是1bit      。

(2)写到了下面一部分   ,对于二者都是《端口及数据类型声明语句》                 ,但是function只能有input输入变量               ,task则没这个限制,可以有input           、output                  、inout;

(3)下一部分则一定要用“begin end            ”来写              ,这里就是实实在在的二者想实现的逻辑功能语句了                  ,其中task想怎么写怎么写   ,可以有时延符号           ,也可以纯组合逻辑;但是function就只能是纯组合逻辑                  ,不能加时延类型的符号         。所以funciton可以综合                 。

(4)endtask      、endfunction不能忘写        。

从中文字眼来看      ,也知道任务是高级一点        、包容一点的东西        ,所以一般可以理解函数是任务的子集                 ,任务可以调用函数         ,函数不能反过来调用任务的      。

但是怎么写      ,怎么用                 ,还是得多练            ,多编译   ,多仿真                  。

声明:本站所有文章                 ,如无特殊说明或标注               ,均为本站原创发布           。任何个人或组织,在未征得本站同意时              ,禁止复制                 、盗用         、采集      、发布本站内容到任何网站                 、书籍等各类媒体平台   。如若本站内容侵犯了原著者的合法权益                  ,可联系我们进行处理                  。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
史上最全学习率调整策略lr_scheduler