在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4977|回复: 9

[求助] 函数任务和模块的区别?

[复制链接]
发表于 2011-10-21 16:35:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人学刚学verilog,一直不明白任务和模块的区别?
发表于 2011-10-21 17:45:34 | 显示全部楼层
本帖最后由 warmheard 于 2011-10-21 17:47 编辑

模块是描述一个功能的,你可以把他看成一个器件,有input output inout等端口
多个模块通过相互连接组成一个复杂的设计,相当于多个器件通过连线拼接成一个更大的器件。

task是用于描述一个小的功能,也包含input output等,从这一点上看与模块很类似,但是一般用于描述非常单一的功能,而且此功能可能被多次使用(不然的话就不需要用task描述了),比如乘法等。我记得好像task里面不能用always语句,不能例化其他模块。。。

task一般不用于RTL设计,主要用于验证时写testbench。

自己写一些设计就会慢慢懂得
发表于 2011-10-21 21:42:11 | 显示全部楼层
楼上解释很明白了!任务在特定时候也能用于RTL综合  而且还能达到很好的效果!
发表于 2011-10-21 23:55:24 | 显示全部楼层
二楼正解
发表于 2011-10-22 00:34:07 | 显示全部楼层
二楼正解
发表于 2011-10-22 00:54:52 | 显示全部楼层
二楼正解
 楼主| 发表于 2011-10-22 14:38:23 | 显示全部楼层
回复 2# warmheard


    谢谢!那函数有啥用?
发表于 2011-10-25 11:05:28 | 显示全部楼层



function和task功能基本一致,但是function里面不能有延时,task可以调用function,function则不能调用task。。。。
看看verilog标准里面关于function和task之间的区别,说的很详细
 楼主| 发表于 2011-10-25 14:11:58 | 显示全部楼层
回复 8# warmheard


    谢谢!!!!
发表于 2019-6-5 16:46:20 | 显示全部楼层
task里面不能有initial,可以有时间延迟,甚至可以没有输入输出
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-15 05:34 , Processed in 0.025019 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表