我的问题是通过多个线程同时采样覆盖点(在覆盖内置采样方法之后)是否会产生任何副作用。
更详细地,考虑以下代码:
covergroup p_cg with function sample(bit [1:0] a);
coverpoint a;
endgroup : p_cg
p_cg cg1 = new;
init cg1.sample(0);
init cg1.sample(1);
我的理解是两个线程将竞争以更新覆盖点'a'的覆盖组,并且方法'sample'将为两个线程执行(使用单独的数据堆栈)。当两个线程同时尝试更新覆盖组/覆盖点时,您认为这会产生任何副作用吗?(如果是这样,显而易见的解决方案当然是使用信号量)。
干杯,斯塔斯特