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
Give Feedback

3.2. Write and Read Operations Triggering

The embedded memory blocks vary slightly in its supported features and behaviors. One important variation is the difference in the write and read operations triggering.
Table 4.  Write and Read Operations Triggering for Embedded Memory BlocksThis table lists the write and read operations triggering for various embedded memory blocks.
Embedded Memory Blocks Write Operation Read Operation
M10K Rising clock edges Rising clock edges
M20K Rising clock edges Rising clock edges
M144K Rising clock edges Rising clock edges
M9K Rising clock edges Rising clock edges
MLAB Falling clock edges

Rising clock edges (in Intel® Arria® 10, Arria® V, Cyclone® V, and Stratix® V devices only)

Rising clock edges 3
M-RAM Rising clock edges Rising clock edges
M4K Falling clock edges Rising clock edges
M512 Falling clock edges Rising clock edges

It is important that you understand the write operation triggering to avoid potential write contentions that can result in unknown data storage at that location.

These figures show the valid write operation that triggers at the rising and falling clock edge, respectively.

Figure 1. Valid Write Operation that Triggers at Rising Clock EdgesThis figure assumes that twc is the maximum write cycle time interval. Write operation of data 03 through port B does not meet the criteria and causes write contention with the write operation at port A, which result in unknown data at address 01. The write operation at the next rising edge is valid because it meets the criteria and data 04 replaces the unknown data.
Figure 2. Valid Write Operation that Triggers at Falling Clock Edges This figure assumes that twc is the maximum write cycle time interval. Write operation of data 04 through port B does not meet the criteria and therefore causes write contention with the write operation at port A that result in unknown data at address 01. The next data (05) is latched at the next rising clock edge that meets the criteria and is written into the memory block at the falling clock edge.
Note: Data and addresses are latched at the rising edge of the write clock regardless of the different write operation triggering.
2 Write operation triggering is not applicable to ROMs.
3 MLAB supports continuos reads. For example, when you write a data at the write clock rising edge and after the write operation is complete, you see the written data at the output port without the need for a read clock rising edge.