Hi all,
Has anyone ever had success routing an NPI port of the MPMC2 controller to an External Port of a PPC based system component in EDK (i.e. I would like to route an NPI port to some custom logic...I use the flow where I use EDK simply to generate a component & I subsequently instantiate this in the top level of my VHDL design)? I am having a lot of problems doing this. Xilinx doesn't have a reference design available for this partuicular case; however, the documentation for MPMC2 implies that one can do this. Please keep in mind that I am an EDK newbie....I have been using Xilinx Alliance/ISE/etc. for many years though :)!
What I seem to be seeing is that MPMC2 declares the NPI interface to be a "transparent bus". Now, does this imply that I have to make some kind of "bus to pins" converter and subsequently declare this component in an MPD file, or is this completely useless? What I tried doing was modify the MPMC2 MPD generated by the GUI...I simply removed the "transparent bus" declaration from the MPD as well as all the labels on the ports that were part of this bus, but that did not seem to help. It almost seems like EDK is automatically recognizing the NPI bus as some sort of "bus" and is getting confused no matter what I comment out of the MPD.
I understand that my above description sounds rather stupid. However, I am just throwing this out there for discussion to see if anyone was successful doing this. Basically, my MPMC has 5 ports :
ISPLB DSPLB PLB (seems I need this so that I can add PLB slaves....if not added in the MPMC2, I recall seeing errors...all reference designs seem to have this as well). OPB (again, seems like I need this in the MPMC2 or else I get errors when adding OPB slaves to my EDK design...all reference designs seem to have this as well) NPI
All I really thought I would need would be the ISPLB and DSPLB so that the PowerPC would have fast access to the DDR DRAM. The NPI is basically intended as port for storing data that is streaming into the FPGA. I hope to use custom hardware to pop data from DRAM after the PowerPC does some processing on it.
If anyone has any tips, tricks, pointers, etc., it would be appreciated greatly! I filed a webcase on this, but I would have to imagine that someone out there has run into this situation before!
Thanks!
Ed
PS After re-reading this before posting, I realized that some of the errors or warnings I get are related to the block diagram generator getting confused about multiple busses and probably not able to place and route the block diagram...this might simply be a red herring & an actual physical implementation might be OK....I will post again if that is the case, but I am having problems with the PLB masters and slaves now not having matching bit widths...ugh...