我是靠谱客的博主 忐忑小懒猪,最近开发中收集的这篇文章主要介绍20,verilog之任务与函数用法比较,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注:学习、交流就在博主的个人weixin公众号 “FPGA动力联盟” 留言或直接+博主weixin “fpga_start” 私信~

首先,博主要说的是,函数和任务都是可以综合成电路的,但有诸多的要求和限制,所以要谨慎使用!

下面总结函数和任务的共性与区别:

  • 共性:

1,函数与任务必须在模块内定义,其作用范围仅适用于该模块,可以在模块内多次调用

2,任务和函数中可以声明局部变量,如寄存器、时间、整数、实数和事件,但不能声明线网类型的变量

3,任务和函数只能使用行为级语句,但是不能包含always和initial,设计者可以在always和initial块中调用任务和函数

  • 区别:

1,函数能调用另一个函数,但不能调用任务

2,任务可以调用函数,也可以调用任务

3,函数一定不能包含任何延迟、事件或时序控制声明,但任务可以

4,函数至少要有一个输入变量,任务可以没有或有多个输入、输出变量

5,函数只能返回一个值,函数不能有output或inout

6,任务不返回任何值

总得来说,函数用于替代纯组合逻辑的verilog代码,而任务可以替代verilog的任何代码。但在电路综合领域,两者没有区别,都只能替代纯组合逻辑的verilog代码。综合器在处理仅含有组合逻辑的函数和任务时,差别是不存在的。这两者的功能都是:简化代码和提高代码的易读性!

参考文献:

1,verilog传奇——从电路出发的HDL代码设计

2,verilog编程艺术

最后

以上就是忐忑小懒猪为你收集整理的20,verilog之任务与函数用法比较的全部内容,希望文章能够帮你解决20,verilog之任务与函数用法比较所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部