Knowledge Base Article

Control of RapidIO II IP Core EF_PTR Fields is Incorrect

Description

The RapidIO II MegaCore Function User Guide states that the Extended features pointer parameter in the RapidIO II parameter editor controls the final EF_PTR in the chain of pointers from one register block to another in the IP core. This feature allows the user to specify additional user-defined register blocks in user logic and to add them to the end of the chain. If the IP core variation implements the Error Management Extensions, the parameter controls the EF_PTR field of the Error Management Extensions Block Header register at offset 0x300, and if the IP core variation does not implement the Error Management Extensions, the parameter controls the EF_PTR field of the LP-Serial Lane Register Block Header register at offset 0x200.

However, this feature is not implemented correctly. If the Error Management Extensions are not implemented, the IP core nevertheless sets the EF_PTR field of the LP-Serial Lane Register Block Header register to what would be the offset to the Error Management Extensions Block Header register, 0x300, regardless of the value of the Extended features pointer parameter.

This issue affects only variations that do not implement the Error Management Extensions. In these variations, you cannot specify the address of a user-defined register block in the expected location, the EF_PTR field of the LP-Serial Lane Register Block Header register.

Resolution

To avoid this issue, ensure that software does not rely on the value in the EF_PTR field of the LP-Serial Lane Register Block Header register in any RapidIO II IP core variation that does not implement the Error Management Extensions block.

This issue is fixed in version 13.1 of the RapidIO II MegaCore function. The Extended features pointer parameter is now available in the Command and Status Registers tab instead of the Capability Registers tab.

Updated 1 month ago
Version 2.0
No CommentsBe the first to comment