Embedded Memory User Guide: Agilex™ 5 FPGAs and SoCs

ID 813901
Date 11/04/2024
Public
Document Table of Contents

2.8. Coherent Read Memory

Coherent read memory allows you to read the latest data that will be written to a memory location in just one clock cycle. You will see the new data immediately, even if it is still being written. This feature works only for M20K blocks and is available when using a single clock configuration.

If you enable coherent read memory on M20K blocks with registered output and disable Force-to-Zero, the output register data will be held by the coherent read circuitry when the read enable (rden) signal is low (Refer to Coherent Read Memory Behavior for Agilex™ 5 Blocks figure and Simplified Block Diagram of Coherent Read Memory Circuitry figure for more details).

This circuitry acts like a loop (refer to the thicker connector lines), preventing it from fetching data from the M20K blocks' latch. When you clear the output register with asynchronous clear (aclr) or synchronous clear (sclr), the output stays at 0 until the next clock cycle after the rden signal is asserted again.

Figure 9. Coherent Read Memory Behavior for Agilex™ 5 BlocksThis figure demonstrates how coherent read memory works in Agilex 5 blocks when the feature is enabled, registered output is used, and Force-To-Zero is disabled. It specifically shows what happens when the M20K blocks do not read data while the clear signal is active.
If you enable the coherent read memory feature, you cannot use the following configurations:
  • Operating modes other than simple dual-port
  • Simple dual-port with different port width
  • Byte enable
  • ECC
  • Simple dual-port with more than 20-bit wide data
  • Dual clock configuration
Figure 10. Simplified Block Diagram of Coherent Read Memory Circuitry
Figure 11. Coherent Read Memory Behavior for Unregistered OutputThis figure shows the waveform of the coherent read memory when the output is unregistered.
Figure 12. Coherent Read Memory Behavior for Registered OutputThis figure shows the waveform of the coherent read memory when the output is registered.