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

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

时间2025-09-19 08:45:49分类IT科技浏览4550
导读:参考自以下链接处: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
win10蓝牙键盘已连接无反应(如何处理Win10无法连接蓝牙键盘?win10蓝牙添加设备无法连接)