Evolve で保存済み RTL を解析する

ローカルの用途を絞った RTL アナライザーを実行し、ターゲット固有の構造的な証拠を読みます。

このローカルワークフローでは、Linux 上の Altifigence CLI 0.1.9 を使用します。

保存した結果を読む前に、終了ステータスが 0 であることを確認してください。標準エラー出力は別に保存し、以下で説明する結果フィールドを確認します。

小さな RTL モジュールを保存する

以下のモジュールをプロジェクトディレクトリに buffer.sv として保存します。続くコマンドでは、実際のプロジェクトの絶対パスを使用してください。analyze 操作は、保存したモジュールを読み、指定した top とターゲットを選択します。最初は generic-asic を使用し、この小さな組合せ回路のネイティブな構造解析に初回の実行対象を絞ります。

module buffer(input logic a, output logic y);
  assign y = a;
endmodule

用途を絞ったアナライザーを実行する

alti evolve capabilities
alti evolve analyze --project /absolute/project buffer.sv --top buffer --target generic-asic > buffer-analysis.json

コマンドの完了後に buffer-analysis.json を開きます。ターゲットを明示すると、altifigence.rtlAnalyze.multiTarget.v1 エンベロープが生成されます。targets と primary を読んで選択されたプロファイルを確認し、続いて共有の schematic、roofline、tool_inputs、および notes があればそれらとともに per_target を確認します。リビジョンを比較する際は、各メトリクスがそのターゲットと裏付けとなる証拠に結び付いた状態を保てるように、エンベロープ全体を保持してください。

{"schema_version":"altifigence.rtlAnalyze.multiTarget.v1","targets":["generic-asic"],"primary":"generic-asic"}

出力ブロックは識別フィールドの一部を示しています。完全な解析には、ターゲットのメトリクスベクトルと構造的な生成物が含まれます。比較に使用する前に、各メトリクスに付随する可用性と診断情報を確認してください。結果をレビュー対象の正確なモジュールリビジョンに対応付けられるように、ソースファイルと解析結果を一緒に保存します。

存在するソースファイルを選択する

モジュール引数に missing.sv を使用すると、ネイティブアナライザーが module not found: missing.sv を出力します。上記のプロジェクトに保存した buffer.sv ファイルを選択し、--top buffer を維持して、以下のコマンドを再実行してください。新しいターゲット結果を読み、成功した完全なエンベロープを、そのソースリビジョンとともに保持します。

alti evolve analyze --project /absolute/project buffer.sv --top buffer --target generic-asic > buffer-analysis.json