A newer version of this document is available. Customers should click here to go to the newest version.
1. Intel® Agilex™ Embedded Memory Overview
2. Intel® Agilex™ Embedded Memory Architecture and Features
3. Intel® Agilex™ Embedded Memory Design Considerations
4. Intel® Agilex™ Embedded Memory IP References
5. Intel® Agilex™ Embedded Memory Debugging
6. Intel® Agilex™ Embedded Memory User Guide Archives
7. Document Revision History for the Intel® Agilex™ Embedded Memory User Guide
2.1. Byte Enable in Intel® Agilex™ Embedded Memory Blocks
2.2. Address Clock Enable Support
2.3. Asynchronous Clear and Synchronous Clear
2.4. Memory Blocks Error Correction Code (ECC) Support
2.5. Intel® Agilex™ Embedded Memory Clocking Modes
2.6. Intel® Agilex™ Embedded Memory Configurations
2.7. Force-to-Zero
2.8. Coherent Read Memory
2.9. Freeze Logic
2.10. True Dual Port Dual Clock Emulator
2.11. Initial Value of Read and Write Address Registers
2.12. Timing/Power Optimization Feature in M20K Blocks
2.13. Intel® Agilex™ Supported Embedded Memory IPs
3.1. Consider the Memory Block Selection
3.2. Consider the Concurrent Read Behavior
3.3. Customize Read-During-Write Behavior
3.4. Consider Power-Up State and Memory Initialization
3.5. Reduce Power Consumption
3.6. Avoid Providing Non-Deterministic Input
3.7. Avoid Changing Clock Signals and Other Control Signals Simultaneously
3.8. Advanced Settings in Intel® Quartus® Prime Software for Memory
3.9. Consider the Memory Depth Setting
4.1.1. Release Information for RAM and ROM Intel® FPGA IPs
4.1.2. RAM: 1-PORT Intel® FPGA IP Parameters
4.1.3. RAM: 2-PORT Intel® FPGA IP Parameters
4.1.4. RAM: 4-PORT Intel® FPGA IP Parameters
4.1.5. ROM: 1-PORT Intel® FPGA IP Parameters
4.1.6. ROM: 2-PORT Intel® FPGA IP Parameters
4.1.7. Changing Parameter Settings Manually
4.1.8. RAM and ROM Interface Signals
4.3.1. Release Information for FIFO Intel® FPGA IP
4.3.2. Configuration Methods
4.3.3. Specifications
4.3.4. FIFO Functional Timing Requirements
4.3.5. SCFIFO ALMOST_EMPTY Functional Timing
4.3.6. FIFO Output Status Flag and Latency
4.3.7. FIFO Metastability Protection and Related Options
4.3.8. FIFO Synchronous Clear and Asynchronous Clear Effect
4.3.9. SCFIFO and DCFIFO Show-Ahead Mode
4.3.10. Different Input and Output Width
4.3.11. DCFIFO Timing Constraint Setting
4.3.12. Coding Example for Manual Instantiation
4.3.13. Design Example
4.3.14. Gray-Code Counter Transfer at the Clock Domain Crossing
4.3.15. Guidelines for Embedded Memory ECC Feature
4.3.16. FIFO Intel® FPGA IP Parameters
4.3.17. Reset Scheme
4.4.1. Release Information for Shift Register (RAM-based) Intel® FPGA IP
4.4.2. Shift Register (RAM-based) Intel® FPGA IP Features
4.4.3. Shift Register (RAM-based) Intel® FPGA IP General Description
4.4.4. Shift Register (RAM-based) Intel® FPGA IP Parameter Settings
4.4.5. Shift Register Ports and Parameters Setting
3.3.2. Mixed-Port Read-During-Write Mode
The mixed-port read-during-write mode applies to simple dual-port RAM mode, true dual-port, and simple quad-port RAM. Two ports perform read and write operations on the same memory address using the same clock: one port reading from the address, and the other port writing to it.
Output Mode | Memory Type | Description | Supported Operation Mode |
---|---|---|---|
New Data | MLAB | A read-during-write operation to different ports causes the MLAB registered output to reflect the New Data on the next rising edge after the data is written to the MLAB memory. This mode is available only if the output is registered. |
|
Old Data | M20K, MLAB | A read-during-write operation to different ports causes the RAM output to reflect the Old Data value at that particular address. For MLAB, this mode is available only if the output is registered. |
|
Don't Care | M20K, MLAB | The RAM produces Don't Care or Unknown value.
|
|
New_a_old_b | M20K | The read-during-write operation to different ports causes the RAM output to reflect new data at port A and old data at port B. |
|
RAM: 2-PORT Intel® FPGA IP Settings | Output Behavior | |||
---|---|---|---|---|
Parameter | Enabled Parameter Options | altera_syncram Parameter (read_during_write_mode_mixed_ ports) |
Output Data when Read-During-Write | MLAB Atom (visible in Chip Planner) |
Mixed Port Read-During-Write for Single Input Clock RAM How should the q_a and q_b outputs behave when reading a memory location that is being written from the other ports? |
Old Data | old_data | Old data 4 | New Data |
New Data | new_data | New data | New Data | |
Don't Care | dont_care | Don't care 5 | Don't Care |
Figure 24. Mixed-Port Read-During-Write: New Data ModeThis figure shows a sample functional waveform of mixed-port read-during-write behavior for the New Data mode.
Figure 25. Mixed-Port Read-During-Write: Old Data ModeThis figure shows a sample functional waveform of mixed-port read-during-write behavior for the Old Data mode.
Figure 26. Mixed-Port Read-During-Write: Don't Care ModeThis figure shows a sample functional waveform of mixed-port read-during-write behavior for the Don't Care mode. This behavior is only applicable for M20K blocks.
Figure 27. Mixed-Port Read-During-Write: New_a_old_b ModeThis figure shows a sample functional waveform of mixed-port read-during-write behavior for the New_a_old_b mode.
4 Old data is achieved through external soft logic as the MLAB blocks only natively supports new data.
5 The output data is don't care because the IP does not guarantee metastability for the output data when read-during-write.