インテルのみ表示可能 — GUID: mwh1409959567799
Ixiasoft
インテルのみ表示可能 — GUID: mwh1409959567799
Ixiasoft
2.4. エンベデッドRAMの実装
シングルポート、デュアルポート、または3ポートのRAMをシングルまたはデュアルクロック方式で使用することができます。非同期メモリーロジックをメモリーブロックとして推論したり、非同期メモリーロジックを専用のメモリーブロックに配置したりすることがないようにします。非同期メモリーロジックは通常のロジックセルに実装します。
インテルのメモリーブロックのRead-During-Write動作は、ターゲットのデバイスファミリー、メモリーモード、ブロックタイプによって異なります。Read-during-write動作とは、同じメモリーアドレスに対して同じクロックサイクルで読み出しと書き込みを行うことです。例えば、書き込みを行うアドレスに対して同じクロックサイクルで読み出しを行います。
Read-during-write動作を使用する場合は、HDLコードでメモリーをどのように指定しているかを確認する必要があります。読み出しを記述しているHDLコードでは、メモリー位置に格納されている古いデータ、またはメモリー位置に書き込まれている新しいデータのいずれかが返されます。
HDLコードで記述しているメモリー動作をデバイス・アーキテクチャーで実装できない場合、メモリーブロックが専用のRAMブロックにマッピングされなかったり、メモリーブロックが専用のRAMブロック以外に追加ロジックを使用して実装されることがあります。Arria GXデバイス、CycloneおよびStratixシリーズのデバイスでRead-During-Write動作を実装する際は、シングルポートRAMを使用して、この余分なロジックの実装を回避します。
多くの合成ツールでは、Read-During-Write動作がデザインにおいて重要でないことを指定することができます。例えば、同じアドレスに対して同じクロックサイクルで読み書きを行わない場合などに使用します。