Embedded Memory User Guide: Agilex™ 3 FPGAs and SoCs

ID 849316
Date 5/22/2025
Public
Document Table of Contents

4.1.4.6. RAM and ROM Manual Parameter Settings

Table 60.   Parameters for altera_syncram Use this parameter list if you manually edit the design file.
Name Legal Values Description
operation_mode
  • SINGLE_PORT
  • DUAL_PORT
  • BIDIR_DUAL_PORT
  • QUAD_PORT
  • ROM

Operation mode of the memory block.

width_a

Data width of port A.

widthad_a

Address width of port A.

numwords_a

Number of data words in the memory block for port A.

outdata_reg_a
  • UNREGISTERED
  • CLOCK1
  • CLOCK0

Clock for the data output registers of port A.

outdata_aclr_a
  • NONE
  • CLEAR1
  • CLEAR0

Asynchronous clear for data output registers of port A.

If you set the outdata_reg_a parameter to UNREGISTERED, outdata_aclr_a specifies the clearing parameter for the output latch.

address_aclr_a
  • NONE
  • CLEAR0

Option to clear the address input registers of port A.

width_byteena_a

Width of the byte-enable bus of port A.

The width must be equal to the value of width_a divided by the byte size. The default value of 1 is allowed only if you do not use byte-enable.

width_b

Data width of port B.

widthad_b

Address width of port B.

numwords_b

Number of data words in the memory block for port B.

outdata_reg_b
  • UNREGISTERED
  • CLOCK1
  • CLOCK0

Clock for the data output registers of port B.

address_reg_b
  • CLOCK1
  • CLOCK0

Clock for the address registers of port B.

outdata_aclr_b
  • NONE
  • CLEAR1
  • CLEAR0

Asynchronous clear for data output registers of port B.

If you set the outdata_reg_b parameter to UNREGISTERED, outdata_aclr_b specifies the clearing parameter for the output latch.

address_aclr_b
  • NONE
  • CLEAR0

Option to clear the address input registers of port B.

width_byteena_b

Width of the byte-enable bus of port B.

The width must be equal to the value of width_b divided by the byte size. The default value of 1 is allowed only if you do not use byte-enable.

intended_device_family "Agilex"

Parameter used for simulation purpose.

ram_block_type
  • AUTO
  • M20K
  • MLAB

The memory block type.

byte_size
  • 5
  • 8
  • 9
  • 10

The byte size for the byte-enable mode.

read_during_write_ mode_mixed_ports
  • DONT_CARE
  • CONSTRAINT_DONT_CARE
  • NEW_DATA
  • OLD_DATA
  • NEW_A_OLD_B

Specify the behavior for read-during-write mode.

  • The default value is DONT_CARE.
  • The value of NEW_DATA is supported only if:
    • The read address and output data are registered by the write clock in the LUTRAM mode; or
    • You select true dual port mode for M20K.
  • The value of CONSTRAINED_DONT_CARE is supported only in LUTRAM mode.
  • The value of NEW_A_OLD_B is supported only if you set the operation_mode parameter to QUAD_PORT.
init_file
  • *.mif
  • *.hex
The initialization file.
init_file_layout
  • PORT_A
  • PORT_B
The layout of the initialization file.
maximum_depth The depth of the memory block slices.
clock_enable_input_a
  • NORMAL
  • BYPASS
The clock enable for the input registers of port A.
clock_enable_output_a
  • NORMAL
  • BYPASS
The clock enable for the output registers of port A.
clock_enable_input_b
  • NORMAL
  • BYPASS
The clock enable for the input registers of port B.
clock_enable_output_b
  • NORMAL
  • BYPASS
The clock enable for the output registers of port B.
read_during_write_ mode_port_a
  • NEW_DATA_NO_NBE_READ
  • NEW_DATA_WITH_NBE_READ
  • OLD_DATA
  • DONT_CARE
The read-during-write behavior for port A.
read_during_write_ mode_port_b
  • NEW_DATA_NO_NBE_READ
  • NEW_DATA_WITH_NBE_READ
  • OLD_DATA
  • DONT_CARE
The read-during-write behavior for port B.
enable_ecc
  • TRUE
  • FALSE
Turns ECC on or off.
ecc_pipeline_stage_ enabled
  • TRUE
  • FALSE

Turns ECC pipeline registers before the output decoder on or off.

Turning on this feature allows ECC mode to achieve the same performance as the non-ECC mode but at the cost of one cycle of latency.

  • The default value is FALSE.
  • If you set this parameter to TRUE:
    • You must set enable_ecc to TRUE.
    • You cannot set outdata_reg_b parameter to UNREGISTERED.
enable_ecc_encoder_bypass
  • TRUE
  • FALSE

Turns ECC encoder bypass on or off.

If you set this parameter to TRUE, you must set enable_ecc to TRUE.

enable_coherent_read
  • TRUE
  • FALSE

Turns coherent read on or off.

The default value is FALSE.

enable_force_to_zero
  • TRUE
  • FALSE

Turns Force-to-Zero on or off.

The default value is FALSE.