私のテストベンチで制約をオーバーライドするのに問題があります。私のシーケンスで は私がやっている次: 制約をオーバーライド
`uvm_do_with(req, {trans_kind == WRITE ;
address == 40'hc0_0000_0000;
mask_mismatch_error == 1;
bus_error_type == SCB_BUS_ERR_NONE;
}) //this line sends the transaction
そして、私のシーケンス項目で
:NCSIM:* W、SVRNDFログファイルには、この警告を与えている
constraint c_mask_mismatch_error_disable_map8 { (cfg_h.is_map8 == 1) -> (mask_mismatch_error == 0); }
(送信元ロケーション/ライン):ランダム化メソッドコール が失敗しました。 79492842 PS + 14
NCSIM:* W、RNDOCS:これらの制約は 矛盾する制約のセットに貢献:})//この失敗したランダマイズコールの一意のIDは86
観測シミュレーション時間でありますラインは、トランザクションを送信 ( (mask_mismatch_error == 0);}(ソース位置/ライン)
NCSIM:* W、RNDOCS:
状態変数:これらの変数は、競合 制約のセットに寄与する。 cfg_h.is_ma P8(1)ソース位置/行]
ランド変数:mask_mismatch_error [ソース位置/ライン]
オーバーライドこのタイプのが不可能である理由を私は理解していません。シーケンスから制約をオーバーライドできるようにするにはどうすればよいですか?
ありがとう、私はあなたの解決策を実装します – Pete
もう一つの選択肢は、シーケンス項目の一部として持つ制約を 'ソフト制約 'として宣言することです。 – AndresM