In the Virtex-6 FPGA Embedded Tri-Mode Ethernet MAC wrapper version 1.3 and earlier, block RAM instances do not comply with all asynchronous clocking conflict avoidance requirements as described in the Virtex-6 FPGA Memory Resources User Guide (UG363):
http://www.xilinx.com/support/documentation/user_guides/ug363.pdf
Specifically, RAMB36E1 instances within the LocalLink FIFO level of hierarchy are configured for READ_FIRST TDP mode, but do not respect the requirement that read and write addresses cannot be within the same page of memory. When using ISE tools 11.4, this might result in memory collisions reported during simulation. Additionally, using ISE tools 11.3 or 11.4 might result in marginal or erroneous hardware operation of the block RAM.
Files named rx_client_fifo_[8 | 16].v[hd] and tx_client_fifo_[8 | 16].v[hd] exist in the example_design/client/fifo subdirectory. In each file is a single instance of the primitive RAMB36E1 which contains attributes called WRITE_MODE_A and WRITE_MODE_B. Change both the WRITE_MODE_A and WRITE_MODE_B values from "READ_FIRST" to "WRITE_FIRST".
This issue is scheduled to be fixed in the ISE tools 11.5 release of the core.
| Answer Number | Answer Title | Version Found | Version Resolved |
|---|---|---|---|
| 33309 | Virtex-6 FPGA Embedded Tri-mode Ethernet MAC Wrapper v1.3 and v1.3 rev1 - Release Notes and Known Issues for ISE 11.3 and 11.5 | N/A | N/A |