トレース レポート - 2023.2 日本語

AI エンジン ツールおよびフロー ユーザー ガイド (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 日本語

トレース機能は、カーネル コードをインストルメント化したり gdb を使用したりする必要なしに、シミュレーション ハングのデバッグに使用されます。トレース機能は、外部テストベンチでは使用できません。2 つの使用モデルがあります。

最初の使用モデルは、外部テストベンチを使用しないスタンドアロン x86 シミュレーションに適用されます。x86 シミュレータでデッドロックが検出されると、デザインがデッドロック状態になったことを示すメッセージが表示され、シミュレーションが終了し、トレース オプションをイネーブルにしてシミュレーションを再実行することが推奨されます。トレース オプションをイネーブルにしてシミュレーションを再度実行すると、シミュレーション中に発生したイベントに関するテキスト レポートが生成されます。このレポートは、デッドロックの根本的な原因を特定するのに役立ちます。根本的な原因は、シミュレーション プラットフォームのデータ ファイルの入力データが不十分であるというような単純なものから、より複雑なものがあります。

2 番目の使用モデルは、--trace および --timeout=secs オプションをイネーブルにしたシミュレーションに適用されます。タイムアウトに達すると、シミュレータが終了し、トレース レポートが生成されます。最初の使用モデルと同様に、トレース レポートを解析すると、デッドロックの根本的な原因を特定するのに役立ちます。

次のオプションがあります。

  • --trace: シミュレーションの最後に完全なトレース レポートを生成します。
  • --trace-print: シミュレーションの実行中にコンソールに出力が表示されるようにします。

トレース レポートの内容

トレース レポートには、x86 シミュレータでのデザインのシミュレーション中に発生したイベントのシーケンスが表示されます。生成されたファイルの名前は x86simulator_output/trace/x86sim_event_trace.data.txt です。記録されるイベントの種類は、次のとおりです。

  • カーネル反復の開始
  • カーネル反復の終了
  • ストリーム ストールの開始 (データ不足のためにブロックされたカーネルのストリーム ポートからの読み出しの開始)
  • ストリーム ストールの終了 (ブロックされていたストリーム ポートからの読み出しが回復した時点)
  • ロック ストールの開始 (ロックできないウィンドウ ポートを取得しようとし始めた時点)
  • ロック ストールの終了 (ブロックされていたウィンドウ ポートの取得が回復した時点)

--trace-print と --trace の出力の比較

--trace-print の出力は、--trace で生成されるファイルのようにきちんとフォーマットされていません。シミュレーションで何が起こっているかをすばやく確認する場合、または --timeout=secs ではなく CTRL-C でシミュレーションを終了する場合は、--trace-print を使用します。

--trace-print の出力の列には、次の情報が表示されます:

  • タイムスタンプ: x86sim_event_trace.data.txt と同じです。
  • カーネルの内部名 (x86sim_event_trace.data.txt ではユーザー名を使用)。
  • イベント タイプ。
  • イベント タイプによって意味が異なる数値。ロックまたはストリーム ストールを待機しているポートをエンコードします。反復イベントの開始の反復番号をエンコードします。