We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 68142

2016.2 AXI External Memory Controller (EMC) v3.0 – The first write to the flash memory occurs twice when issuing burst transaction from AXI-4


When a burst transaction issues from AXI-4 Memory Mapped Interfaces, the first write to the memory will be issued twice to the same address.


This behavior impacts on the Micron BPI flash.

According to the behavior guidelines from Micron, if a write is performed to the same address twice, the second write will be ignored and the first written data will not be broken.

However, this will cause an internal PROGRAM Error, and afterwards write is unavailable until this error bit is cleared.


This is a known issue discovered in version 3.0 of the core that is planned to be resolved in a future release of the core.

In the meantime, the work-around is to use a single AXI-4 transaction.

Using AXI-4 burst write transactions does not help much when improving flash programing because the bottleneck is on the flash memory side.

As the screen capture above shows, the core de-asserts the WREADY for a long cycle to delay the write transaction from the AXI-4 master.

The following table is from the Micron BPI datasheet:


Using Buffered Programing mode, and filling in 512 words of one buffer with a single AXI-4 transaction can also improve programming timing.

AR# 68142
Date 11/07/2016
Status Active
Type General Article
  • Virtex UltraScale
  • Kintex UltraScale
  • Vivado Design Suite - 2016.2
  • AXI External Memory Controller