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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4592|回复: 5

[原创] SV里program block的作用? 和module 有什么不同?

[复制链接]
发表于 2017-5-8 14:52:58 | 显示全部楼层 |阅读模式

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

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

x
SV里program block的作用? 和module 有什么不同? 为什么要提出program block ?
发表于 2017-5-11 10:18:28 | 显示全部楼层
发表于 2017-5-18 17:34:36 | 显示全部楼层
program和module在不同的time region,还有一些其它区别。
发表于 2017-6-16 15:55:46 | 显示全部楼层
回复 3# zgl5566
《system Verilog for verification》书中有讲,"system Verilog 把 测试平台的事件和设计的时间分开调度",应该就是你说的时序区域(Timing Region)吧。我想请教一下不同的时序区域对应的是不同的仿真时间吗?我想知道这个时序区域(Timing Region)是怎么把设计、断言、测试平台结合起来的呢?
发表于 2017-6-21 10:01:39 | 显示全部楼层
具体可以看下sv手册上的那个图。其实program block的存在主要是为了消除竞争冒险,同一时刻如何区分硬件和软件触发和采样先后的问题,这里的硬件指rtl代码,软件指testbench。
发表于 2017-6-21 17:09:34 | 显示全部楼层
我最近在学sv,是这样理解的。program block的执行语句在re-active/re-inactive/re-NBA区域执行,采样值则是在preponed或postponed区域。module的话执行语句在active/inactive/NBA区域执行,re系列的区域都是SV新加的,在同一time slot中,是在active系列区域后的,这样就可以避免出现一些竞争。举个例子,可能不太好,比如我要在上升沿触发一个激励,如果在module中,我应该写非阻塞,如果写成阻塞的话这个时钟沿就生效了,会影响到DUT里的非阻塞的值。但在program中,无论激励写成阻塞或非阻塞都不会影响
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 03:52 , Processed in 0.016448 second(s), 7 queries , Gzip On, Redis On.

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