AR# 32020

10.1 EDK - 存在しないレジスタ アドレスへのアクセスがあるとプロセッサが停止する

説明

キーワード : Create/Import Peripheral Wizard, CIP, invalid, address, XMD, 作成, インポート, ペリフェラル, ウィザード, 無効, アドレス

レジスタを 3 つ使用して Create / Import Peripheral (CIP) Wizard で pcore を作成した場合、C_ARD_NUM_CE_ARRAY の数値が正しくありません。

Analyzing hierarchy for entity <user_logic>: C_NUM_REG = 3
Analyzing hierarchy for entity <plbv46_slave_single>:
C_ARD_NUM_CE_ARRAY = (4)

reading baseaddress..
C_BASEADDR + 0x0 ok
C_BASEADDR + 0x4 ok
C_BASEADDR + 0x8 ok
C_BASEADDR + 0xC

4 番目の存在しないレジスタが読み込まれると、MicroBlaze は停止します。

ところが、pcore を 2 つのレジスタで作成した場合、ce_array は正確です。

Analyzing hierarchy for entity <user_logic>: C_NUM_REG = 2
Analyzing hierarchy for entity <plbv46_slave_single>: C_ARD_NUM_CE_ARRAY = (2)

ソリューション

このアドレス空間に存在するレジスタはないので、C_INCLUDE_DPHASE_TIMER パラメータは 1 に設定しないと、データ位相のタイムアウトが不可能になります。このパラメータは MHS または MPD ファイルのいずれかで設定できます。このパラメータの詳細は、IPIF データシートを参照してください。
AR# 32020
日付 12/15/2012
ステータス アクティブ
種類 一般