When I implement a PLB Gigabit Ethernet MAC design in EDK 6.1i with a Master/Slave bus interface, the following error occurs during PlatGen with respect to the PLB bus:
"ERROR:MDT - plb_v34 (plb) -
C:\Networking\GMAC_PLB\gmac_design\system.mhs:106 - 2
SLAVE(s) allowed, but POSITION = 3 assigned!
ERROR:MDT - platgen failed with errors!
make: *** [implementation/system.ngc] Error 2"
This error occurs in simple PLB GMAC systems in which there are fewer slaves than masters on the PLB bus. With a MSPLB component, such as the PLB GMAC, both the master and slave are forced to the same position. This can lead to a situation in which a slave is assigned to a position that is not in the allowable range.
To work around the issue, add the "POSITION" keyword to the BUS_INTERFACE attribute of the PLB GMAC in the .mhs file. Assign it a value of two, as shown below:
Change from: BUS_INTERFACE MSPLB = plb
Change to: BUS_INTERFACE MSPLB = plb, POSITION = 2
This changes the position of the PLB GMAC to two, which is an allowable range for the number of slaves on the bus.