Embedded Memory User Guide: Agilex™ 5 FPGAs and SoCs

ID 813901
Date 4/01/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.8.1. Forwarding Logic

In pipelining, you can use forwarding logic to perform data forwarding to reduce instruction cycles.

With coherent read feature and forwarding logic, you can coherently read out the data, perform operations (arithmetic or logical or both) on top of the data content, and write the data back to the same memory location within a single clock cycle.

Figure 13. Example Forwarding Logic with Simplified Coherent Read Memory Circuitry
Figure 14. Pipelining Waveform When Output of M20K Blocks is UnregisteredThis figure shows the waveform of the pipelining with the read enable (rden) signal is high.
Figure 15. Pipelining Waveform When Output of M20K Blocks is RegisteredThis figure shows the waveform of the pipelining with the write enable (wren) signal is high.

With the coherent read feature enabled and forwarding logic implemented, the output of M20K blocks can be either unregistered or registered. To match the latency of the coherency circuitry within the hardware boundary of the M20K blocks, you may need to manually add the additional pipeline registers on the wren and wraddress paths, which is described in the following table:

Table 10.  Pipeline Registers Requirements
Output Register Additional Pipeline Registers on wren and wraddress
Unregistered 0
Registered 1