デルタカウントオーバーフロー

概要

次のエラーメッセージは何を意味していて、どうやってエラーを回避しますか?

# KERNEL: Delta count overflow - stopped. Try to increase the iterations limit in simulator preferences.

対応方法

イタレーションの回数を増やします。メニューの Tools | Preferences | Simulation を選択し"Delta iterations limit"の値を大きくします (デフォルトは 5000)。

デザインに無限ループがある場合には、回数を増やしてもエラーは回避できません。

次の手順で問題の原因を突き止めます。

  1. シミュレーションを実行してエラーを発生させます。シミュレーションがデルタカウントオーバーフローエラーにより、特定の時間で停止します。発生時間を確認します。

  2. デバッグモードでカバレッジ収集設定をして、エラー発生時間から1ns引いた時間までシミュレーションを再実行します。: asim -dbg -cc -cc_all 

  3. コンソールウィンドウに次のように入力します。: coverage clear to reset this data

  4. 残りのシミュレーションを実行して、デルタカウントオーバーフローエラーを発生させます。

  5. カバレッジ収集結果を解析し、カウント回数が最も多いプロセスを見つけます。そこが無限ループの原因だと思われます。

カバレッジ収集用のライセンスを所有していない場合には、カバレッジ機能を使用する代わりに、ソースコードが無限ループする個別ファイルを指し示すまで、キーボードで F7 キーをたたき続けるか、Simulation | Trace into を実行し続けます。



Printed version of site: support.aldec.com/jp/support/resources/documentation/faq/1024