prc: xprc.h File Reference

| prc Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Data Structures | Macros | Functions
xprc.h File Reference

## Data Structures
struct | XPrc
| The XPrc instance data structure. More...

## Macros
#define | XPrc_GetNumberOfVsms(InstancePtr) (InstancePtr)->Config.NumberOfVsms
| This macro is used to get the Number of Virtual Socket Managers. More...
#define | XPrc_GetRequiresClearBitstreams(InstancePtr) (InstancePtr)->Config.RequiresClearBitstreams
| This macro is used to find if Clearing Bitstreams are required. More...
#define | XPrc_GetCpArbitrationProtocol(InstancePtr) (InstancePtr)->Config.Cp_Arbitration_Protocol
| This macro is used to get the CAP Arbitration protocol. More...
#define | XPrc_GetHasAxiLiteIf(InstancePtr) (InstancePtr)->Config.Has_Axi_Lite_If
| This macro is used to discover if the AXI4-Lite register interface is enabled or disabled. More...
#define | XPrc_GetResetActiveLevel(InstancePtr) (InstancePtr)->Config.Reset_Active_Level
| This macro is used to discover if the core's reset is active low (0) or active high (1). More...
#define | XPrc_GetCpFifoDepth(InstancePtr) (InstancePtr)->Config.Cp_Fifo_Depth
| This macro returns the depth of FIFO in the fetch path. More...
#define | XPrc_GetCpFifoType(InstancePtr) (InstancePtr)->Config.Cp_Fifo_Type
| This macro returns the type of the FIFO in the fetch path. More...
#define | XPrc_GetCpFamily(InstancePtr) (InstancePtr)->Config.Cp_Family
| This macro returns the family type of the device being managed. More...
#define | XPrc_GetCdcStages(InstancePtr) (InstancePtr)->Config.Cdc_Stages
| This macro returns the number of synchronization stages used when crossing between clock domains. More...
#define | XPrc_GetCpCompression(InstancePtr) (InstancePtr)->Config.Cp_Compression
| This macro tells the PRC whether partial bitstreams are compressed or not. More...
#define | XPrc_GetRegVsmMsb(InstancePtr) (InstancePtr)->Config.RegVsmMsb
| This macro is used to get the Virtual Socket Manager Select MSB. More...
#define | XPrc_GetRegVsmLsb(InstancePtr) (InstancePtr)->Config.RegVsmLsb
| This macro is used to get the Virtual Socket Manager Select LSB. More...
#define | XPrc_GetRegBankMsb(InstancePtr) (InstancePtr)->Config.RegBankMsb
| This macro is used to get the Bank Select MSB. More...
#define | XPrc_GetRegBankLsb(InstancePtr) (InstancePtr)->Config.RegBankLsb
| This macro is used to get the Bank Select LSB. More...
#define | XPrc_GetRegSelectMsb(InstancePtr) (InstancePtr)->Config.RegSelectMsb
| This macro is used to get the Register Select MSB. More...
#define | XPrc_GetRegSelectLsb(InstancePtr) (InstancePtr)->Config.RegSelectLsb
| This macro is used to get the Register Select LSB. More...
#define | XPrc_GetNumRms(InstancePtr, VsmId) (InstancePtr)->Config.NumberOfRms[VsmId]
| This macro is used to get the number of Reconfigurable Modules in a VSM. More...
#define | XPrc_GetNumRmsAllocated(InstancePtr, VsmId) (InstancePtr)->Config.NumberOfRmsAllocated[VsmId]
| This macro returns the number of Reconfigurable Modules that have been allocated in this VSM. More...
#define | XPrc_GetStartInShutdown(InstancePtr, VsmId) (InstancePtr)->Config.Start_In_Shutdown[VsmId]
| This macro returns if the VSM starts in the Shutdown state. More...
#define | XPrc_GetNumTriggersAllocated(InstancePtr, VsmId) (InstancePtr)->Config.No_Of_Triggers_Allocated[VsmId]
| This macro returns the number of triggers that the Virtual Socket Manager has. More...
#define | XPrc_GetShutdownOnError(InstancePtr, VsmId) (InstancePtr)->Config.Shutdown_On_Error[VsmId]
| This macro returns whether the VSM will enter the shutdown state if an error is detected. More...
#define | XPrc_GetHasPorRm(InstancePtr, VsmId) (InstancePtr)->Config.Has_Por_Rm[VsmId]
| This macro returns whether the VSM contains an RM in the initial configuration bitstream. More...
#define | XPrc_GetPorRm(InstancePtr, VsmId) (InstancePtr)->Config.Por_Rm[VsmId]
| This macro returns the RM in the initial configuration bitstream for this VSM. More...
#define | XPrc_GetHasAxisStatus(InstancePtr, VsmId) (InstancePtr)->Config.Has_Axis_Status[VsmId]
| This macro returns 1 if the AXI4-Stream Status Channel is enabled for this VSM, and 0 if it's disabled. More...
#define | XPrc_GetHasAxisControl(InstancePtr, VsmId) (InstancePtr)->Config.Has_Axis_Control[VsmId]
| This macro returns 1 if the AXI4-Stream Control Channel is enabled for this VSM, and 0 if it's disabled. More...
#define | XPrc_GetSkipRmStartupAfterReset(InstancePtr, VsmId) (InstancePtr)->Config.Skip_Rm_Startup_After_Reset[VsmId]
| This macro returns whether the VSM will skip the Reconfigurable Module startup steps after a reset. More...
#define | XPrc_GetNumHwTriggers(InstancePtr, VsmId) (InstancePtr)->Config.Num_Hw_Triggers[VsmId]
| This macro returns the number of hardware triggers that the VSM has. More...
Please define XPRC_DEBUG macro to get debug prints of the driver and
define XPRC_DEBUG_CORE to get debug prints of the core.
#define | XPRC_DEBUG_GENERAL (0x00000001)
#define | xprc_dbg_current_types 0
#define | xprc_dbgcore_current_types 0
#define | xprc_printf(type,...)
#define | xprc_core_printf(type,...)
Virtual Socket Manager Registers
#define | XPRC_MAX_NUMBER_OF_VSMS (32)
| Maximum Number Of Vsms. More...
#define | XPRC_VSM_NUM_GENERAL_REGISTERS (2)
| Number Of General registers. More...
#define | XPRC_VSM_REGISTERS_PER_TRIGGER (1)
| Registers per Trigger. More...
#define | XPRC_VSM_REGISTERS_PER_RM (2)
| Registers per Rm. More...
#define | XPRC_VSM_REGISTERS_PER_BS (3)
| Registers per Bs. More...
Control Registers
#define | XPRC_CR_VS_FULL (1)
| Virtual Socket In Full State. More...
#define | XPRC_CR_VS_EMPTY (0)
| Virtual Socket In Empty State. More...
#define | XPRC_CR_DEFAULT_BYTE (0)
| Byte field Information for Control register Commands. More...
#define | XPRC_CR_DEFAULT_HALFWORD (0)
| Halfword field information for Control register Commands. More...
Status Registers
#define | XPRC_SR_SHUTDOWN_ON (1)
| Vsm In Shutdown State. More...
#define | XPRC_SR_SHUTDOWN_OFF (0)
| Vsm not In Shutdown State. More...
Software Trigger Registers
#define | XPRC_SW_TRIGGER_PENDING (1)
| Software Trigger is Pending. More...
#define | XPRC_NO_SW_TRIGGER_PENDING (0)
| Software Trigger is not Pending. More...
RM Control Registers
#define | XPRC_RM_CR_MAX_RESETDURATION (256)
| Maximum Number of Reset duration. More...
Register Table Row
#define | XPRC_REG_TABLE_ROW (0)
| Register Table Row. More...
Cp_Fifo_Type
#define | CP_FIFO_TYPE_LUTRAM (0)
| Fifo Value for Lutram. More...
#define | CP_FIFO_TYPE_BLOCKRAM (1)
| Fifo Value for Blockram. More...

