Main Content

Dual Port RAM

2 つの出力端子をもつ Dual Port RAM

  • Dual Port RAM block

ライブラリ:
HDL Coder / HDL RAMs

説明

Dual Port RAM ブロックは、読み取りと書き込みの同時処理をサポートし、読み取りデータ出力端子および書き込みデータ出力端子をもつ RAM をモデル化します。このブロックを使用して、ほとんどの FPGA で RAM にマッピングされる HDL コードを生成できます。

書き込み出力データ wr_dout を使用する必要がなければ、Simple Dual Port RAM ブロックを使用することで、合成ツールでの RAM 推定の精度を向上できます。

書き込み中の読み取り動作

書き込み中は、Dual Port RAM ブロックの書き込み端子 (wr_dout) の出力に新しいデータが現れます。書き込み操作と同時に同じアドレスで読み取り操作が発生すると、古いデータが読み取り出力端子 (rd_dout) に現れます。

端子

入力

すべて展開する

wr_en が true の場合に RAM のメモリ位置に書き込むデータ。データは幅とデータ型を入力信号から継承します。wr_dindoublesingleinteger、または fixed-point (fi) オブジェクトに、および実数または複素数にできます。

データ型: スカラーの固定小数点、整数、または複素数

データ型: int8 | int16 | int32 | int64 | Boolean | fixed point

wr_en が true の場合にデータを書き込むアドレス。この値は fixed-point(fi) または integer のいずれかにでき、符号なしで小数部の長さが 0 でなければなりません。

データ型: uint8 | uint16 | uint32 | uint64 | fixed point

wr_en が true の場合、RAM の指定したメモリ位置にデータが書き込まれます。

データ型: Boolean

データを読み取るアドレス。この値は fixed-point(fi) または integer のいずれかにでき、符号なしで小数部の長さが 0 でなければなりません。

データ型: uint8 | uint16 | uint32 | uint64 | fixed point

出力

すべて展開する

書き込みアドレス wr_addr からの出力データ。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

読み取りアドレス rd_addr からの出力データ。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

パラメーター

すべて展開する

最小ビット幅は 2、最大ビット幅は 29 です。

プログラムでの使用

ブロック パラメーター: ram_size
型: string スカラー | 文字ベクトル
値: 最小値は 2、最大値は 29
既定の設定: '8'

アルゴリズム

すべて展開する

RAM ブロックに対して生成された HDL コードには以下が含まれます。

  • 読み取りデータ出力に対する 1 クロック サイクルのレイテンシ。

  • リセット信号はなし。HDL コードにリセットが含まれていると、一部の合成ツールで RAM が推定されないためです。

RAM ブロックのコード生成では、blockname.ext という個別のファイルが作成されます。blockname は、RAM ブロックの名前から派生します。ext は、ターゲット言語のファイル名拡張子です。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2014a で導入