Program要点总结
- 1、program 对数据的采样发生在reactive 阶段,而module是在active阶段。
- 2、program具备自动结束仿真的隐形方法
$finish
- 3、program是SystemVerilog(非UVM环境)为测试而准备的测试环境的“外壳”。因此program 中不可以出现硬件行为语句,例如,always、module、interface 和其他 program 例化
为避免仿真和设计竞争问题(race condition),systemverilog中引入了program的概念。
- program 对数据的采样发生在reactive 阶段,即采样的是硬件变量在变化后的稳定数据,从而避免采样时可能发生的竞争问题(数据不稳定)。
1、自动存储与静态存储介绍
- automactic:自动存储(相当于局部变量)
- static:静态存储(相当于全局变量)
类class
中定义的任务和函数总是自动automatic的。 自动任务中声明的所有项都为每次调用动态分配。 所有形式参数和局部变量都存储在堆栈上。