## Functions
XPrc_Config * | XPrc_LookupConfig (u16 DeviceId)
| This function Looks for the device configuration based on the unique device ID. More...
s32 | XPrc_CfgInitialize (XPrc *InstancePtr, XPrc_Config *ConfigPtr, u32 EffectiveAddr)
| This function initializes a PRC instance. More...
void | XPrc_SendShutdownCommand (XPrc *InstancePtr, u16 VsmId)
| This function instructs the Virtual Socket Manager to enter the shutdown state. More...
void | XPrc_SendRestartWithNoStatusCommand (XPrc *InstancePtr, u16 VsmId)
| This function is used to restart a Virtual Socket Manager in shutdown if the Virtual Socket has not been modified during shutdown. More...
void | XPrc_SendRestartWithStatusCommand (XPrc *InstancePtr, u16 VsmId, u8 Full, u16 RmId)
| This function is used to restart a Virtual Socket Manager in shutdown if the Virtual Socket has been modified during shutdown. More...
void | XPrc_SendProceedCommand (XPrc *InstancePtr, u16 VsmId)
| This function instructs the Virtual Socket Manager to proceed with processing the Reconfigurable Module. More...
void | XPrc_SendUserControlCommand (XPrc *InstancePtr, u16 VsmId, u8 Rm_Shutdown_Req, u8 Rm_Decouple, u8 Sw_Shutdown_Req, u8 Sw_Startup_Req, u8 Rm_Reset)
| This function is used to set the values of Rm_Shutdown_Req, Rm_Decouple, Sw_Shutdown_Req, Sw_Startup_Req, Rm_Reset signals. More...
u32 | XPrc_ReadStatusReg (XPrc *InstancePtr, u16 VsmId)
| This function is used to read the VSM's Status Register. More...
u8 | XPrc_IsVsmInShutdown (XPrc *InstancePtr, u32 VsmIdOrStatus)
| This function is used to identify whether a VSM is in the Shutdown state or not. More...
u32 | XPrc_GetVsmState (XPrc *InstancePtr, u32 VsmIdOrStatus)
| This function is used to get a VSM's state. More...
u32 | XPrc_GetVsmErrorStatus (XPrc *InstancePtr, u32 VsmIdOrStatus)
| This function is used to get a VSM's Error Status. More...
u32 | XPrc_GetRmIdFromStatus (XPrc *InstancePtr, u32 VsmIdOrStatus)
| This function is used to extract the identifier of a Reconfigurable Module from a VSM's status register. More...
u32 | XPrc_GetBsIdFromStatus (XPrc *InstancePtr, u32 VsmIdOrStatus)
| This function is used to extract the identifier of a Bitstream from a VSM's status register. More...
void | XPrc_SendSwTrigger (XPrc *InstancePtr, u16 VsmId, u16 TriggerId)
| This function sends a software trigger to a Virtual Socket Manager. More...
u8 | XPrc_IsSwTriggerPending (XPrc *InstancePtr, u16 VsmId, u16 *TriggerId)
| This function is used to find out if there is a Software Trigger pending in a VSM. More...
void | XPrc_SetTriggerToRmMapping (XPrc *InstancePtr, u16 VsmId, u16 TriggerId, u16 RmId)
| This function is used to set a Trigger to Reconfigurable Module mapping in a Virtual Socket Manager. More...
u32 | XPrc_GetTriggerToRmMapping (XPrc *InstancePtr, u16 VsmId, u16 TriggerId)
| This function gets a Trigger to Reconfigurable Module mapping in a Virtual Socket Manager. More...
void | XPrc_SetRmBsIndex (XPrc *InstancePtr, u16 VsmId, u16 RmId, u16 BsIndex)
| This function sets the BS_INDEX field in the RM_BS_INDEX register to specify which row of the Bitstream Information tables holds the partial bitstream for the Reconfigurable Module in the Virtual Socket Manager. More...
void | XPrc_SetRmClearingBsIndex (XPrc *InstancePtr, u16 VsmId, u16 RmId, u16 ClearingBsIndex)
| This function set the CLEAR_BS_INDEX field in the RM_BS_INDEX register to specify which row of the BS Information tables holds the clearing bitstream for the Reconfigurable Module in the Virtual Socket Manager. More...
u32 | XPrc_GetRmBsIndex (XPrc *InstancePtr, u16 VsmId, u16 RmId)
| This function get the BS_INDEX field from the RM_BS_INDEX register for the Reconfigurable Module in the Virtual Socket Manager. More...
u16 | XPrc_GetRmClearingBsIndex (XPrc *InstancePtr, u16 VsmId, u16 RmId)
| This function get the CLEAR_BS_INDEX field from the RM_BS_INDEX register for the Reconfigurable Module in the Virtual Socket Manager. More...
void | XPrc_SetRmControl (XPrc *InstancePtr, u16 VsmId, u16 RmId, u8 ShutdownRequired, u8 StartupRequired, u8 ResetRequired, u8 ResetDuration)
| This function set the control information for Reconfigurable Module. More...
void | XPrc_GetRmControl (XPrc *InstancePtr, u16 VsmId, u16 RmId, u8 *ShutdownRequired, u8 *StartupRequired, u8 *ResetRequired, u8 *ResetDuration)
| This function get the control information for Reconfigurable Module. More...
void | XPrc_SetBsId (XPrc *InstancePtr, u16 VsmId, u16 BsIndex, u16 BsId)
| This function sets the Bitstream Identifier. More...
u32 | XPrc_GetBsId (XPrc *InstancePtr, u16 VsmId, u16 BsIndex)
| This function get the Bitstream Identifier. More...
void | XPrc_SetBsSize (XPrc *InstancePtr, u16 VsmId, u16 BsIndex, u32 BsSize)
| This function sets the Bitstream size in bytes. More...
u32 | XPrc_GetBsSize (XPrc *InstancePtr, u16 VsmId, u16 BsIndex)
| This function get the Bitstream size in bytes. More...
void | XPrc_SetBsAddress (XPrc *InstancePtr, u16 VsmId, u16 BsIndex, u32 BsAddress)
| This function sets the Address of the Bitstream. More...
u32 | XPrc_GetBsAddress (XPrc *InstancePtr, u16 VsmId, u16 BsIndex)
| This function get the Address of the Bitstream. More...
u32 | XPrc_GetRegisterAddress (XPrc *InstancePtr, u32 VsmId, u8 RegisterType, u16 TableRow)
| The register offsets for the PRC are dynamic. More...
void | XPrc_PrintVsmStatus (XPrc *InstancePtr, u32 VsmIdOrStatus, char *Prefix)
| This function is used to Print the VSM Status. More...
s32 | XPrc_SelfTest (XPrc *InstancePtr)
| This function runs a self-test on the PRC driver. More...