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

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

时间2025-08-05 00:49:12分类IT科技浏览3974
导读:参考自以下链接处: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
云服务器不支持怎么解决(云服务器ping不了的原因有哪些)