The "mch_opb_emc_v1_01_a" Core fails accessing memory correctly when there are partial or odd numbers of Byte Enable (that is, BE="0111" or "1110").
In certain cases (that is, Ethernet frame length MOD 4 = 3), the OPB_ETHERNET Core issues OPB transactions where BE = 1110. When configured for a 16-bit external interface, the MCH_OPB_EMC Core does not handle correctly the 3-byte OPB accesses to the memory.
This problem has be resolved in the following patch.
You can download the latest "mch_opb_emc_v1_01_a" patch with the additional helper libraries from the following link:
To install the patches, please follow the instructions provided in the (Xilinx Answer 23474) - "How do I install a patch for the Processor IP Core in EDK tools?"