2016-11-23 6 views
0
covergroup xxxx ; 
yyyy : coverpoint (zzzz) 
{ 
bins sequence_1 = {0=>1=>2=>3}; 
bins sequence_2 = {0=>1=>2=>3=>4}; 
bins sequence_3 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9}; 
bins sequence_4 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9=>10=>11=>12=>13=>14=>15=>16=>17}; 
bins sequence_5 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9=>10=>11=>12=>13=>14=>15=>16=>17=>18}; 
bins sequence_6 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9=>10=>11=>12=>13=>14=>15=>16=>17=>18=>19}; 

} 
endgroup 
  • ZZZZは、この機能カバレッジをコーディングではその入力
  • に応じて、3,4,9,17,18または19まで0からカウントするカウンタ・レジスタである、という考えは、どちらか一方を打つことです特定の一連の遷移が発生した場合は、ビンのうち1つのビンだけが表示されます。例えば遷移がsequence_2のように0から4まで行けば、0〜3のシーケンスがsequence_1に存在しているので、同様のシーケンスを持つシステムのVerilog機能カバレッジビンに問題はありますか?

  • ので、それはまた、sequence_1を打つだろう

おかげ

答えて

1

はい、 sequence_2がヒットした場合は、sequence_1もヒットしたことを意味します。あなたが本当に望むのは、カウンターが限界に達すると何が起こるかをカバーすることです。すなわち、それは0に戻るか、それは次のサイクルで限界にとどまるか?カウンターのすべての中間価値を精緻化する必要はありません。カバーグループはチェッカーではありません。あなたのテストで特定のシナリオが達成されたことだけを記録しています。

+1

最大回数に達すると0で再起動する循環カウンタです。ですから、シーケンス全体を指定するのではなく、ラップアラウンドトランジションを指定するだけでいいのですか? '{0 => 1 => 2 => 3}'の代わりに '{3 => 0}'のようなものです。 迅速な対応に感謝します.D – TheSprintingEngineer

関連する問題