XSem_CmdCfrNjctErr - 2023.2 English

Standalone Library Documentation: BSP and Libraries Document Collection (UG643)

Document ID
UG643
Release Date
2023-12-13
Version
2023.2 English

This function is used to inject an error at a valid location in CRAM from user application. Primarily this function sends an IPI request to PLM to perform error injection in CRAM with user provided arguments in *ErrDetail, waits for PLM to process the request and reads the response message.

Note:
  • Total number of frames in a row is not same for all rows.
  • XSem_CmdCfrGetTotalFrames API is provided to know the total number of frames in a row for each block. Output param (FrameCntPtr) of XSem_CmdCfrGetTotalFrames API is updated with total number of frames of each block type for the input row. If a particular block in a row has 0 frames, then error injection shall not be performed. Range of Frame number: 0 to (FrameCntPtr[n] - 1) where n is block type with range 0 to 6. ECC bits. The error injection will not change the design behaviour.

Prototype

XStatus XSem_CmdCfrNjctErr(XIpiPsu *IpiInst, \ XSemCfrErrInjData *ErrDetail, \ XSemIpiResp *Resp);

Parameters

The following table lists the XSem_CmdCfrNjctErr function arguments.

Table 1. XSem_CmdCfrNjctErr Arguments
Type Member Description
XIpiPsu * IpiInst Pointer to IPI driver instance
\ XSemCfrErrInjData * ErrDetail Structure Pointer with Error Injection details
  • ErrDetail->Row : Row Number (Min: 0 , Max: (value at CFU_ROW_RANGE)-1)
  • ErrDetail->Efar : Frame Address
    • Frame Number [0:19] (Refer note)
    • Block Type [20:22]
  • ErrDetail->Qword : Quad Word(Min: 0, Max: 24)
  • ErrDetail->Bit : Bit Position(Min: 0, Max: 127)
\ XSemIpiResp * Resp Structure Pointer of IPI response

Resp->RespMsg1: Acknowledgment ID of CRAM error injection(0x10304)

Resp->RespMsg2: Status of CRAM error injection

  • 0x00002000 – Null pointer error
  • 0x00500000 – CRAM init not done
  • 0x00800000 – Invalid row
  • 0x00900000 – Invalid qword
  • 0x00A00000 – Invalid bit
  • 0x00B00000 – Invalid frame address
  • 0x00C00000 – Unexpected bits flipped
  • 0x00D00000 – Masked bit
  • 0x00E00000 – Invalid block type
  • 0x00F00000 – Active crc/uncor ecc error in CRAM

Returns

This API returns the success or failure.
  • XST_FAILURE: On CRAM error injection failure
  • XST_SUCCESS: On CRAM error injection success