一貫した単位、変換、複数チャンネルスケールルールを使用して、FPGAベースシステムのスループットメトリックを解釈する方法を学習します。

FPGAベースシステムのスループットは、データパス設計によって異なる単位表記規則で表すことができます。以下のセクションでは、これらの単位を一貫して解釈する方法、および複数チャンネルの動作とクロックレートの制約に関連付ける方法について説明します。

統合スループットの関係

これらの関係を使用して、スループット表記規則にわたってシステムスループットとチャンネルスループットを変換します。
  • システムのスループット = チャンネルのスループット ÷ チャンネル数
  • チャンネルのスループット = システムのスループット x チャンネル数
タイミングの実現可能性を検証した後、処理モデルに一致するスループットユニットを選択します。
メモ 配線手順で使用されるシステムおよびチャンネルのスループットについては、「ハンドシェイクを使用して単一入力ノードを配線する」を参照してください。

スループット単位表記規則

FPGA製品は、スループットを表すために2つの主要な表記規則を使用します。各表記規則は、データパスの動作モデルと一致します。
  • サイクル/サンプル—1つのデータサンプルの処理に複数のFPGAクロックサイクルが必要なcRIO‑クラスデバイスなどの工業用および組込システムでよく使用されます。スループットは、1つのサンプルの受け入れまたは生成に必要なサイクル数を示します。
  • サンプル数/サイクルRFシステムや通信システムなどのストリーミングパイプラインで使用されます。データパスは通常、1クロックサイクルにつき1サンプルまたはそれに近い速度で動作します。スループットをサンプル/サイクルで表すと、システムがクロックサイクルごとに移動するサンプル数を示します。
  • 単位変換

    表記規則を変換するには、以下の値を反転します。
    • システムスループット (サンプル/サイクル) = 1 ÷ システムスループット (サイクル/サンプル)
    クロックレートまたはサンプリングレートからスループットを計算するには、以下の式のいずれかを使用します。
    • システムスループット (サイクル/サンプル) = クロックレート (サイクル/秒) ÷ サンプリングレート (サンプル/秒)
    • システムスループット (サンプル/サイクル) = サンプリングレート (サンプル/秒) ÷ クロックレート (サイクル/秒)

    スループットを間隔制約として解釈する

    シングルサイクルタイミングループハンドシェイクでは、スループットが重要な概念です。スループット (Tf) は、必要な最小クロックサイクル数を表します。この値は、計算開始後にノードが新しい有効な入力を受け入れる前に経過する必要がある時間です。

    Tfはクロックサイクルで許容されるサンプル間の最小間隔を表すため、この定義は当然サイクル/サンプル単位で表されます。Tfが小さいほど、新規サンプルの受け入れ頻度が向上します。

    メモ シングルサイクルタイミングループスケジューリングのスループット制限については、「ハンドシェイク信号を使用してタイミングのスケジュールを作成する」を参照してください。

    複数チャンネル設計: 解釈とインタリーブ

    複数チャンネルノードの中には、チャンネル間で順番に値をインタリーブするものがあります。データポイントは、チャンネル0から順番にチャンネルに分配されます。
    • チャンネル0は最初の有効なデータポイントを受信します。
    • チャンネル1は2番目の有効なデータポイントを受信します。
    • このパターンは、後続のチャンネルでも継続します。

    インタリーブは、チャンネルごとのレートの解釈を変更します。これは、スケジューリングがチャンネル間で有効なサンプルの1つのストリームを分配するためです。システムとチャンネルスループットの関係を適用して、インタリーブ設計でチャンネルごとのレートを解釈します。

    メモ 複数チャンネルハンドシェイクでのインタリーブ動作の詳細については、「ハンドシェイク信号を使用してタイミングのスケジュールを作成する」を参照してください。

    タイミングレポートクロックメトリックおよびスループットメトリック

    コンパイルレポートは、要求周波数 (MHz) を使用してコンパイル論理のタイミング実行可能性を説明します。これらのメトリックはデータスループットを表していません。
    • 要求周波数 (MHz) は、FPGA VIまたはFPGA VIコンポーネントが動作する必要があるクロックレートを示します。
    • 最大周波数 (MHz) は、FPGA VIまたはFPGA VIコンポーネントの理論上の最大コンパイルレートを示します。

    要求周波数 (MHz) 最大周波数 (MHz) より大きい場合、設計はタイミング制約を満たしていません。その結果、コンパイルが最終タイミング段階で失敗する可能性があります。

    これらのMHz値を使用して、設計が選択されたクロックのタイミングを満たしているかどうかを評価します。
    • サイクル/サンプルを選択して、設計がサンプルを受け入れられる頻度を評価します。

    • サンプル/サイクルを選択して、設計がサンプルを処理できる頻度を評価します。

    • これらのスループットユニットの1つを選択して、設計がサンプルを生成できる頻度を評価します。

    メモ レポートの要求周波数 (MHz) および最大周波数 (MHz) の定義と使用方法については、「コンパイルステータスウィンドウから表示可能なレポート」を参照してください。

    使用上のガイダンス

    スループットを計画または確認するには、以下の手順に従ってください。
    1. データパスの動作モデルに一致するプライマリスループット表記規則を選択します。
      • マルチサイクルスケジューリングでは、サイクル/サンプルを選択します。
      • ストリーミングパイプラインでは、サンプル/サイクルを選択します。
    2. 設計がMHzおよびMS/s要件で始まる場合、クロックレートとサンプリングレートからシステムスループットを計算します。
    3. チャンネル数を使用して、システムスループットとチャンネルスループットの間でスケールします。
    4. システムスループットを処理チェーン内のノードのTf値と比較して、合格率の制限を特定します。
    5. コンパイルレポートで要求周波数 (MHz) および最大周波数 (MHz) を使用して、タイミングの実行可能性を検証します。タイミングの実現可能性により、使用可能なクロックレートが制限されます。

    サンプルプログラム

    これらのサンプルを使用して、スループット単位、クロックレート計算、およびチャンネルスケールルールを関連付けます。

    • サイクル/サンプルおよびサンプル/サイクルの変換:
      クロックレートが40 MHz、サンプリングレートが2 MS/sの場合、サンプルあたり20サイクルとなります。この値は、サイクルあたり0.05サンプルに対応します。
      • 40,000,000 ÷ 2,000,000 = 20サイクル/サンプル
      • 2,000,000 ÷ 40,000,000 = 0.05サンプル/サイクル
    • チャンネル間のスループットのスケーリング (サイクル/サンプル):
      4チャンネルで200サイクル/サンプルのシステムスループットでは、チャンネルスループットは800サイクル/サンプルになります。
      • チャンネルスループット = 200 × 4 = 800サイクル/サンプル
    • チャンネル間のスループットのスケーリング (サンプル/サイクル):
      • 8チャンネルで0.5サンプル/サイクルのシステムスループットでは、チャンネルあたり0.0625サンプル/サイクルとなります。
        • チャンネルスループット = 0.5 ÷ 8 = 0.0625サンプル/サイクル/チャンネル