![Xilinx Virtex-5 FPGA ML561 User Manual Download Page 119](http://html.mh-extra.com/html/xilinx/virtex-5-fpga-ml561/virtex-5-fpga-ml561_user-manual_887106119.webp)
Virtex-5 FPGA User Guide
119
UG190 (v5.0) June 19, 2009
Synchronous Dual-Port and Single-Port RAMs
Conflict Avoidance
Virtex-5 FPGA block RAM memory is a true dual-port RAM where both ports can access
any memory location at any time. When accessing the same memory location from both
ports, the user must, however, observe certain restrictions. There are two fundamentally
different situations: The two ports either have a common clock (synchronous clocking), or
the clock frequency and phase is different for the two ports (asynchronous clocking).
Asynchronous Clocking
Asynchronous clocking is the more general case, where the active edges of both clocks do
not occur simultaneously:
•
There are no timing constraints when both ports perform a read operation.
•
When one port performs a write operation, the other port must not read- or write-
access the same memory location. The simulation model will produce an error if this
condition is violated. If this restriction is ignored, a read or write operation will
produce unpredictable results. There is, however, no risk of physical damage to the
device. If a read and write operation is performed, then the write will store valid data
at the write location.
Synchronous Clocking
Synchronous clocking is the special case, where the active edges of both port clocks occur
simultaneously:
•
There are no timing constraints when both ports perform a read operation.
•
When one port performs a write operation, the other port must not write into the
same location, unless both ports write identical data.
•
When one port performs a write operation, the write operation succeeds; the other
port can reliably read data from the same location if the write port is in READ_FIRST
mode. DATA_OUT on both ports will then reflect the previously stored data.
If the write port is in either WRITE_FIRST or in NO_CHANGE mode, then the DATA-
OUT on the read port would become invalid (unreliable). The mode setting of the
read-port does not affect this operation.
X-Ref Target - Figure 4-4
Figure 4-4:
NO_CHANGE Mode Waveforms
CLK
WE
DI
ADDR
DO
EN
Disable
Read
XXXX
1111
2222
XXXX
aa
bb
cc
dd
0000
MEM(aa)
MEM(dd)
Read
Write
MEM(bb)=1111
Write
MEM(cc)=2222
ug190_4_05_032206
Summary of Contents for Virtex-5 FPGA ML561
Page 1: ...Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 ...
Page 8: ...Virtex 5 FPGA User Guide www xilinx com UG190 v5 0 June 19 2009 ...
Page 20: ...20 www xilinx com Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 ...
Page 24: ...24 www xilinx com Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 Preface About This Guide ...
Page 172: ...172 www xilinx com Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 Chapter 4 Block RAM ...