Embedded Memory User Guide: Agilex™ 5 FPGAs and SoCs

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

4.1.2. RAM: 1-PORT Intel® FPGA IP Parameters

This table lists the parameters for the RAM: 1-PORT Intel® FPGA IP.
Table 24.  RAM: 1-PORT Intel® FPGA IP Parameters Description
Parameter Legal Values Description
Parameter Settings: Widths/Blk Type/Clks
How wide should the ‘q’ output bus be? Specifies the width of the ‘q’ output bus.
How many words of memory? Specifies the number of bit words.
What should the memory block type be?
  • Auto
  • MLAB
  • M20K
  • LCs
Specifies the memory block type. The types of memory block that are available for selection depends on your target device.
Set the maximum block depth to
  • Auto: Auto, 32, 64, 128, 256, 512, 1024, 2048, or 4096
  • MLAB: Auto or 32
  • M20K: Auto, 512, 1024, or 2048
  • LCs: Auto
Specifies the maximum block depth in words.
How should the memory be implemented?
  • Use default logic cell style
Specifies the logic cell implementation method.
  • Select Use default logic cell style if you prefer smaller and faster memory capacity.
Which clocking method would you like to use?
  • Single clock
  • Dual clock: use separate ‘input’ and ‘output’ clocks
Specifies the clocking method to use.
  • Single clock—A single clock and a clock enable controls all registers of the memory block.
  • Dual clock: use separate ‘input’ and ‘output’ clocks—An input clock controls all registers related to the data input to the embedded memory block including data, address, byte enables, read enables, and write enables. An output clock controls the data output registers.
Parameter Settings: Regs/Clken/Byte Enable/Aclrs
Which ports should be registered?
The following options are available:
  • ‘data’ and ‘wren’ input ports
  • ‘address’ input port
  • ‘q’ output port
On/Off Specifies whether to register the input and output ports.
Create one clock enable signal for each clock signal.
Note: All registered ports are controlled by the enable signal(s).
On/Off Specifies whether to turn on the option to create one clock enable signal for each clock signal.
More Options Use clock enable for port A input registers On/Off Specifies whether to use clock enable for port A input registers.
Use clock enable for port A output registers On/Off Specifies whether to use clock enable for port A output registers.
Create an ‘addressstall_a’ input port. On/Off Specifies whether to create an addressstall_a input port. You can create this port to act as an extra active low clock enable input for the address registers.
Create byte enable for port A On/Off Specifies whether to create a byte enable for port A. Turn on this option if you want to mask the input data so that only specific bytes, nibbles, or bits of data are written.

To enable byte enable for port A and port B, the data width ratio has to be 1 or 2 for the RAM: 1-PORT and RAM: 2-PORT Intel® FPGA IPs.

What is the width of a byte for byte enables?
  • MLAB: 5 or 10
  • M20K: 8, 9, or 10
Specifies the byte width of the byte enable port. The width of the data input port must be divisible by the byte size.
Create an ‘aclr’ asynchronous clear for the registered ports.

‘q’ port

On/Off Specifies whether the registered ports are affected by an asynchronous clear port.
Create an ‘sclr’ synchronous clear for the registered ports.

‘q’ port

On/Off Specifies whether the registered ports are affected by a synchronous clear port.
Create a ‘rden’ read enable signal On/Off Turn on if you want to create a read enable signal.
Parameter Settings: Read During Write Option
What should the ‘q’ output be when reading from a memory location being written to?
  • Don’t Care
  • Old Data
Specifies the output behavior when read-during-write occurs.

Don’t Care—The RAM outputs “don't care” or “unknown” values for read-during-write operation.

Old Data—The RAM outputs reflect the old data at that address before the write operation proceeds.

Get x’s for write masked bytes instead of old data when byte enable is used On/Off Turn on this option to obtain ‘X’ on the masked byte.
Parameter Settings: Mem Init
Do you want to specify the initial content of the memory?
  • No, leave it blank
  • Yes, use this file for the memory content data
Specifies the initial content of the memory.

To initialize the memory to zero, select No, leave it blank.

To use a memory initialization file (.mif) or a hexadecimal (Altera-format) file (.hex), select Yes, use this file for the memory content data.

Initialize memory content data to XX..X on power-up in simulation On/Off
Implement clock-enable circuitry for use in a partial reconfiguration region On/Off Specifies whether to implement clock-enable circuitry for use in a partial reconfiguration region.
Parameter Settings: Performance Optimization
Enable Force To Zero On/Off Specifies whether to set the output to zero when you deassert the read enable signal.

Enabling this feature helps improve the glue logic performance when the selected memory depth is larger than a single memory block.

Which timing/power optimization option do you want to use?
  • Auto
  • High Speed
  • Low Power
Specifies the timing/power optimization option to use. This option is only applicable when you select M20K memory type on Agilex™ 5 devices.