デュアル ポート 288Kb UltraRAM は、288Kb の記憶領域と独立した 2 つのアクセス ポート A および B で構成されます。2 つのポートはシングル クロック入力を共有します。
各クロック サイクルで、各ポートは互いに独立して読み出しまたは書き込みを実行できます。読み出し/書き込みは 2 つのポートで自由に組み合わせることができます。読み出しおよび書き込みは常にクロックに同期します。同じクロック サイクル内では、常にポート A の動作が先に実行され、続いてポート B の動作が実行されます。したがって、2 つのポートが同じアドレス位置にアクセスしても、データ アクセスの競合は発生しません。各ポートは、独自のアドレス、データ入力、データ出力、イネーブル、書き込みイネーブルを備えています。
- 両方のポートが同じアドレスに対して読み出しと書き込みを実行する場合、動作は次のように定義されます (下表参照)。
- ポート A が書き込み、ポート B が読み出しを実行する場合は、ポート B は新しいデータを読み出します。
- ポート A が読み出し、ポート B が書き込みを実行する場合は、ポート A は古いデータを読み出します。
- ポート A およびポート B が書き込みを実行する場合は、ポート B の書き込みがポート A の書き込みを上書きします。クロック サイクルの最後に、メモリはポート B の書き込みデータを格納します。
UltraRAM のポート アクセス | ポート A | ポート B | データ出力 |
---|---|---|---|
1 回の読み出し/1 回の書き込み | 読み出し | 書き込み | 古いデータ |
1 回の書き込み/1 回の読み出し | 書き込み | 読み出し | 新しいデータ |
1 回の読み出し/1 回の読み出しおよび書き込み | 読み出し | 読み出し/書き込み | 古いデータ |
1 回の読み出しおよび書き込み/1 回の読み出し | 読み出し/書き込み | 読み出し | 新しいデータ |
2 回の読み出し/2 回の書き込み | 読み出しまたは書き込み | 書き込みまたは読み出し | ポート A/B の読み出し/書き込みの組み合わせによって異なる |