Agilex™ 7 Embedded Memory User Guide

ID 683241
Date 3/29/2024
Public

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

Document Table of Contents

1.1. Agilex™ 7 Embedded Memory Features

The Agilex™ 7 devices contain the following types of memory blocks: Embedded SRAM (eSRAM) blocks, M20K blocks, and memory logic array blocks (MLABs).
Table 1.   Agilex™ 7 Embedded Memory and Supported Device Variants
Memory Blocks Description Device Variant Support
eSRAM
  • 18.432 -Megabit (Mb) eSRAM blocks
  • High bandwidth and very high random transaction rate (RTR) on-chip memory block.
  • Each block consists of 8 channels and each channel has 32 banks.
  • Each bank is configurable to 1K depth and 64-bit data width.
  • Supports only simple dual-port RAM with concurrent read and write access per channel.
Available in select F- and I- Series devices only.
M20K
  • 20-kilobit (Kb) M20K blocks
  • Blocks of dedicated memory resources.
  • Ideal for larger memory arrays, while providing a large number of independent ports.
Available in all F-, I-, and M-Series devices.
MLABs
  • 640-bit MLABs
  • Memory blocks configured from enhanced dual-purpose logic array blocks (LABs).
  • Ideal for wide and shallow memory arrays.
  • Optimized for implementation of shift registers for digital signal processing (DSP) applications, wide and shallow FIFO buffers, and filter delay lines.
  • Each MLAB is made up of ten adaptive logic modules (ALMs).

In Agilex™ 7 devices, you can configure each ALM in the MLAB as ten 32×2 blocks. The Agilex™ 7 devices provide one 32×20 simple dual-port SRAM block per MLAB.

The Agilex™ 7 embedded memory blocks support the following operation modes:
  • Single-port
  • Simple dual-port
  • True dual-port
  • Simple quad-port
  • ROM
Table 2.   Agilex™ 7 Embedded Memory FeaturesThis table summarizes the features supported by the Agilex™ 7 embedded memory blocks.
Features eSRAM M20K MLAB
Maximum operating frequency 750 MHz
  • 1 GHz (simple dual-port RAM mode)
  • 600 MHz (true dual-port and simple quad-port RAM mode)
1 GHz
Total RAM bits (including parity bits) 18.432 Mb 20,480 bits 640 bits
Byte enable N/A Supported Supported
Address clock enable

(address stall)

N/A Supported (only in simple dual-port RAM mode) Supported
Simple dual-port mixed width N/A Supported N/A
FIFO buffer mixed width N/A Supported N/A
Memory Initialization File (.mif) N/A Supported Supported
Dual-clock mode N/A Supported (only in simple dual-port RAM mode) Supported
Full synchronous memory Supported Supported Supported
Asynchronous memory N/A N/A Only for flow-through read memory operations
Power-up state N/A Output ports are cleared
  • Registered output ports are cleared
  • Unregistered output ports read memory contents
Asynchronous/Synchronous Clears N/A
  • Output registers and output latches
  • Supports asynchronous clear on read address registers (only in simple dual-port and simple quad-port modes)
Output registers and output latches
Write/read operation triggering Rising clock edges Rising clock edges Rising clock edges
Same-port read-during-write N/A Output ports set to New Data , Old Data, or Don't Care Output ports set to Don't Care
Mixed-port read-during-write Write-forwarding feature
  • ON = New Data
  • OFF = Don't Care
  • Simple Dual Port RAM: Output ports set to Old Data or Don't Care
  • True Dual Port RAM: Output ports set to Don't Care
  • Simple Quad Port: Output ports set to new_a_old_b
Output ports set to New Data, Old Data, or Don't Care
Error Correction Code (ECC) support
  • Built-in support ×64-wide simple dual-port mode
  • Built-in support ×32-wide simple dual-port mode
  • Parity bits

N/A

Force-to-Zero N/A Supported N/A
Coherent read memory N/A Supported N/A
Freeze logic N/A Supported N/A
True dual port (TDP) dual clock emulator N/A Supported N/A