私の質問は、(組み込みのサンプル メソッドをオーバーライドした後) 複数のスレッドでカバーポイントを同時にサンプリングすると、何らかの副作用が生じるかどうかです。
詳細については、次のコードを検討してください。
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' のカバーグループを更新するために 2 つのスレッドが競合し、両方のスレッドに対してメソッド 'sample' が実行されます (別々のデータ スタックを使用)。両方のスレッドが同時にカバーグループ/カバーポイントを更新しようとすると、これにより何らかの副作用が生じると思いますか? (もしそうなら、明らかな解決策はもちろんセマフォを使用することです)。
乾杯、スタスト