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!

Page Bookmarked

AR# 34702

11.4 EDK, MPMC v5.04a - How can I monitor the memory init_done signal when using the VFBC interface?


How can I be sure initialization is complete?
For the PLB, PIM SL_Wait or SI_Rearbitrate is used to give the user access during initialization.
For NPI, PIM INIT_DONE is used to monitor completion of initialization.


The VFBC keeps its command FIFO flags active during MPMC initialization which prevents user access.

VFBC is built above the NPI interface. Looking at the MPMC VFBC interface source code, you can see the following:

cmd0_full               <= DmaCmdPortOut.SFlagFull or not npi_init_done_dly;
cmd0_almost_full        <= DmaCmdPortOut.SFlagAlmostFull or not npi_init_done_dly;

wd0_full                                                <= WrDataPortOut(CMD0_PORT_ID).SFlagFull or not npi_init_done_dly;
wd0_almost_full                                         <= WrDataPortOut(CMD0_PORT_ID).SFlagAlmostFull or not npi_init_done_dly;

rd0_empty                       <= RdDataPortOut(CMD0_PORT_ID).SFlagEmpty or not npi_init_done_dly;
rd0_almost_empty                <= RdDataPortOut(CMD0_PORT_ID).SFlagAlmostEmpty or not npi_init_done_dly;
AR# 34702
Date 05/23/2014
Status Archive
Type General Article
  • EDK - 11.4
  • Multi-Port Memory Controller (MPMC)