デバッグ機能
Active-HDL には、シミュレータと統合され、使い勝手の良いデバッグ機能が搭載されています。
デバッグ機能には、信号履歴表示、データフローの解析、メモリ内部の観測、ソースコードのステップ実行などがあります。
デザイン作成で使用したブロックダイアグラムエディタ、ステートマシンエディタは、シミュレーション実行中は、デバッグ機能として使用することができます。
信号履歴
信号履歴を表示する機能は、ハードウェアデバッグ環境では不可欠なものです。Active-HDL では、信号履歴を波形とタブ形式のリストとして表示することができます。
信号を波形表示するウィンドウは波形エディタとして使用することができます。

複数の波形ウィンドウを立ち上げて、お互いに連携して使用することができます。
波形ウィンドウでは、信号値、イベント、立ち上がり・立下りエッジ、ブックマーク、コメントを利用できます。
波形ウィンドウをエディットモードにして、バーチャルな信号を作成することができます。
(例えば、RW=1, WE=1 and ADDR=0x00FF で真となる信号を波形ウィンドウに追記)
信号履歴は、リストウィンドウにも表示されます。リストウィンドウではデータをタブ形式のスプレッドシートのような形式で表示します。
グラフィカルなデザイン分析
拡張データフローで検証対象デザインの接続関係をグラフィカルに確認することができます。
複雑なデザインであっても信号線をクリックするだけでその信号を出力するプロセスを表示することができます。

グラフィカルデザインエントリツールによるデバッグ
Active-HDL にはグラフィカルデザインエントリツール、ブロックダイアグラムエディタとステートマシンエディタが搭載されています。
シミュレータが起動されるとその二つのデザインエントリツールは自動的にデバッグ機能として使用することができます。
ブロックダイアグラムではシミュレーションモデルの入出力ポートの値を確認することができます。

ステートマシンエディタでは、実行中のステートは黄色でハイライト
表示されます。また、その前に実行されたステートを濃い黄色、さらに前
に実行されたステートを濃い緑で表示します。ツールバーの Trace Over
Transition ボタンを押すことによって次のステートへの遷移を強制的に
行うことができます。

ステートにブレークポイントを設定することもできます。
ソースコードデバッグ
ハイレベルなビヘイビアコードはソースコードの個々のステートメントをステップ実行してデバッグすることができます。
C/C++ のプログラムをデバッグするのと同様に現在実行されているステートメントがハイライトされ、バリアブルの信号値が表示され、
現在実行されているサブプログラムはコールスタックウィンドウに表示されます。
ブレークポイント
シミュレーションは、ブレークポイントで停止します。ブレークポイントの設定は、ソースコードと信号のどちらに対しても可能です。
信号へのブレークポイントはイベント発生時または設定された特定の値になった際に実行されます。
ウォッチウィンドウ
ウォッチウィンドウは、検証対象デザインの特定のオブジェクト(信号、
バリアブル、ネット、レジスタ等)の値を表示する為のデバッグ機能です。
さらに、ウォッチウィンドウによって、VHDL サブプログラム(ファンクショ
ンとプロシジャー)及びVerilog タスク、ファンクションでローカルに宣
言されたパラメータやオブジェクトの値を観測することもできます。

X トレース
X 値は検証デザインが予期しない出力をした場合の原因となるケースがあ
ります。Active-HDL は X トレース機能を備えており、X や U 値が発生
するやいなや、つまり出力ポートに伝播する前にそれらを検出することが
できます。X トレースコマンドに"-hold"オプションを付加すると、X や
U 値がモニターしている信号に発生するとシミュレーションを停止します。
不定値に関する情報はコンソールウィンドウに表示されます。そして、表
示された情報のラインをダブルクリックするとその原因となるソースコー
ドにリンクします。
全ての機能の密接な統合
市場での他のツールとは違って、Active-HDL はデザインエントリ、シミュレーション、デバッグという一連の機能が一つの環境に統合されています。
この統合によって、様々なメリットを提供します。シミュレーションとデバッグ機能の通信オーバーヘッドは最小にとどめられています。
デザインエントリツールは、シミュレーションが開始されるとデバッグ機能として使用できます。
各機能のクロスプロービングが可能となっています。
波形ウィンドウからソースコードへのジャンプやストラクチャブラウザの階層ツールへのジャンプが可能です。
シミュレータから生成されたアウトプットへのクロスプロービングも可能です。
例えば、タイミングバイオレーションを起こしているというレポートをクリックすると HDL 専用エディタの該当プロセスへジャンプします。
同様に、波形ウィンドウの信号エッジをクリックするとソースファイルをオープンして、そのイベントを発生させているステートメントを表示します。
|