Embedded Memory (RAM: 1-PORT, RAM: 2-PORT, ROM: 1-PORT, and ROM: 2-PORT) User Guide

ID 683240
Date 9/17/2021
Public
Document Table of Contents

3.13. Power-Up Conditions and Memory Initialization

Power-up conditions depend on the type of embedded memory blocks in use and whether or not the output port is registered.
Table 13.  Power-Up Conditions for Various Embedded Memory BlocksThis table lists the power-up conditions in the various types of embedded memory blocks.
Embedded Memory Blocks Power-Up Conditions
M512 Outputs cleared
M4K Outputs cleared
M-RAM Outputs cleared if registered, otherwise unknown
MLAB Outputs cleared if registered, otherwise reads memory contents
M9K Outputs cleared
M144K Outputs cleared
M10K Outputs cleared
M20K Outputs cleared

The outputs of M512, M4K, M9K, M144K, M10K, and M20K blocks always power-up to zero, regardless of whether the output registers are used or bypassed. Even if a memory initialization file is used to pre-load the contents of the memory block, the output is still cleared.

MLAB and M-RAM blocks power-up to zero only if output registers are used. If output registers are not used, MLAB blocks power-up to read the memory contents while M-RAM blocks power-up to an unknown state.

Note: When the memory block type is set to Auto in the parameter editor, the compiler is free to choose any memory block type, in which the power-up value depends on the chosen memory block type. To identify the type of memory block the software selects to implement your memory, refer to the fitter report after compilation.

All memory blocks (excluding M-RAM) support memory initialization via the Memory Initialization File (.mif) or Hexadecimal ( Intel® -format) file (.hex). You can include the files using the parameter editor when you configure and build your RAM. For RAM, besides using the .mif file or the .hex file, you can initialize the memory to zero or ‘X’. To initialize the memory to zero, select No, leave it blank. To initialize the content to ‘X’, turn on Initialize memory content data to XX..X on power-up in simulation. Turning on this option does not change the power-up behavior of the RAM but initializes the content to ‘X’. For example, if your target memory block is M4K, the output is cleared during power-up (based on Table 13). The content that is initialized to ‘X’ is shown only when you perform the read operation.

Note: The Intel® Quartus® Prime software searches for the altsyncram init_file in the project directory, the project db directory, user libraries, and the current source file location.