メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Dual Port RAM System

初期値を指定できる hdl.RAM System object に基づく Dual Port RAM ブロック

  • Dual Port RAM System block

ライブラリ:
HDL Coder / HDL RAMs

説明

これらのブロックは、hdl.RAM System object™ を使用する MATLAB System ブロックです。RAM タイプを Dual portSimple dual portSingle portTrue dual port、または Simple tri port として指定できます。シミュレーション動作については、Dual Port RAM SystemDual Port RAMSingle Port RAM SystemSingle Port RAM のように、それぞれ対応するブロックと同様の動作になります。MATLAB System ブロックでは次のことが可能です。

  • RAM の初期値を指定できます。[ブロック パラメーター] ダイアログ ボックスで、[RAM の最初の出力] の値を入力します。

  • これらのブロックを Simulink® モデル内で使用すると、より高速なシミュレーション結果が得られます。

  • ベクトル データの使用時に hdl.RAM System object の機能を利用して並列 RAM バンクを作成します。

  • 大規模なデータ メモリのパフォーマンスとサポートが向上します。

  • 列書き込みメソッドを使用して、アドレス指定されたメモリ位置にあるビットの書き込み可能な部分を指定します。詳細については、列書き込みメソッドを使用した選択的な列への書き込みを参照してください。

制限

  • RAM の FPGA ビットストリームを作成する場合、RAM の内容はグローバルなリセット ロジックでリセットされません。RAM をリセットするには、必ずリセット ロジックを実装してください。

  • RAM 書き込みアドレスは fixed-point (fi) または integer のいずれかで、符号なしの 231 ビット長でなければなりません。

端子

入力

すべて展開する

wetrue の場合に RAM のメモリ位置に書き込むデータ。スカラーまたはベクトルとして指定します。この値は doublesinglehalfinteger、または fixed-point (fi) オブジェクトのいずれかで、実数または複素数にできます。

バスのサポート:

HDL コード生成用にデータ端子で非バーチャル バスおよびバス配列を使用できます。

データ型: single | double | half | int8 | int16 | uint8 | uint16 | Boolean | fixed point

書き込みアドレス。スカラーまたはベクトルとして指定します。データを書き込む RAM のアドレスです。この値は fixed-point (fi) または integer のいずれかで、符号なしの 231 ビット長でなければなりません。

依存関係

この端子を有効にするには、[Type of RAM] パラメーターを [Simple dual port] または [Dual port] に設定します。

データ型: uint8 | uint16 | fixed point

書き込みイネーブル。スカラーまたはベクトルとして指定します。この端子の信号が true の場合、端子 wr_addr で指定された RAM のメモリ位置にデータが書き込まれます。[Type of RAM] パラメーターを [Single port] に設定した場合、wefalse であれば、RAM のメモリ位置 wr_addr から値が読み取られます。この値は Booleaninteger、または fixed-point (fi) のいずれかにすることができます。

メモ

列書き込みメソッドを使用するには、データ型が integer または fixed-point (fi) でなければなりません。

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

読み取りアドレス。スカラーまたはベクトルとして指定します。データを読み取る RAM のアドレスです。この値は fixed-point (fi) または integer のいずれかで、符号なしの実数でなければなりません。

依存関係

この端子を有効にするには、[Type of RAM] パラメーターを [Simple dual port] または [Dual port] に設定します。

データ型: uint8 | uint16 | fixed point

出力

すべて展開する

RAM のメモリ位置 rd_addr から読み取られた古い出力データ。

依存関係

この端子を有効にするには、[Type of RAM] パラメーターを [Dual port] に設定します。

RAM のメモリ位置 wr_addr から読み取られた新しい出力データまたは古い出力データ。

依存関係

この端子を有効にするには、[Type of RAM] パラメーターを [Dual port] に設定します。

パラメーター

すべて展開する

Main

RAM のタイプ。次のいずれかとして指定します。

  • Single port — Single Port RAM を作成します。入力は書き込みデータ、アドレス、および書き込みイネーブル、出力は読み取りデータです。

  • Simple dual port — Simple Dual Port RAM を作成します。入力は書き込みデータ、書き込みアドレス、書き込みイネーブル、および読み取りアドレス、出力は読み取りアドレスからのデータです。

  • Dual port — Dual Port RAM を作成します。入力は書き込みデータ、書き込みアドレス、書き込みイネーブル、および読み取りアドレス、出力は読み取りアドレスと書き込みアドレスからのデータです。

  • True dual port — True Dual Port RAM を作成します。入力は書き込みデータ ab、書き込み/読み取りアドレス ab、書き込みイネーブル ab で、出力は書き込みアドレス ab からのデータです。

  • Simple tri port — Simple Tri Port RAM を作成します。入力は書き込みデータ、書き込みアドレス、書き込みイネーブル、および読み取りアドレス ab で、出力は読み取りアドレス ab からのデータです。

指定した RAM タイプに基づいて、ブロックの入力端子と出力端子がコード ジェネレーターによって動的に構成されます。

ターゲット ハードウェアで非同期読み取り機能を使用するかどうか。チェック ボックスとして指定します。非同期読み取りがサポートされているボードでは、ハードウェアで 1 サイクル待機せずに即時に読み取り命令を実行できます。

データ型: Boolean

書き込み出力動作。次のいずれかとして指定します。

  • 'New data' — アドレスの新しいデータを出力に送ります。

  • Old data' — アドレスの古いデータを出力に送ります。

System object の最初のシミュレーション出力。次のいずれかとして指定します。

  • スカラー値。

  • 初期値と RAM ワードが 1 対 1 でマッピングされたベクトル。

  • RAM バンクにおける初期値と RAM ワードが 1 対 1 でマッピングされた nm 列の行列。ここで、n は RAM バンクの数を表し、m は RAM ブロック内のアドレス位置の数を表します (またはその逆になります)。

詳細設定

R2024b 以降

指定内容に応じて次のようになります。

  • true

    • 出力の読み取り前に RAM で入力データが 1 サイクル遅延します。

    • RAM は生成された HDL コードに対してサイクル アキュレートになります。

  • false

    • RAM の入力データの読み取りと出力はすぐに行われますが、HDL コード生成時に 1 サイクルのレイテンシが追加されます。

    • オーバーサンプリング値を指定する場合やマルチレート モデルを処理する場合は、クロックレート パイプラインを利用できます。

依存関係

このプロパティを有効にするには、[Use asynchronous read feature in target hardware] パラメーターをオフにします。

プログラムでの使用

ブロック パラメーター: ModelRAMDelay
型: 文字ベクトル、string
値: "on" | "off"
既定の設定: "on"

データ型: Boolean

詳細

すべて展開する

拡張機能

すべて展開する

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

バージョン履歴

R2017b で導入

すべて展開する