FPGA 設計において、BRAM は非常に重要な組み込みストレージ リソースです。FPGA 開発には、BRAM の使用に習熟する必要があります。今日は、BRAM の定義、構成、アプリケーションなどを含む、BRAM の知識を復習します。
1. BRAM の概要
1. BRAMの定義
RAM は、ランダム アクセス データ メモリである Random Access Memory であり、RAM の内部は小さなメモリ ユニット (小さなグリッドとして見ることができます) で構成されています。
各メモリユニットはアドレス番号に対応します。
データの読み書きが必要な場合は、対応するメモリユニットのアドレスにアクセスし、データの書き込みまたは読み取りを迅速に行います。
BRAM はブロック RAM であり、FPGA 内の特定の場所に固定的に分散される FPGA の専用 RAM リソースです。
分散 RAM (分散 RAM または DRAM) は、FPGA の LUT ロジック リソースで構成されます。
2. BRAMの構成
FPGA の BRAM の実際の対応リソースは RAMB36E1 と RAMB18E1 です。
(1)RAMB36E1
RAMB36E1 は、2 つの独立した 18KB BRAM (ブロック RAM、RAMB18E1) で構成された 36KB 容量のブロック RAM です。
36K ブロック メモリは 4 つの状況で構成できます。
- すべて 36KB の BRAM を構成するために使用されます。
- すべて 36KB FIFO を構成するために使用されます。
- 18KB BRAM および 18KB BRAM として構成。
- 18KB BRAM と 18KB FIFO に構成。
ここで、ブロック メモリの中央に FIFO ロジック構造があり、読み取り/書き込みアドレスなどを含む FIFO 制御信号の生成に使用されるため、2 つの 18KB FIFO に構成することはできないことに注意してください。 FIFO は 1 つあり、共有することはできないため、最大 1 つの FIFO のみを設定できます。
(2)RAMB18E1
RAMB18E1 は 18KB 容量のブロック RAM であり、ザイリンクス FPGA の重要な内蔵ブロック RAM コンフィギュレーション モジュールであり、高速同期ストレージ アクセス機能を提供します。
(3) FPGA 内の BRAM の数
BRAM リソースは FPGA の非常に重要なリソースです。FPGA チップのモデルが異なれば、BRAM の量も異なります。例として、xilinx kintex 7 シリーズを取り上げます。
(4) FPGAのBRAM性能
FPGA モデルの違い、出力レジスタを組み込むかどうかによって、BRAM 動作のクロック周波数の上限が決まります。
2. BRAMの応用
1、ROM
BRAM は ROM 機能を実現できます。読み取りのみをサポートし、書き込みはサポートしません。IP の定義と IP の呼び出し時に ROM 値を初期化するだけで済みます。
(1) シングルポート ROM (シングルポート ROM)
読み取り可能なポートは 1 つだけで、プログラム コードの保存、ROM の初期化に使用されます。
(2) デュアルポートROM(デュアルポートROM)
2 つの独立した読み取りデータ ポートがあり、多くの場合、2 つのプロセッサ/システム間で共有される単一の ROM に使用されます。
2、RAM
(1) シングルポートRAM (シングルポートRAM)
ポートは 1 つだけあり、このポートはデータの読み取りまたは書き込みをサポートします。
(2) 簡易デュアルポートROM(簡易デュアルポートRAM)
2 つのポート A と B があります。ポート A は書き込みをサポートし、ポート B は読み取りをサポートします。
(3) 真のデュアルポート ROM (シンプル デュアルポート RAM)
2 つのポート A と B があり、各ポートは読み取りと書き込みをサポートします。
3、先入れ先出し
FIFO は BRAM を介して先入れ先出し機能を実現でき、同期 FIFO と非同期 FIFO の 2 種類があります。
3. まとめ
BRAM は FPGA 内の専用ストレージ リソースです。優れたパフォーマンスを備えていますが、数量が限られています。各 BRAM のサイズは 36Kb で、2 つの 18Kb BRAM に構成することもできます。BRAM は、さまざまな RAM/ROM/FIFO の実装に使用できます。さまざまなビット幅と深さを備えており、FPGA で非常に広く使用されており、柔軟性があります。
BRAM は、FPGA チップ内にキャッシュやパイプラインなどの機能を実装するために使用できます。このハードウェア リソースを適切に使用すると、FPGA 設計を大幅に最適化できます。
この記事は定期的に更新されます。入力するのは簡単ではありません。紛失しないように⭐️いいね、⭐️して保存してください。
この記事では、FPGA の入門からオリジナルの作業をマスターするまでを説明します。ご質問がある場合は、コメント エリアで私とコミュニケーションをとることができます。
皆様のご支援が創作活動を続ける最大の原動力です!この記事が役に立った場合は、背中を押していただければ幸いです。