FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

RISC-Vのトレースフォーマット仕様書が公開されたので読んでみる(4. フィルタリング)

RISC-V トレースフォーマットの勉強。続き。

github.com

github.com

1章ずつ、翻訳ではなく日本語でサマライズしていく形式で進めていく。


4. フィルタリング

エンコーダがトレースを生成するためのメカニズムを示している。例えば、以下の条件ではトレースは生成されるべきである。

  • 命令アドレスが特定の範囲内に存在する。
  • 1つの命令のアドレスから始まり、2番目の命令アドレスまで続く。
  • 1つ以上の特定の特権モード。
  • 特定のコンテキストもしくはコンテキストの範囲内。
  • 特定の要因の例外しくは割り込みハンドラ。もしくは特定のtvalの値。
  • impldefもしくはtrigger信号に基づく値
  • 特定の固定時間

このような実装をどのようにして実装するかについては、以下のような実装方法が考えられる。

  • 特定の演算に基づくコンパレータ(<, >, =, !=,など)。iaddress, contextおよびtvalに適用される。
  • privおよびcauseの選択
  • interruptおよびimpdef入力に対するマスク付きマッチング
  • trigger[0]がアサートされた場合のトレース有効化機能、trigger[0]がアサートされた場合のトレース継続機能