は私が持っているループ「ながら」このようになりますOVMテストの一部として:特定のタイムアウト条件のチェック後にOVM/Verilogで「しばらく」ループを終了するにはどのよう
while (signal_val == 0) begin
signal_val = sla_vpi_get_value_by_name ("blah");
end
私がしたいですこのループを120マイクロ秒間だけ制限し、その後で終了します。 120μsの最後にまだ(signal_val == 0)が満たされていない場合、テストを終了したいと思います。これをどのように達成するのですか?
テストから終了するために 'global_stop_request()'を呼び出す必要がありますが、固定のタイムアウト値(120μs)のwhileループの既存の状態をチェックしようとするのは難しいようです。また、 '休憩'は機能していないようです。何か案は?
は「ブレーク」この方法を使用してみましたが、「ブレーク」は構文エラーを与える:あなたが期待しているよう
while (signal_val == 0) begin
signal_val = sla_vpi_get_value_by_name ("blah");
#120us;
break;
end
「ブレーク」は機能しません。どのようにそれを適用しましたか? – Serge
しかし、私はここで2つのことを認識しました。1. 'break'は構文エラーです。 2. 120マイクロ秒の遅延が追加されていますが、120マイクロ秒の間、条件がチェックされていません。 – chmod
どのようなエラーメッセージが表示されましたか? – Serge