Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Dual Rate Dual Port RAM

2 つのレートをサポートするデュアル ポート RAM

  • ライブラリ:
  • HDL Coder / HDL RAMs

  • Dual Rate Dual Port RAM block

説明

Dual Rate Dual Port RAM ブロックは、2 つのクロック レートで異なるアドレスに対する読み取りと書き込みの同時処理をサポートする RAM をモデル化します。RAM の端子 A と端子 B を異なるレートで実行できます。

このブロックを高性能ハードウェアの用途で使用すると、各クロック サイクルで RAM に 2 回アクセスできます。HDL コードを生成すると、このブロックはほとんどの FPGA でデュアルクロックのデュアルポート RAM にマッピングされます。

同時アクセス

端子 A と端子 B から異なるアドレスに同時にアクセスできます。端子 A と端子 B から同じアドレスを同時に読み取ることもできます。

ただし、一方の RAM 端子からアドレスに書き込んでいるときは、そのアドレスにもう一方の RAM 端子からアクセスしないでください。シミュレーション中に、一方の RAM 端子からアドレスにアクセスし、そのアドレスにもう一方の RAM 端子から同時に書き込みを行うと、ソフトウェアからエラーが報告されます。

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

RAM では書き込み動作が優先されます。RAM に対して書き込みを行うと、新しい書き込みデータが出力端子ですぐに使用可能になります。

端子

入力

すべて展開する

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

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

データ型: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

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

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

RAM 端子 A の書き込みイネーブル。書き込み処理の場合は we_Atrue に設定し、読み取り処理の場合は false に設定します。

データ型: Boolean

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

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

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

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

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

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

RAM 端子 B の書き込みイネーブル。書き込み処理の場合は we_Btrue に設定し、読み取り処理の場合は false に設定します。

データ型: Boolean

出力

すべて展開する

RAM 端子 A のアドレス addr_A からの出力データ。

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

RAM 端子 B のアドレス addr_B からの出力データ。

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

パラメーター

すべて展開する

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

プログラムでの使用

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

アルゴリズム

すべて展開する

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

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

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

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

拡張機能

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

バージョン履歴

R2014a で導入