AR# 19132

6.2 EDK - マスタ スレーブ デバイスのシステムで PlatGen がスレーブの接続を正しく割り当てることができない

説明

キーワード : XPS, master, slave, PLB, マスタ, スレーブ

重要度 : 標準

概要 :
MHS ファイルの以下の部分において、PlatGen が次のエラー メッセージを表示します。

"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

メモ : 以下で推奨するソリューションは、MSPLB を使用するすべての MHS ユーザーを対象にします。

ソリューション

この問題は、スレーブよりもマスタが多い場合でマスタのひとつに MASTER_SLAVE バス インターフェイス タイプがある場合に生じます。 PlatGen が異なるユニットをバスに接続する順番が原因で、割り当てられたスレーブ ユニットが実際の数よりも多いことを示すエラー メッセージを表示します。 この問題を回避するには、PlatGen が常にマスタ スレーブ ユニットを先に接続するようにします。 POSITION 属性を MHS バス インターフェイス宣言で次のように割り当てると PlatGen 接続順序を制御できます。

BUS_INTERFACE MSPLB=plb, POSITION=1

MPD 宣言は次のとおりです。

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

これにより、PlatGen がすべてのスレーブをバスに正しく割り当てることができます。

メモ : バス ユニットの POSITION 属性を変更すると、アービトレーション優先順位に影響を与えます。その場合は、アービタ コンフィギュレーションも変更する必要があります。
AR# 19132
日付 04/09/2007
ステータス アーカイブ
種類 一般