0

私の質問は、(組み込みのサンプル メソッドをオーバーライドした後) 複数のスレッドでカバーポイントを同時にサンプリングすると、何らかの副作用が生じるかどうかです。

詳細については、次のコードを検討してください。

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' が実行されます (別々のデータ スタックを使用)。両方のスレッドが同時にカバーグループ/カバーポイントを更新しようとすると、これにより何らかの副作用が生じると思いますか? (もしそうなら、明らかな解決策はもちろんセマフォを使用することです)。

乾杯、スタスト

4

3 に答える 3

0

いいえ。定義上、サンプルは時間がかからない関数です。

于 2015-12-07T16:45:40.683 に答える