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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7537|回复: 14

verilog任务的问题~

[复制链接]
发表于 2005-8-9 00:43:08 | 显示全部楼层 |阅读模式

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

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

x
发现任务有点类似与模块。请问为什么还要任务啊?调用另外一个模块不可以吗?是不是两者在综合的时候有所不同啊?还是仅仅跟高级语言那样为了语言的灵活?
发表于 2005-8-11 11:47:23 | 显示全部楼层

verilog任务的问题~

task与module绝对是两个不同的概念,而且建议初学者别在设计代码中使用task。
task会被综合为组合逻辑,建议看看verilog的golden rule。
发表于 2005-8-14 19:21:11 | 显示全部楼层

verilog任务的问题~

task并不都是组合逻辑的。
你也可以在task里用FlipFlop(寄存器),同样function也可以。
发表于 2005-8-15 21:30:33 | 显示全部楼层

verilog任务的问题~

task里用FF是可综合的吗?stanley能否给出示例?实话说我很少在设计中用task,一般只在testbench中使用。
发表于 2005-8-29 17:43:35 | 显示全部楼层

verilog任务的问题~

module一般用来做可以综合的代码,
task主要用在testbench,好像还没看见谁在综合代码中用task,要实现组合电路,用function更合适。但仿真时,task功能强得多,也结构化的多,好的testbench绝对离不开大量的task。
发表于 2005-9-4 17:50:38 | 显示全部楼层

verilog任务的问题~

iamchine:
     或者你说得是对的,我也从来没在design(可综合的)里用过task,也没有试过。
"好的testbench绝对离不开大量的task", 这句却不是很认同。太多的task有时并不是好事,只有功能相对独立的,才建议用task. 例如CPU写,CPU读等.


发表于 2005-9-5 00:16:17 | 显示全部楼层

verilog任务的问题~

1、从执行方面看,function和task是顺序执行,非并发执行,即只能用于always或intial块中;
2、从功能方面看,function表示组合逻辑,task表示组合逻辑或时序逻辑逻辑;
3、从c语言的对应来看,function基本上相当于c语言中的表达式宏,而task相当于c语言中的内联函数;
   在verilog中引入function和task可以极大提高结构化描述能力,增强可读性,但由于verilog是非强类型语言,使用task作时序描述时需非常小心,否则容易出错;至于module和task,从1可以看到两者的明显区别,module可看作并发语句,而task只能看作为顺序语句。
发表于 2005-9-5 00:29:30 | 显示全部楼层

verilog任务的问题~

更正:
1应为:
1、从执行方面看,task是顺序执行,非并发执行,即只能用于always或intial块中,function可以用于并发或顺序语句中;
发表于 2009-6-19 22:50:47 | 显示全部楼层

请教task

请问各位高人,在task中可以并行使用initial语句吗?
发表于 2009-6-20 23:09:55 | 显示全部楼层
task主要用在testbench中,在initial中例化task
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-19 05:39 , Processed in 0.025871 second(s), 11 queries , Gzip On, Redis On.

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