推論の理解 - 2023.2 日本語

Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 日本語

コードは、最終的にデバイスに存在するリソースにマップされます。ターゲット アーキテクチャの主な演算、ストレージ、ロジック エレメントについて理解し、デザインの機能を記述しながらコードがマップされるハードウェア リソースを予測してください。コードがどのハードウェア リソースにマップされるかを理解しておくと、発生する可能性のある問題を早期に特定できます。

次の例に、ハードウェア リソースとマップを理解することが、どのようにデザインに関する決定を下すのに役立つかを示します。

  • 8 ビットを超える加算、減算、加減算には、通常キャリー チェーンと 2 ビットの加算ごとに 1 つの LUT が使用されます (8 ビット X 8 ビット加算は 8 個の LUT と関連するキャリー チェーンを使用)。三項加算の場合、または加算器の結果がレジスタを介さず別の値と加算される場合、3 ビット加算ごとに 2 つの LUT が使用されます (8 ビット X 8 ビット X 8 ビット加算で 16 個の LUT とキャリー チェーンを使用)。
  • 通常、乗算は DSP ブロックをターゲットにします。27x24 未満の符号付きビット幅および 26x23 未満の符号なしビット幅は、1 つの DSP ブロックにマップされます。大きな積を必要とする乗算は、複数の DSP ブロックにマップされる可能性があります。DSP ブロックには、内部にパイプライン リソースが含まれます。

    DSP ブロックに推論されるロジックが正しくパイプライン処理されていると、最大クロック周波数が大幅に改善され、消費電力が削減されます。乗算を記述する際には、その周囲に 3 段のパイプラインを使用すると、最適なセットアップ、clock-to-out、および消費電力特性が生成されます。パイプライン段数が少ないと (1 段またはなし)、タイミング問題が発生し、これらのブロックの消費電力が増加する可能性があり、DSP 内のパイプライン レジスタは未使用のままになります。

  • 深さが 16 ビット以下の 2 つの SRL は 1 つの LUT に、32 ビットまでの 1 つの SRL も 1 つの LUT にマップできます。
  • 条件付きコードは、次のような標準マルチプレクサー コンポーネントになります。
    • 4:1 マルチプレクサーは 1 つの LUT にインプリメントでき、ロジック段数は 1 になります。
    • 8:1 マルチプレクサーは 3 つの LUT にインプリメントでき、ロジック レベルは 2 段になります。
    • 16:1 マルチプレクサーは 5 つの LUT にインプリメントでき、ロジック段数は 2 になります。

汎用ロジックでは、レジスタへの入力の数を考慮します。その数から LUT とロジックの段数を見積もることができます。一般的には、入力が 6 個以下の場合、ロジック段数は 1 になります。理論上はロジック レベル数 2 で最大 36 個の入力を処理できますが、実際には最大約 20 個までの入力しか処理できないと考えてください。通常、入力の数が多いと、論理式が複雑になり、必要な LUT およびロジック段数が増加します。

重要: 使用可能なハードウェア リソースとそれらが効率的に使用されているかどうかをデザイン サイクルの早期に確認してください。その方が変更が簡単であり、デザイン サイクルの後の方でタイミング クロージャ中に変更しようとするよりも良い結果が得られます。