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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3263|回复: 6

[求助] 好的问题:希望高人说下自己的见解,多多留言,一同学习!

[复制链接]
发表于 2010-7-23 17:03:18 | 显示全部楼层 |阅读模式

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

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

x
问题1:task 和function的主要区别是什么?大家知道的就回复,越多越好!!呵呵
问题2:做验证的过程中,前仿和后仿不同有哪些?如果前仿RTL通过了后,在后仿中出现了问题,最有可能出现在哪些地方?这些需要有流片工作经验的人才能准确地回答。。希望高人不惜留言!先谢谢了~~
 楼主| 发表于 2010-7-23 18:12:38 | 显示全部楼层
外加一个问题:PMU模块主要是实现时钟的关断和唤醒,我想问下它支持的几种模式:normal、idle、sleep、deepsleep之间的区别是什么?尤其是sleep和idle,sleep和deep sleep之间,描述的越详细越好!!谢谢帮忙~相信回帖的人今年交好运!!
 楼主| 发表于 2010-7-25 16:38:04 | 显示全部楼层
function 和 task 的区别
1.函数
只能在0时刻开始执行(生效),函数只能与主模块共用一个仿真时间单位,

不能含有任何延迟,事件或者时序控制声明语句

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

至少有一个输入变量,可以有多个输入变量

只能有一个返回值,不能有输出(output)或者双向(inout)变量

2.任务

可以在非0时刻执行,可以 定义自己的仿真时间单位。

可以包含延迟,事件或者时序控制声明语句

任务能调用另一个任务,也能调用另一个函数

可以没有或者有多个输入(input)、输出(output)和双向(inout)变量

不能返回任何值,但可以通过output和inout变量传递多个值
发表于 2010-7-25 23:29:04 | 显示全部楼层
学习学习
发表于 2010-7-30 09:47:45 | 显示全部楼层
very good
发表于 2010-8-10 00:44:40 | 显示全部楼层
(1)在SV中吗?task 和function的主要区别是: task中可以有时延和事件等待,无返回值;function有返回值,不能有时延和事件等待,但可以用fork...join_none的方式实现延时和事件等待。
(2)前仿主要是功能验证,RTL级;后仿是netlist级,主要检查setup和hold time,包括best和worst两种验证。setup和hold time不满足工艺库的要求,时钟频率不满足需求,低功耗设计需求等在前仿很难解决。主要出现的地方有:触发器间的大量组合逻辑、异步时钟域问题、双口memory、低功耗设计、时钟和电源管理等。
(3)时钟管理部分,主要区别是通过时钟控制,达到省电目的。一般来说,normal和idle有时钟;sleep无主时钟,采用辅助时钟或主时钟降频;deepsleep无任何时钟。各个状态之间的切换一般需要依次进行,即从normal不能直接切换到deepsleep。当然,不同的团队的设计是有差异的。
发表于 2010-8-24 17:39:34 | 显示全部楼层
楼上的经典!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-15 09:23 , Processed in 0.024932 second(s), 9 queries , Gzip On, Redis On.

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