一般ページ (FIFOプロパティダイアログボックス)

インストールパッケージ: FPGAモジュール

このページを開くには、FIFOプロパティダイアログボックスで、カテゴリリストから一般を選択します。

このページを使用して、FIFOのプロパティを編集します。

このページには以下のコンポーネントがあります。

  • 名前プロジェクトエクスプローラウィンドウまたはVI定義FIFO構成ノードに表示するFIFOの名前を指定します。 名前はブロックダイアグラムのFIFOメソッドノードにも表示され、その名前をFIFO名制御器および定数で使用してターゲット指定FIFOにアクセスすることができます。
  • タイプ—使用するFIFOのタイプを指定します。 このオプションは、VI定義FIFOでは使用できません。
    • ターゲット指定―FIFOのデータ転送は、プロジェクトエクスプローラウィンドウの同じターゲットの下のFPGA VI間で可能です。
    • ホストからターゲット (DMA) またはターゲットからホスト (DMA) DMA FIFOは、ホストVIとターゲットの間でデータを転送することができます。
    • ピアツーピアライタまたはピアツーピアリーダ―FIFOは、ピアツーピアストリームを使用してデータを転送することができます。
  • オーバーフロー時に無効化—ライタFIFOがストリームに書き込もうとして失敗すると、ピアツーピアストリームを無効にするように指定します。 このオプションは、ピアツーピアライタFIFOのみに有効です。
  • アンダーフロー時に無効化—リーダFIFOがストリームのデータを受信しない場合にピアツーピアストリームを無効にするように指定します。 このオプションは、ピアツーピアリーダFIFOのみに有効です。
  • 要求する要素数—FIFOが保持可能な要素数を指定します。 FIFOの要素の最大数は、実装の設定および選択された実装用に使用できるFPGAリソースの量によって決定されます。 FIFOが組込制御論理を使用する場合、要素の最大数はデータタイプによっても異なります。 組込FIFOの幅は、1024以下である必要があります。

    FPGAに入力する要求する要素数に対する十分なリソースがない場合、FPGA VIはコンパイルに失敗します。 タイププルダウンメニューでホストからターゲット (DMA) またはターゲットからホスト (DMA) を選択すると、要求する要素数はFPGA FIFOのDMAチャンネルのサイズを指定します。 DMA FIFOの最大サイズはターゲットによって異なります。 DMA FIFOのサイズ制限の詳細については、特定のFPGAターゲットのハードウェアドキュメントを参照してください。

    実装制御器にブロックメモリを選択した場合、FIFOの要素数に制限が課せられます実際の要素数はFIFOの要素数を示し、この数は要求する要素数と同じでない場合があります。
    メモ  FPGAからホストへのDMA転送中にタイムアウトが発生した場合、要求する要素数を増やす代わりに、「メソッドをインボーク」関数のFIFO.構成メソッドを使用して深度パラメータを増やします。 深度パラメータを増やすことにより、ホスト側のバッファサイズが増加し、タイムアウトの問題を解決してFPGAデバイスの使用率を上げない可能性が高くなります。
  • 実装—FIFOがFPGAで使用するストレージのタイプを指定します。 実装は、ターゲット指定FIFOとVI定義FIFOに対してのみ指定できます。 次のオプションがあります。
    • フリップフロップ―FPGA上で利用可能なフリップフロップでデータを格納し、最も高速なパフォーマンスを提供します。 NIでは、このオプションを最大100バイトの小さいサイズのFIFOに使用することを推奨します。 フリップフロップルックアップテーブル実装したFIFOは、複数のクロック領域にわたって使用することはできません。
    • ルックアップテーブル―データをFPGAで使用可能なルックアップテーブルに格納します。 Xilinxの参考資料では、この実装を分散RAMまたはLUT RAMと記載しています。 NIでは、100~300バイトのFIFOにこのオプションを使用することを推奨します。 フリップフロップルックアップテーブル実装したFIFOは、複数のクロック領域にわたって使用することはできません。
    • ブロックメモリ―メモリの組込ブロックを使用してデータを格納します。 Xilinxの参考資料では、この実装をブロックRAMまたはBRAMと記載しています。 NIでは、300バイトより大きいFIFOにこのオプションを使用することを推奨します。
      メモ  ブロックメモリオプションを選択した場合、ターゲット指定FIFOまたはVI定義FIFOのデータが、FIFOへのデータ書き込み後6クロックサイクルまで読み取れない場合があります。 タイムアウトインタフェースを選択した場合は、読み取りメソッドをインボークするFIFOメソッドノードタイムアウト?出力を使用して、先行データの準備がいつ完了したかを判断します。 ハンドシェイクインタフェースを選択した場合は、読み取りメソッドをインボークするFIFOメソッドノードの出力有効出力を使用して、先行データの準備がいつ完了したかを判断します。
    上記のすべての実装オプションには、以下のコンポーネントが含まれます。
    • 実際の要素数—構成された要素数を返します。 要求された要素数がFIFO構成に対応していない場合があります。 この場合、LabVIEWは要求された要素数を互換性のある数字に強制するため、実際の要素数でこの数字が返されることになります。

      組込またはターゲットに最適な制御論理を選択した場合、実際の要素数が複数の数値を返すことがあります。 これらの数値は以下のように解釈します。
      • 組込実際の要素数は、ハンドシェイクインタフェースが無効または有効になっているときにLabVIEWがそれぞれ使用する、2つの数値を返します。
        メモ  (Xilinx Vivado) FIFOの実際の要素数は、構成時には不明です。 実際の要素数は、要求された要素数よりも大きい、最も近い2の累乗である1つの数値のみを返します。 この数値は最小保証数で、FIFO内の実際の要素数よりも小さい可能性があります。
      • ターゲットに最適―LabVIEWは、クロック領域とターゲットタイプに応じて、スライスファブリックまたは組込制御論理のいずれかを使用してFIFOを実装します。 実際の要素数は2つまたは3つの数値を返します。最初の1つはスライスファブリック制御論理用で、その他は組込制御論理用です。
    • 制御論理—FPGAによるFIFOの実装方法を指定します。

      • スライスファブリック―FIFOの制御論理を実装するために、FPGAがフリップフロップ、LUT、ブロックメモリを使用することを指定します。
      • ターゲットに最適ターゲットとアプリケーションに応じて、FPGAが使用する制御論理を組込FIFOまたはスライスファブリックのいずれかに指定します。
      • 組込―FPGAが、組込FIFO制御論理を使用することを指定します。 すべてのFPGAが組込FIFO制御論理をサポートしているわけではなく、いくつかの制限が適用されます
        メモ  (Xilinx Vivado) 組込制御論理を選択した場合、構成時にFIFOの実際の要素数が不明なため、このFIFOを読み取り可能要素数を取得または書き込み可能要素数を取得メソッドで使用することはできません。 シミュレーションモードでは、読み取りまたは書き込みメソッドのタイムアウト?出力値が実際のハードウェアの動作を反映しないことがあります。これは、これらのメソッドがFIFOの深度として、実際の要素数にFIFOの実際の要素数よりも小さい可能性がある控えめな値を使用するためです。


この記事は役に立ちましたか。

役に立たなかった