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

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

时间2025-05-02 09:46:44分类IT科技浏览3057
导读:参考自以下链接处: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
c++对c的改进主要有哪些方面?(对c++的一些思考(一)) protac发展历程图(GPT的发展历程)