インテル® Agilex™ エンベデッド・メモリー・ユーザーガイド

ID 683241
日付 1/08/2021
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

3.3.2. 混合ポートのRead-During-Writeモード

混合ポートのRead-During-Writeモードは、シンプル・デュアルポートRAMモードに適用されます。 2つのポートにおいて、読み出しおよび書き込み動作が同じクロックを使用して同じメモリーアドレスで行われます。一方のポートでアドレスから読み出し、他方のポートで書き込みを行います。
表 14.  混合ポートのRead-During-WriteモードにおけるRAMの出力モード
出力モード メモリータイプ 説明
New Data MLAB

異なるポートへのRead-During-Write動作により、データがMLABメモリーに書き込まれると、次の立ち上がりエッジで、MLABのレジスターされる出力にNew Dataが反映されます。

このモードは、出力がレジスターされる場合にのみ利用可能です。

Old Data M20K、MLAB

異なるポートへのRead-During-Write動作により、RAMの出力には、特定のアドレスのOld Dataの値が反映されます。

MLABでは、このモードは出力がレジスターされる場合にのみ利用可能です。

Don't Care M20K、MLAB

RAMは、Don't Care値またはUnknown値を生成します。

  • M20Kの場合、 インテル® Quartus® Prime開発ソフトウェアは、書き込み動作と読み出し動作間のタイミングを解析しません。
  • MLABの場合、この機能を有効にするには、エンベデッド・メモリー・シミュレーション・モデルをコンパイルする際、およびシミュレーションを実行する際に、RDW_DONT_CARE_IS_X定義フラグをシミュレーション・コマンドに含める必要があります。
    以下は、シミュレーション・コマンドに定義フラグを追加している例です。
    vlog -sv -timescale 1ps/1ps +define+RDW_DONT_CARE_IS_X -work msim_precompile $env(QUARTUS_DIR)/eda/sim_lib/altera_lnsim.sv
New_a_old_b M20K このモードは、M20Kのシンプル・クアッドポートにのみ適用されます。この場合、異なるポートへのRead-During-Write動作により、RAMの出力は、ポートAでは新しいデータを反映し、ポートBでは古いデータを反映します。
表 15.  混合ポートのRead-During-Write出力の動作次の表は、混合ポートのRead-During-Writeモードにおける出力動作を一覧にして説明しています。これらの動作は、MLABブロックにのみ適用されます。
RAM: 2-PORT Intel FPGA IPの設定 出力動作
パラメーター 有効になっているパラメーターのオプション altera_syncramパラメーター

(read_during_write_mode_mixed_ ports)

Read-During-Write時の出力データ MLABアトム (Chip Plannerに表示される)
Mixed Port Read-During-Write for Single Input Clock RAM

How should the q_a and q_b outputs behave when reading a memory location that is being written from the other ports?

Old Data old_data 古いデータ4 新しいデータ
New data new_data 新しいデータ 新しいデータ
Don't Care dont_care Don't care 5 Don't Care
  • Don't Care
  • Do not analyze the timing between write and read operation. Metastability issues are prevented by never writing and reading at the same address at the same time.
dont_care Don't care 5 Don't Care
図 24. 混合ポートのRead-During-Write: New Dataモード次の図は、New Dataモードでの混合ポートのRead-During-Write動作における機能の波形サンプルを表しています。


図 25. 混合ポートのRead-During-Write: Old Dataモード次の図は、Old Dataモードでの混合ポートのRead-During-Write動作における機能の波形サンプルを表しています。


図 26. 混合ポートのRead-During-Write: Don't Careモード次の図は、Don't Careモードでの混合ポートのRead-During-Write動作における機能の波形サンプルを表しています。この動作は、M20Kブロックにのみ適用されます。


図 27. 混合ポートのRead-During-Write: New_a_old_bモード次の図は、New_a_old_bモードでの混合ポートのRead-During-Write動作における機能の波形サンプルを表しています。
4 古いデータは外部ソフトロジックを介して実現します。MLABブロックは、新しいデータのみをネイティブにサポートします。
5 出力データはDon't careになります。IPは、Read-During-Write時に出力データの準安定状態を保証しません。