What happens when I perform a simultaneous read and write to the same address in dual-port RAM? - What happens when I perform a simultaneous read and write to the same address in dual-port RAM?
Description There are a number of different possibilities when trying to simultaneously read and write to the same address in dual-port RAM in the Quartus ® II software and the MAX PLUS ® II software. When the output port of the RAM is unregistered, one of the following situations will occur: Case 1 : The read clock's frequency is greater than 2x the write clock's frequency. The write clock has not written the data at this point; therefore, the read clock accesses the old data value. Case 2 : Dual-port RAM uses the same clock for reading and writing. The newly written data appears at the output (t EABDD ), after the falling edge of the clock. At slower clock frequencies, the old data value can appear shortly after the rising edge of the clock followed by the newly written data, which appears at t EABDD after the falling edge. When the output port of the RAM is registered, the following conditions hold: Case 1 : The read clock is very fast (frequency > 1/t EABDD ). The q output reads the old data value. Case 2 : Dual-port RAM uses the same clock for reading and writing. The q output reads the newly written data value. Case 3 : The read and write clocks are unrelated, and the read clock has a frequency less than 1/t EABDD . The q output reads the newly written data value. t EABDD is the EAB data-in to data-out valid delay for FLEX ® 10K devices and t ESBDD is the ESB data-in-data-out valid delay for APEX TM 20K devices; these parameters are specified in the appropriate device family data sheet.
Custom Fields values:
['novalue']
Troubleshooting
novalue
False
['novalue']
['novalue']
novalue
novalue
['Programmable Logic Devices']
['novalue']
['novalue']
['novalue'] - 2021-08-25
external_document