UPGRADE YOUR BROWSER

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# 19132

6.2 EDK - PlatGen unable to resolve slave position in system with master-slave devices

Description

Keywords: XPS, master, slave, PLB

Urgency: Standard

General Description:
PlatGen errors out on the MHS snippet shown below with the following error:

"ERROR:MDT - plb_v34 (plb) - C:\working\Gm\system.mhs:106 - 2 SLAVE(s) allowed, but POSITION 3 assigned"

BEGIN plb_gemac
PARAMETER INSTANCE = plb_gemac_0
PARAMETER HW_VER = 1.00.b
PARAMETER C_BASEADDR = 0x10000000
PARAMETER C_HIGHADDR = 0x1000ffff
BUS_INTERFACE MSPLB = plb

NOTE: The suggested fix below impacts all MHS users who use MSPLB.

Solution

This problem occurs when a bus has more masters than slaves and at lease one of the masters has the MASTER_SLAVE bus interface type. Depending on the order in which PlatGen connects the different units to the bus, PlatGen might error out and indicate that the assigned position of a slave unit exceeds the total number of slaves present. To avoid this, you should make sure that PlatGen always connects the master-slave units first. You can control the PlatGen connection order by assigning the POSITION attribute to the MHS bus interface declaration as follows:

BUS_INTERFACE MSPLB=plb, POSITION=1

for a MPD declaration such as:

BUS_INTERFACE BUS=MSPLB, BUS_STD=PLB, BUS_TYPE=MASTER_SLAVE

This ensures that PlatGen can correctly assign all slaves to the bus.

NOTE: This change of POSITION for bus units can result in arbitration priority changes, which if relevant, you must compensate for in the bus arbiter configuration.
AR# 19132
Date Created 03/11/2004
Last Updated 04/09/2007
Status Archive
Type General Article