program是SystemVerilog(非UVM环境)为测试而准备的测试环境的“外壳”。因此,program中不可以出现硬件行为语句,例如,always、module、interface和其他program例化。program对数据的采样发生在reactive阶段,即采样的是硬件变量在变化后的稳定数据,从而避免采样时可能发生的竞争问题(数据不稳定)。此外,program也具备自动结束仿真的隐性方法,这也是module所不具备的。
关键词:
program,module,reactive,sampling
避坑指南:
有了UVM环境之后,program的上述特点或优势均被UVM相对应的特性所取代,例如,数据驱动采样被时钟块取代、自动结束仿真被objection raise/drop取代。无论读者是否熟悉program特性,都不再需要在UVM环境中使用它。
阅读手记: