PCI协议由许多不同类型的总线周期组成。我们在仿真过程中希望确认是否已经覆盖了每种类型。
下面使用枚举类型pciCommands定义各种总线周期类型
covergroup指定了正确的采样事件(在这里是FRAME_的下降沿)。
从仿真性能的角度来看,这个采样事件非常重要,如果使用@ (posedge clk)进行采样会增加很多的仿真性能开销。
在上面的例子中,我们没有指定任何bins。仿真器将自动创建12个在FRAME_下降沿采样的bins,分别代表12个总线周期类型。
在每一次FRAME_下降沿,仿真器会查看总线上的pciCommands_cover是否是这12个总线类型中的一个,如果匹配则表示该总线类型被cover一次。