SystemVerilog中program有什么作用?结束方式是什么?

6.1 program的作用

将验证部分与设计部分进行隔离(实现方式就是将软件验证部分放置program中)

6.2 program的结束方式

Program结束方式分为两种:(1)隐式结束 (2)显式结束
(1)隐式结束:如果program种有一个initial,则执行完该initial过程块,program就自动结束,但如果有多个initial过程块,则执行最后一个过程块后program将自动结束。
(2)显示结束:如果program中的某个initial过程块不能自动结束,即无限循环,那么就需要加上$exit(),退出该program,此即为显示结束方式。

6.3 注意点

(1)因此program的隐式结束与显示结束的区别在于initial块能不能自动结束,若不能需要加$exit()。还可调用$finish

(2)如果在测试程序里的多个地方调用同一个任务,由于任务里的局部变量会使用共享的静态存储区,所以不同的线程之间会窜用这些局部变量。为了防止出现这种情况,可以在程序语句中加入automatic关键词指定任务、函数和模块使用自动存储、从而迫使仿真器使用堆栈区存储局部变量。

program automatic test (arb_if.TEST arbif);// 应当总是将程序块声明为automatic类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Francis7777777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值