FPGA実装ページ (配列定数プロパティダイアログボックス)
- 更新日2025-01-28
- 4分で読める
配列定数のこのページを使用配列定数のメモリ実装のプロパティを編集するための プロパティ ダイアログボックス。
このページには以下のコンポーネントがあります。
| オプション | 説明 |
|---|---|
| 実装 | 配列定数がFPGAで使用するストレージのタイプを指定します。 次のオプションがあります。 • 自動 (デフォルト)―ブロックメモリ、ルックアップテーブル、またはフリップフロップに配列定数を実装するかどうかをコンパイラが決定するように指定します。サイズが n x m > 2048の配列 (ここで、n は要素数、m は要素ごとのビット数) は、ブロックメモリで実装されます。サイズが nxm≤ 2048の配列は、ルックアップテーブルに実装されます。 コンパイラは、以下に基づいて配列定数のブロックメモリまたはルックアップテーブルの実装を推測することもできます。特定のコードパターンコンパイラが実装を推測できない場合は、配列定数の実装はフリップフロップになります。 開発コンピュータ上などで別のコンテキストを作成した配列定数は、FPGA VIで開かれる際に自動的に自動に設定されます。 メモ FPGAリソースの使用量を最小限に抑えるには、配列定数に 自動ではなくブロックメモリまたはルックアップテーブルの実装を選択します。配列定数が使用されていることを確認します。受け入れられたコードパターンそれ以外の場合、LabVIEWはフリップフロップ実装に戻すかエラーを返します。
• フリップフロップー配列定数をフリップフロップで保存し、FPGAで利用可能なルックアップテーブルで論理演算を実装します。配列の各ビットがFPGAでフリップフロップを使用するため、この実装はFPGAリソースを大量に消費します。小さい配列を使用する場合、配列で1つ以上の要素に並列アクセスが必要な場合、または厳しいタイミング要件がある場合にフリップフロップを使用します。 • ルックアップテーブルー配列定数をFPGAで使用可能なルックアップテーブルに格納します。Xilinxの参考資料では、この実装を分散RAMまたはLUT RAMと記載しています。コンパイラが分散RAMを推測できない場合、LabVIEWはエラーを返します。 シングルサイクルタイミングループで使用される場合、読み取り操作は同じクロックサイクルで実行されます。クロックサイクル中に書き込まれたデータは、次のクロックサイクル中に読み取ることができます。 残りのブロックメモリに制限がある場合はルックアップテーブルを使用します。ルックアップテーブルはFPGAリソースまたはメモリのどちらかとして機能可能なため、ルックアップテーブルはFPGAリソースを消費します。 • ブロックメモリーメモリの組込ブロックを使用して配列定数を格納します。Xilinxの参考資料では、この実装をブロックRAMまたはBRAMと記載しています。コンパイラがブロックメモリを推測できない場合、LabVIEWはエラーを返します。 シングルサイクルタイミングループで使用される場合、読み取り操作の実行に1サイクルがかかります。クロックサイクル中に書き込まれたデータは、次のクロックサイクル中に読み取ることができます。 異なるタイプのメモリの利点を活用したい場合を除き、まずブロックメモリを使用してください。ブロックメモリはFPGAリソースを消費せず、他のタイプのメモリと比較して高いクロックレートでコンパイルします。 場合コンパイルレポート は、アプリケーションがブロックメモリの可用性を超えていることを示し、小さい配列定数の設計を確認し、それらをルックアップテーブルに実装します。配列定数が使用されていることを確認します。ルックアップテーブルの実装に使用できる コードパターン です。 |