SV中program & module

相同之处:

1.和module相同,program也可以定义0个或多个输入、输出、双向端口。

2.一个program块内部可以包含0个或多个initial块、generate块、specparam语句、连续赋值语句、并发断言、timeunit声明。

3.在program块中数据类型、数据声明、函数和任务的定义均与module块类似。

4.一个设计中可以包含多个program块,这些program块既可以通过端口交互,也可以相互独立,这一点与module块也是相似的。

 

不同之处:

1.一个program块内部不能包含任何其他的always块、用户自定义原语( UDP)、module块、接口(interface)、或者program块

2.一个module块中可以定义program块,但一个program块中却不能定义module块

3.一个program块可以调用其他module块或者program块中定义的函数或任务,但是一个module块却不能调用其他program块中定义的任务或函数。

关于Program:

    将验证平台与待测设计分隔开。program block的执行语句在re-active/re-inactive/re-NBA区域执行,采样值则是在preponed或postponed区域。module的话执行语句在active/inactive/NBA区域执行,re系列的区域都是SV新加的,在同一time slot中,是在active系列区域后的,这样就可以避免出现一些竞争。这样可以在不同的时间域运行,减少了竞争现象。同时program主用于执行测试案例。

 

微信公众号

     建立了一个微信公众号“Andy的ICer之路”,此公众号主要分享数字IC相关的学习经验,文章主要在公众号上发,csdn会尽量同步更新,有兴趣的朋友可以关注一下!

 

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值