咱们知道,verilog语法标准中是没有program的,program是systemverilog语法标准新增的内容。spa
那么,为何要新增一个program呢?主要考量是基于电路的竞争与冒险。线程
为避免仿真和设计竞争问题(race condition),systemverilog中引入了program的概念。设计
全部与设计相关的线程在module中执行,而与验证有关的线程则在program中运行。在仿真过程当中,这两种线程运行在不一样的时间步(time step),从而解决了竞争问题。it
module与program的区别:io
Program和module的另外一个区别是module容许嵌套,而program不容许。module