AR# 39606: Distributed RAM Memory- How avoid memory collisions
Distributed RAM Memory- How avoid memory collisions
How to check Collision inDistributed RAM Memory
Distributed RAM issynchronous elements when you write data to them, so the same precautions must be taken as with all synchronous elements to avoid timing violations. The data input, address lines, and enables all must be stable before the clock signal arrives to guarantee proper data storage.
ForDistributed RAM, special care must be taken to avoid memory collisions. A memory collision occurs when one port is being written to while the other port is either read or a write is attempted to the same address at the same time, or within a very short period of time thereafter. The model warns you if a collision occurs. If the RAM is being read on one port as it is being written to on the other, the model outputs an 'X' value, signifying an unknown output. If the two ports are writing data to the same address at the same time, the model can write unknown data into memory. Care should be taken to avoid this situation, as unknown results may occur from this action.