aiengine
Vitis Drivers API Documentation
xaietile_event.c File Reference

Overview

This file contains routines for Event handling.

MODIFICATION HISTORY:
Ver   Who     Date     Changes


1.0 Hyun 10/02/2018 Initial creation 1.1 Hyun 10/10/2018 Use the mask write API 1.2 Nishad 12/05/2018 Renamed ME attributes to AIE 1.3 Hyun 12/13/2018 Add the core event API 1.4 Jubaer 02/14/2019 Add get Event Broadcast API 1.5 Jubaer 02/26/2019 Add group Event API 1.6 Jubaer 03/01/2019 Add Combo Event API 1.7 Jubaer 04/17/2019 Add Stream Switch Event Port Selection API 1.8 Tejus 09/05/2019 Fix compiler warnings 1.9 Dishita 11/1/2019 Fix coverity warnings 1.9 Wendy 02/24/2020 Add events notification 2.0 Dishita 03/29/2020 Add support for clock gating 2.1 Nishad 09/15/2020 Fix writes to stream switch event port selection registers.

#define XAIETILE_EVENT_1ST_IRQ_IDS_MASK   0x3FU
 1st level interrupt output IRQ ids mask. More...
 
XAieGbl_Config XAieGbl_ConfigTable []
 The configuration table for each AIE device. More...
 
u32 XAieTileMem_EventBroadcastBlockValue (XAieGbl_Tile *TileInstPtr, u8 Dir)
 This API returns the current event broadcast block value for memory module. More...
 
u32 XAieTilePl_EventBroadcastBlockValue (XAieGbl_Tile *TileInstPtr, u8 Dir, u8 SwitchAB)
 This API returns the current event broadcast block value for PL module. More...
 
u32 XAieTileCore_EventBroadcastBlockValue (XAieGbl_Tile *TileInstPtr, u8 Dir)
 This API returns the current event broadcast block value for Core module. More...
 
u8 XAieTileMem_EventBroadcastBlockClear (XAieGbl_Tile *TileInstPtr, u8 Dir, u16 Mask)
 This API clears the current event broadcast block value for Memory module. More...
 
u8 XAieTilePl_EventBroadcastBlockClear (XAieGbl_Tile *TileInstPtr, u8 Dir, u8 SwitchAB, u16 Mask)
 This API clears the current event broadcast block value for PL module. More...
 
u8 XAieTileCore_EventBroadcastBlockClear (XAieGbl_Tile *TileInstPtr, u8 Dir, u16 Mask)
 This API clears the current event broadcast block value for Core module. More...
 
u8 XAieTileMem_EventBroadcastBlockSet (XAieGbl_Tile *TileInstPtr, u8 Dir, u16 Mask)
 This API sets the current event broadcast block value for memory module. More...
 
u8 XAieTilePl_EventBroadcastBlockSet (XAieGbl_Tile *TileInstPtr, u8 Dir, u8 SwitchAB, u16 Mask)
 This API sets the current event broadcast block value for PL module. More...
 
u8 XAieTileCore_EventBroadcastBlockSet (XAieGbl_Tile *TileInstPtr, u8 Dir, u16 Mask)
 This API sets the current event broadcast block value for Core module. More...
 
u8 XAieTileMem_EventBroadcast (XAieGbl_Tile *TileInstPtr, u8 BroadcastId, u8 Event)
 This API sets the event to the given broadcast ID for memory module. More...
 
u8 XAieTilePl_EventBroadcast (XAieGbl_Tile *TileInstPtr, u8 BroadcastId, u8 Event)
 This API sets the event to the given broadcast ID for PL module. More...
 
u8 XAieTileCore_EventBroadcast (XAieGbl_Tile *TileInstPtr, u8 BroadcastId, u8 Event)
 This API sets the event to the given broadcast ID for Core module. More...
 
u8 XAieTileMem_EventGenerate (XAieGbl_Tile *TileInstPtr, u8 Event)
 This API sets the memory module to generate an internal event of . More...
 
u8 XAieTilePl_EventGenerate (XAieGbl_Tile *TileInstPtr, u8 Event)
 This API sets the PL module to generate an internal event of . More...
 
u8 XAieTileCore_EventGenerate (XAieGbl_Tile *TileInstPtr, u8 Event)
 This API sets the Core module to generate an internal event of . More...
 
u8 XAieTileMem_EventTraceControl (XAieGbl_Tile *TileInstPtr, u8 StartEvent, u8 StopEvent, u8 Id, u8 Packet)
 This API sets the trace control of Memory module. More...
 
u8 XAieTilePl_EventTraceControl (XAieGbl_Tile *TileInstPtr, u8 StartEvent, u8 StopEvent, u8 Id, u8 Packet)
 This API sets the trace control of PL module. More...
 
u8 XAieTileCore_EventTraceControl (XAieGbl_Tile *TileInstPtr, u8 Mode, u8 StartEvent, u8 StopEvent, u8 Id, u8 Packet)
 This API sets the trace control of Core module. More...
 
u8 XAieTileMem_EventTraceEventWriteId (XAieGbl_Tile *TileInstPtr, u8 Event, u8 Idx)
 This API sets the event trace of Memory module. More...
 
u8 XAieTilePl_EventTraceEventWriteId (XAieGbl_Tile *TileInstPtr, u8 Event, u8 Idx)
 This API sets the event trace of PL module. More...
 
u8 XAieTileCore_EventTraceEventWriteId (XAieGbl_Tile *TileInstPtr, u8 Event, u8 Idx)
 This API sets the event trace of Core module. More...
 
u8 XAieTileMem_EventTraceEventWrite (XAieGbl_Tile *TileInstPtr, XAie_TraceEvents *TraceEvents)
 This API sets multiple event traces of Memory module. More...
 
u8 XAieTilePl_EventTraceEventWrite (XAieGbl_Tile *TileInstPtr, XAie_TraceEvents *TraceEvents)
 This API sets multiple event traces of PL module. More...
 
u8 XAieTileCore_EventTraceEventWrite (XAieGbl_Tile *TileInstPtr, XAie_TraceEvents *TraceEvents)
 This API sets multiple event traces of Core module. More...
 
u8 XAieTile_EventTraceEventAdd (XAieGbl_Tile *TileInstPtr, XAie_TraceEvents *TraceEvents, u8 Idx, u8 Event)
 This API adds an event to TraceEvents. More...
 
u8 XAieTile_EventTraceEventInit (XAieGbl_Tile *TileInstPtr, XAie_TraceEvents *TraceEvents)
 This API initializes TraceEvents. More...
 
u8 XAieTileCore_EventPCEvent (XAieGbl_Tile *TileInstPtr, u8 PCEvent, u16 PCAddr, u8 Valid)
 This API sets the PC event for core module. More...
 
u32 XAieTile_MemEventBroadcastGet (XAieGbl_Tile *TileInstPtr, u8 BroadcastId)
 This API gets the event to the given broadcast ID for memory module. More...
 
u32 XAieTile_PlEventBroadcastGet (XAieGbl_Tile *TileInstPtr, u8 BroadcastId)
 This API gets the event to the given broadcast ID for PL module. More...
 
u32 XAieTile_CoreEventBroadcastGet (XAieGbl_Tile *TileInstPtr, u8 BroadcastId)
 This API gets the event to the given broadcast ID for Core module. More...
 
u32 XAieTile_MemEventStatusGet (XAieGbl_Tile *TileInstPtr, u8 Event)
 This API returns the event status correspond to the Memory module event. More...
 
u32 XAieTile_PlEventStatusGet (XAieGbl_Tile *TileInstPtr, u8 Event)
 This API returns the event status correspond to the PL module event. More...
 
u32 XAieTile_CoreEventStatusGet (XAieGbl_Tile *TileInstPtr, u8 Event)
 This API returns the event status correspond to the Core Module event. More...
 
void XAieTile_MemEventStatusClear (XAieGbl_Tile *TileInstPtr, u8 Event, u32 Mask)
 This API clears the event status correspond to the Memory module event. More...
 
void XAieTile_PlEventStatusClear (XAieGbl_Tile *TileInstPtr, u8 Event, u32 Mask)
 This API clears the event status correspond to the PL module event. More...
 
void XAieTile_CoreEventStatusClear (XAieGbl_Tile *TileInstPtr, u8 Event, u32 Mask)
 This API clears the event status correspond to the Core Module event. More...
 
u8 XAieGbl_CoreEventBroadcastColumn (XAieGbl_Tile *TileInstPtr, u8 BroadcastId, u8 Event)
 This API sets the event to the given broadcast ID for given Core module Column. More...
 
u8 XAieGbl_MemEventBroadcastColumn (XAieGbl_Tile *TileInstPtr, u8 BroadcastId, u8 Event)
 This API sets the event to the given broadcast ID for memory module for given Column. More...
 
u8 XAieGbl_CoreEventBroadcastBlockClearColumn (XAieGbl_Tile *TileInstPtr, u8 Dir, u16 Mask)
 This API clears the current event broadcast block value for Core module for given Column. More...
 
u8 XAieGbl_MemEventBroadcastBlockClearColumn (XAieGbl_Tile *TileInstPtr, u8 Dir, u16 Mask)
 This API clears the current event broadcast block value for memory module for given Column. More...
 
u8 XAieGbl_Column_EventBroadcastBlockAll (XAieGbl_Tile *TileInstPtr)
 This API set all signals blocks in the given Column. More...
 
u32 XAieTile_MemGroupEventGet (XAieGbl_Tile *TileInstPtr, u8 groupId)
 This API is used to read the Group Event register of the corresponding group. More...
 
u32 XAieTile_PlGroupEventGet (XAieGbl_Tile *TileInstPtr, u8 groupId)
 This API is used to read the Group Event register of the corresponding group. More...
 
u32 XAieTile_CoreGroupEventGet (XAieGbl_Tile *TileInstPtr, u8 groupId)
 This API is used to read the Group Event register of the corresponding group. More...
 
void XAieTile_MemGroupEventSet (XAieGbl_Tile *TileInstPtr, u8 groupId, u32 Mask)
 This API is used to set the Group Event register of the corresponding group. More...
 
void XAieTile_PlGroupEventSet (XAieGbl_Tile *TileInstPtr, u8 groupId, u32 Mask)
 This API is used to set the Group Event register of the corresponding group. More...
 
void XAieTile_CoreGroupEventSet (XAieGbl_Tile *TileInstPtr, u8 groupId, u32 Mask)
 This API is used to set the Group Event register of the corresponding group. More...
 
u32 XAieTile_MemComboEventInputGet32 (XAieGbl_Tile *TileInstPtr)
 This API returns the event values of the Memory Combo Event inputs. More...
 
u32 XAieTile_PlComboEventInputGet32 (XAieGbl_Tile *TileInstPtr)
 This API returns the event values of the PL Combo Event inputs. More...
 
u32 XAieTile_CoreComboEventInputGet32 (XAieGbl_Tile *TileInstPtr)
 This API returns the event values of the Core Combo Event inputs. More...
 
void XAieTile_MemComboEventInputSet32 (XAieGbl_Tile *TileInstPtr, u32 Event)
 This API sets the event values of the Memory Combo Event inputs. More...
 
void XAieTile_PlComboEventInputSet32 (XAieGbl_Tile *TileInstPtr, u32 Event)
 This API sets the event values of the PL Combo Event inputs. More...
 
void XAieTile_CoreComboEventInputSet32 (XAieGbl_Tile *TileInstPtr, u32 Event)
 This API sets the event values of the Core Combo Event inputs. More...
 
u32 XAieTile_MemComboEventControlGet32 (XAieGbl_Tile *TileInstPtr)
 This API returns the event values of the Memory Combo Event Control. More...
 
u32 XAieTile_PlComboEventControlGet32 (XAieGbl_Tile *TileInstPtr)
 This API returns the event values of the PL Combo Event Control. More...
 
u32 XAieTile_CoreComboEventControlGet32 (XAieGbl_Tile *TileInstPtr)
 This API returns the event values of the Core Combo Event Control. More...
 
void XAieTile_MemComboEventControlSet32 (XAieGbl_Tile *TileInstPtr, u32 Combo)
 This API sets the event values of the Memory Combo Event Control. More...
 
void XAieTile_PlComboEventControlSet32 (XAieGbl_Tile *TileInstPtr, u32 Combo)
 This API sets the event values of the PL Combo Event Control. More...
 
void XAieTile_CoreComboEventControlSet32 (XAieGbl_Tile *TileInstPtr, u32 Combo)
 This API sets the event values of the Core Combo Event Control. More...
 
void XAieTile_MemComboEventInputSet (XAieGbl_Tile *TileInstPtr, u8 eventA, u8 eventB, u8 eventC, u8 eventD)
 This API sets the values of the memory Combo Event inputs. More...
 
void XAieTile_PlComboEventInputSet (XAieGbl_Tile *TileInstPtr, u8 eventA, u8 eventB, u8 eventC, u8 eventD)
 This API sets the values of the PL Combo Event inputs. More...
 
void XAieTile_CoreComboEventInputSet (XAieGbl_Tile *TileInstPtr, u8 eventA, u8 eventB, u8 eventC, u8 eventD)
 This API sets the values of the Core Combo Event inputs. More...
 
u8 XAieTile_MemComboEventInputGet (XAieGbl_Tile *TileInstPtr, u8 eventIdx)
 This API sets the values of the Memory Combo Event inputs. More...
 
u8 XAieTile_PlComboEventInputGet (XAieGbl_Tile *TileInstPtr, u8 eventIdx)
 This API sets the values of the PL Combo Event inputs. More...
 
u8 XAieTile_CoreComboEventInputGet (XAieGbl_Tile *TileInstPtr, u8 eventIdx)
 This API sets the values of the Core Combo Event inputs. More...
 
void XAieTile_MemComboEventControlSet (XAieGbl_Tile *TileInstPtr, u8 combo0, u8 combo1, u8 combo2)
 This API sets the values of the memory Combo Event control. More...
 
void XAieTile_PlComboEventControlSet (XAieGbl_Tile *TileInstPtr, u8 combo0, u8 combo1, u8 combo2)
 This API sets the values of the PL Combo Event control. More...
 
void XAieTile_CoreComboEventControlSet (XAieGbl_Tile *TileInstPtr, u8 combo0, u8 combo1, u8 combo2)
 This API sets the values of the Core Combo Event control. More...
 
u8 XAieTile_MemComboEventControlGet (XAieGbl_Tile *TileInstPtr, u8 comboIdx)
 This API returns the values of the memory Combo Event control. More...
 
u8 XAieTile_PlComboEventControlGet (XAieGbl_Tile *TileInstPtr, u8 comboIdx)
 This API returns the values of the PL Combo Event control. More...
 
u8 XAieTile_CoreComboEventControlGet (XAieGbl_Tile *TileInstPtr, u8 comboIdx)
 This API returns the values of the Core Combo Event control. More...
 
u8 XAieTile_CoreStrmSwEventPortSelectGet (XAieGbl_Tile *TileInstPtr, u8 PortNo)
 This API returns the port ID selected on the given PortNo for Core module: More...
 
u8 XAieTile_PlStrmSwEventPortSelectGet (XAieGbl_Tile *TileInstPtr, u8 PortNo)
 This API returns the port ID selected on the given PortNo for PL module: More...
 
u8 XAieTile_CoreStrmSwEventPortSelectSet (XAieGbl_Tile *TileInstPtr, u8 PortNo, u8 PortType, u8 PortID)
 This API sets the port ID on the given PortNo for Core module: More...
 
u8 XAieTile_PlStrmSwEventPortSelectSet (XAieGbl_Tile *TileInstPtr, u8 PortNo, u8 PortType, u8 PortID)
 This API sets the port ID on the given PortNo for PL module: More...
 
u32 XAieTile_CoreStrmSwEventPortSelectGet32 (XAieGbl_Tile *TileInstPtr, u8 SelectID)
 This API returns 32-bit register value of the Stream Switch Event Port Selection (0/1) register for core module. More...
 
u32 XAieTile_PlStrmSwEventPortSelectGet32 (XAieGbl_Tile *TileInstPtr, u8 SelectID)
 This API returns 32-bit register value of the Stream Switch Event Port Selection (0/1) register for PL module. More...
 
u8 XAieTile_CoreStrmSwEventPortSelectSet32 (XAieGbl_Tile *TileInstPtr, u8 SelectID, u32 RegVal)
 This API sets the 32-bit register value of the Stream Switch Event Port Selection register for core module. More...
 
u8 XAieTile_PlStrmSwEventPortSelectSet32 (XAieGbl_Tile *TileInstPtr, u8 SelectID, u32 RegVal)
 This API sets the 32-bit register value of the Stream Switch Event Port Selection register for PL module. More...
 
void XAieTile_EventsIsr (void *Data)
 This is the AIE interrupt handler. More...
 
int XAieTile_EventRegisterNotification (XAieGbl *AieInst, XAie_LocType *Loc, u32 NumTiles, u8 Module, u8 Event, XAieTile_EventCallBack Cb, void *Arg)
 This API registers for event notification. More...
 
int XAieTile_EventUnregisterNotification (XAieGbl *AieInst, XAie_LocType *Loc, u32 NumTiles, u8 Module, u8 Event)
 This API unregisters for event notification. More...
 
int XAieTile_EventsEnableInterrupt (XAieGbl *AieInst)
 This API enable events NPI interrupt. More...
 
int XAieTile_EventsDisableInterrupt (XAieGbl *AieInst)
 This API disable events NPI interrupt. More...
 
void XAieTile_EventsSetupDefaultHandlers (XAieGbl *AieInst)
 This API initialize events default handlers. More...
 
int XAieTile_EventsHandlingInitialize (XAieGbl *AieInst)
 This API enable events handling. More...
 
void XAieTile_EventsWaitForPending (XAieGbl *AieInst)
 This API waits until all pending events got reported. More...
 

Macro Definition Documentation

#define XAIETILE_EVENT_1ST_IRQ_IDS_MASK   0x3FU

1st level interrupt output IRQ ids mask.

1st level interrupt controller has its own irq IDs to the 2nd level interrupt controller. For column 0 to 43, the pattern is: 0 1 2 3 4 5 0 1, 0 1 2 3 4 5 0 1 for column 44 to 49, the pattern is: 0 1 2 3 4 5 0 1 2 3 4 5

Function Documentation

u8 XAieGbl_Column_EventBroadcastBlockAll ( XAieGbl_Tile TileInstPtr)

This API set all signals blocks in the given Column.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
Returns
XAIE_SUCCESS on success
Note
Failure indicates partial column configuration.
u8 XAieGbl_CoreEventBroadcastBlockClearColumn ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u16  Mask 
)

This API clears the current event broadcast block value for Core module for given Column.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Mask- Mask with bits to clear
Returns
XAIE_SUCCESS on success
Note
Failure indicates partial column configuration.
u8 XAieGbl_CoreEventBroadcastColumn ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId,
u8  Event 
)

This API sets the event to the given broadcast ID for given Core module Column.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
BroadcastId- Broadcast ID. 0 to 15.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Returns
XAIE_SUCCESS on success
Note
Failure indicates partial column configuration.
u8 XAieGbl_MemEventBroadcastBlockClearColumn ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u16  Mask 
)

This API clears the current event broadcast block value for memory module for given Column.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Mask- Mask with bits to clear
Returns
XAIE_SUCCESS on success
Note
Failure indicates partial column configuration.
u8 XAieGbl_MemEventBroadcastColumn ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId,
u8  Event 
)

This API sets the event to the given broadcast ID for memory module for given Column.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
BroadcastId- Broadcast ID. 0 to 15.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Returns
XAIE_SUCCESS on success
Note
Failure indicates partial column configuration.
u8 XAieTile_CoreComboEventControlGet ( XAieGbl_Tile TileInstPtr,
u8  comboIdx 
)

This API returns the values of the Core Combo Event control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
comboIdx- Combo index. One of XAIETILE_COMBO_0, XAIETILE_COMBO_1, XAIETILE_COMBO_2.
Returns
Curent Value of combo control for comboIdx
Note
None.
u32 XAieTile_CoreComboEventControlGet32 ( XAieGbl_Tile TileInstPtr)

This API returns the event values of the Core Combo Event Control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
Current value of core combo event control register
Note
None.
void XAieTile_CoreComboEventControlSet ( XAieGbl_Tile TileInstPtr,
u8  combo0,
u8  combo1,
u8  combo2 
)

This API sets the values of the Core Combo Event control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0). To keep an entry unaltered pass value greater than 3.

Parameters
TileInstPtr- Pointer to the Tile instance.
combo0- control value for combo0.
combo1- control value for combo1.
combo2- control value for combo2.
Returns
None.
Note
Values greater than 0x3 will be ignored.
void XAieTile_CoreComboEventControlSet32 ( XAieGbl_Tile TileInstPtr,
u32  Combo 
)

This API sets the event values of the Core Combo Event Control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Combo- Combination of event combo.
Returns
None.
Note
None.
u8 XAieTile_CoreComboEventInputGet ( XAieGbl_Tile TileInstPtr,
u8  eventIdx 
)

This API sets the values of the Core Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
eventIdx- Event Index. One of XAIETILE_COMBO_EVENT_A, XAIETILE_COMBO_EVENT_B, XAIETILE_COMBO_EVENT_C, XAIETILE_COMBO_EVENT_D.
Returns
Event Number.
Note
None.
u32 XAieTile_CoreComboEventInputGet32 ( XAieGbl_Tile TileInstPtr)

This API returns the event values of the Core Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
Current value of core combo event inputs register
Note
None.
void XAieTile_CoreComboEventInputSet ( XAieGbl_Tile TileInstPtr,
u8  eventA,
u8  eventB,
u8  eventC,
u8  eventD 
)

This API sets the values of the Core Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0). To keep an entry unaltered pass 8 bit value.

Parameters
TileInstPtr- Pointer to the Tile instance.
eventA- Event Number. One of XAIETILE_EVENT_CORE_*
eventB- Event Number. One of XAIETILE_EVENT_CORE_*
eventC- Event Number. One of XAIETILE_EVENT_CORE_*
eventD- Event Number. One of XAIETILE_EVENT_CORE_*
Returns
None.
Note
Values greater than 0x7F is ignored.
void XAieTile_CoreComboEventInputSet32 ( XAieGbl_Tile TileInstPtr,
u32  Event 
)

This API sets the event values of the Core Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- 32 bit combination of Event numbers.
Returns
None.
Note
None.
u32 XAieTile_CoreEventBroadcastGet ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId 
)

This API gets the event to the given broadcast ID for Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
BroadcastId- Broadcast ID. 0 to 15.
Returns
Event - Event ID. One of XAIETILE_EVENT_CORE_*
Note
None.
void XAieTile_CoreEventStatusClear ( XAieGbl_Tile TileInstPtr,
u8  Event,
u32  Mask 
)

This API clears the event status correspond to the Core Module event.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Mask- Bits to clear.
Returns
None.
Note
None.

References XAieGbl_Config::NumRows.

u32 XAieTile_CoreEventStatusGet ( XAieGbl_Tile TileInstPtr,
u8  Event 
)

This API returns the event status correspond to the Core Module event.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Returns
Current event status
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u32 XAieTile_CoreGroupEventGet ( XAieGbl_Tile TileInstPtr,
u8  groupId 
)

This API is used to read the Group Event register of the corresponding group.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
groupId- Group Event ID for Core. This will be one of XAIETILE_GROUP_EVENT_CORE_*
Returns
current value of the Grour Event register
Note
None.
void XAieTile_CoreGroupEventSet ( XAieGbl_Tile TileInstPtr,
u8  groupId,
u32  Mask 
)

This API is used to set the Group Event register of the corresponding group.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
groupId- Group Event ID for Core. This will be one of XAIETILE_GROUP_EVENT_CORE_*
Mask- 32 bit value to mask.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u8 XAieTile_CoreStrmSwEventPortSelectGet ( XAieGbl_Tile TileInstPtr,
u8  PortNo 
)

This API returns the port ID selected on the given PortNo for Core module:

Parameters
TileInstPtr- Pointer to the Tile instance.
PortNo- Port index. One of XAIETILE_STRSW_EVENT_PORT_0, XAIETILE_STRSW_EVENT_PORT_1, XAIETILE_STRSW_EVENT_PORT_2, XAIETILE_STRSW_EVENT_PORT_3, XAIETILE_STRSW_EVENT_PORT_4, XAIETILE_STRSW_EVENT_PORT_5, XAIETILE_STRSW_EVENT_PORT_6, XAIETILE_STRSW_EVENT_PORT_7.
Returns
port ID.
Note
None.
u32 XAieTile_CoreStrmSwEventPortSelectGet32 ( XAieGbl_Tile TileInstPtr,
u8  SelectID 
)

This API returns 32-bit register value of the Stream Switch Event Port Selection (0/1) register for core module.

(batch read)

Parameters
TileInstPtr- Pointer to the Tile instance.
SelectID- register index (0 - Selection_0, 1 - Selection_1).
Returns
Core stream Switch event port selection register value.
Note
None.
u8 XAieTile_CoreStrmSwEventPortSelectSet ( XAieGbl_Tile TileInstPtr,
u8  PortNo,
u8  PortType,
u8  PortID 
)

This API sets the port ID on the given PortNo for Core module:

Parameters
TileInstPtr- Pointer to the Tile instance.
PortNo-Port index. One of XAIETILE_STRSW_EVENT_PORT_0, XAIETILE_STRSW_EVENT_PORT_1, XAIETILE_STRSW_EVENT_PORT_2, XAIETILE_STRSW_EVENT_PORT_3. XAIETILE_STRSW_EVENT_PORT_4, XAIETILE_STRSW_EVENT_PORT_5, XAIETILE_STRSW_EVENT_PORT_6, XAIETILE_STRSW_EVENT_PORT_7.
PortType- Type of the port. (master = 1, slave = 0)
PortID- port ID selected.
Returns
XAIE_SUCCESS on success.
Note
None.
u8 XAieTile_CoreStrmSwEventPortSelectSet32 ( XAieGbl_Tile TileInstPtr,
u8  SelectID,
u32  RegVal 
)

This API sets the 32-bit register value of the Stream Switch Event Port Selection register for core module.

(batch write)

Parameters
TileInstPtr- Pointer to the Tile instance.
SelectID- register index (0 - Selection_0, 1 - Selection_1).
RegVal- 32 bit value to be written.
Returns
XAIE_SUCCESS on success.
Note
None.
int XAieTile_EventRegisterNotification ( XAieGbl AieInst,
XAie_LocType *  Loc,
u32  NumTiles,
u8  Module,
u8  Event,
XAieTile_EventCallBack  Cb,
void *  Arg 
)

This API registers for event notification.

Events Handling functions.

Parameters
AieInst- Pointer to the AIE device instance
Loc- Pointer to tile location array
NumTiles- Number of Tiles If Loc is NULL and NumTiles is 0, the driver will consider it as all the tiles in the AieInst.
Module- Module type, XAIEGBL_MODULE_CORE, XAIEGBL_MODULE_MEM, XAIEGBL_MODULE_PL
Event- Event id
Cb- Callback, it cannot be NULL
Arg- Private data pointer which will pass to callback, it can be NULL
Returns
XAIE_SUCCESS for success, XAIE_FAILURE for failure
Note
None.
int XAieTile_EventsDisableInterrupt ( XAieGbl AieInst)

This API disable events NPI interrupt.

Parameters
AieInst- Pointer to the AIE device instance
Returns
XAIE_SUCCESS
Note
None.
int XAieTile_EventsEnableInterrupt ( XAieGbl AieInst)

This API enable events NPI interrupt.

Parameters
AieInst- Pointer to the AIE device instance
Returns
XAIE_SUCCESS
Note
None.
int XAieTile_EventsHandlingInitialize ( XAieGbl AieInst)

This API enable events handling.

It will setup the events broadcast network so that if events is raised, interrupt will be raised, and the interrupt will be captured by the AIE driver. When event happens, the AIE driver will call the stored events handler.

Parameters
AieInst- Pointer to the AIE device instance
Returns
XAIE_SUCCESS if successful, else XAIE_FAILURE
Note
None.
void XAieTile_EventsIsr ( void *  Data)

This is the AIE interrupt handler.

It will check which events from which tiles rasied the interrupt. It will call the registered interrupt handler for the event.

Parameters
Data- Pointer to the AIE device instance
Returns
None.
Note
For Baremetal, application will need to register this handler to interrupt controller. For Linux, the XAieTile_EventsHandlingInitialize() function will register this handler, user doesn't need to register this handler.
void XAieTile_EventsSetupDefaultHandlers ( XAieGbl AieInst)

This API initialize events default handlers.

By default, the events handlers do nothing except for errors.

Parameters
AieInst- Pointer to the AIE device instance
Returns
None.
Note
None.

Referenced by XAieGbl_CfgInitialize().

void XAieTile_EventsWaitForPending ( XAieGbl AieInst)

This API waits until all pending events got reported.

Parameters
AieInst- Pointer to the AIE device instance
Returns
None.
Note
None.

References XAieGbl_Tile::TileType, and XAieTile_NoCIntcL2StatusGet().

u8 XAieTile_EventTraceEventAdd ( XAieGbl_Tile TileInstPtr,
XAie_TraceEvents *  TraceEvents,
u8  Idx,
u8  Event 
)

This API adds an event to TraceEvents.

Parameters
TileInstPtr- Pointer to the Tile instance.
TraceEvents- Where event trace is queued
Idx- Trace ID to add an event to.
Event- Event ID
Returns
XAIE_SUCCESS on success
Note
Once all events are added, the TraceEvents can be used with XAieTileCore_EventTraceEventWrite to update with a single write.
u8 XAieTile_EventTraceEventInit ( XAieGbl_Tile TileInstPtr,
XAie_TraceEvents *  TraceEvents 
)

This API initializes TraceEvents.

Parameters
TileInstPtr- Pointer to the Tile instance.
TraceEvents- Where event trace is queued
Returns
XAIE_SUCCESS on success
Note
None.
int XAieTile_EventUnregisterNotification ( XAieGbl AieInst,
XAie_LocType *  Loc,
u32  NumTiles,
u8  Module,
u8  Event 
)

This API unregisters for event notification.

Parameters
AieInst- Pointer to the AIE device instance
Loc- Tile location array pointer
NumTiles- Number of tiles to unregister. If Loc is NULL and NumTiles is 0, the driver will consider it as all the tiles in the AieInst.
Module- Module type, XAIEGBL_MODULE_CORE, XAIEGBL_MODULE_MEM, XAIEGBL_MODULE_PL, XAIEGBL_MODULE_ALL, or any OR combination of CPRE, MEM, and PL
Event- Event id, if Event id is XAIETILE_EVENTS_ALL, it will unregister all the non-error events of the specified tiles. If Module is XAIEGBL_MODULE_ALL, Event needs to be XAIETILE_EVENTS_ALL.
Returns
XAIE_SUCCESS for success, XAIE_FAILURE for failure
Note
None.
u8 XAieTile_MemComboEventControlGet ( XAieGbl_Tile TileInstPtr,
u8  comboIdx 
)

This API returns the values of the memory Combo Event control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
comboIdx- Combo index. One of XAIETILE_COMBO_0, XAIETILE_COMBO_1, XAIETILE_COMBO_2.
Returns
Curent Value of combo control for comboIdx
Note
None.
u32 XAieTile_MemComboEventControlGet32 ( XAieGbl_Tile TileInstPtr)

This API returns the event values of the Memory Combo Event Control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
Current value of memory combo event control register
Note
None.
void XAieTile_MemComboEventControlSet ( XAieGbl_Tile TileInstPtr,
u8  combo0,
u8  combo1,
u8  combo2 
)

This API sets the values of the memory Combo Event control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0). To keep an entry unaltered pass value greater than 3.

Parameters
TileInstPtr- Pointer to the Tile instance.
combo0- control value for combo0.
combo1- control value for combo1.
combo2- control value for combo2.
Returns
None.
Note
Values greater than 0x3 will be ignored.
void XAieTile_MemComboEventControlSet32 ( XAieGbl_Tile TileInstPtr,
u32  Combo 
)

This API sets the event values of the Memory Combo Event Control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Combo- Combination of event combo.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u8 XAieTile_MemComboEventInputGet ( XAieGbl_Tile TileInstPtr,
u8  eventIdx 
)

This API sets the values of the Memory Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
eventIdx- Event Index. One of XAIETILE_COMBO_EVENT_A, XAIETILE_COMBO_EVENT_B, XAIETILE_COMBO_EVENT_C, XAIETILE_COMBO_EVENT_D.
Returns
Event Number.
Note
None.
u32 XAieTile_MemComboEventInputGet32 ( XAieGbl_Tile TileInstPtr)

This API returns the event values of the Memory Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
Current value of memory combo event inputs register
Note
None.
void XAieTile_MemComboEventInputSet ( XAieGbl_Tile TileInstPtr,
u8  eventA,
u8  eventB,
u8  eventC,
u8  eventD 
)

This API sets the values of the memory Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0). To keep an entry unaltered pass 8 bit value.

Parameters
TileInstPtr- Pointer to the Tile instance.
eventA- Event Number. One of XAIETILE_EVENT_MEM_*
eventB- Event Number. One of XAIETILE_EVENT_MEM_*
eventC- Event Number. One of XAIETILE_EVENT_MEM_*
eventD- Event Number. One of XAIETILE_EVENT_MEM_*
Returns
None.
Note
Values greater than 0x7F is ignored.
void XAieTile_MemComboEventInputSet32 ( XAieGbl_Tile TileInstPtr,
u32  Event 
)

This API sets the event values of the Memory Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- 32 bit combination of Event numbers.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u32 XAieTile_MemEventBroadcastGet ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId 
)

This API gets the event to the given broadcast ID for memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
BroadcastId- Broadcast ID. 0 to 15.
Returns
Event - Event ID. One of XAIETILE_EVENT_MEM_*
Note
None.
void XAieTile_MemEventStatusClear ( XAieGbl_Tile TileInstPtr,
u8  Event,
u32  Mask 
)

This API clears the event status correspond to the Memory module event.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Mask- value with to clear the bits.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u32 XAieTile_MemEventStatusGet ( XAieGbl_Tile TileInstPtr,
u8  Event 
)

This API returns the event status correspond to the Memory module event.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Returns
Current event status
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u32 XAieTile_MemGroupEventGet ( XAieGbl_Tile TileInstPtr,
u8  groupId 
)

This API is used to read the Group Event register of the corresponding group.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
groupId- Group Event ID for Memory. This will be One of XAIETILE_GROUP_EVENT_MEM_*
Returns
current value of the Grour Event register
Note
None.
void XAieTile_MemGroupEventSet ( XAieGbl_Tile TileInstPtr,
u8  groupId,
u32  Mask 
)

This API is used to set the Group Event register of the corresponding group.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
groupId- Group Event ID for Memory. This will be one of XAIETILE_GROUP_EVENT_MEM_*
Mask- 32 bit value to mask.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u8 XAieTile_PlComboEventControlGet ( XAieGbl_Tile TileInstPtr,
u8  comboIdx 
)

This API returns the values of the PL Combo Event control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
comboIdx- Combo index. One of XAIETILE_COMBO_0, XAIETILE_COMBO_1, XAIETILE_COMBO_2.
Returns
Curent Value of combo control for comboIdx
Note
None.
u32 XAieTile_PlComboEventControlGet32 ( XAieGbl_Tile TileInstPtr)

This API returns the event values of the PL Combo Event Control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
Current value of PL combo event control register
Note
None.
void XAieTile_PlComboEventControlSet ( XAieGbl_Tile TileInstPtr,
u8  combo0,
u8  combo1,
u8  combo2 
)

This API sets the values of the PL Combo Event control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0). To keep an entry unaltered pass value greater than 3.

Parameters
TileInstPtr- Pointer to the Tile instance.
combo0- control value for combo0.
combo1- control value for combo1.
combo2- control value for combo2.
Returns
None.
Note
Values greater than 0x3 will be ignored.
void XAieTile_PlComboEventControlSet32 ( XAieGbl_Tile TileInstPtr,
u32  Combo 
)

This API sets the event values of the PL Combo Event Control.

Bit map: combo2 (17 : 16), combo1 (9 : 8), combo0 (1 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Combo- Combination of event combo.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u8 XAieTile_PlComboEventInputGet ( XAieGbl_Tile TileInstPtr,
u8  eventIdx 
)

This API sets the values of the PL Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
eventIdx- Event Index. One of XAIETILE_COMBO_EVENT_A, XAIETILE_COMBO_EVENT_B, XAIETILE_COMBO_EVENT_C, XAIETILE_COMBO_EVENT_D.
Returns
Event Number.
Note
None.
u32 XAieTile_PlComboEventInputGet32 ( XAieGbl_Tile TileInstPtr)

This API returns the event values of the PL Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
Current value of PL combo event inputs register
Note
None.
void XAieTile_PlComboEventInputSet ( XAieGbl_Tile TileInstPtr,
u8  eventA,
u8  eventB,
u8  eventC,
u8  eventD 
)

This API sets the values of the PL Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0). To keep an entry unaltered pass 8 bit value.

Parameters
TileInstPtr- Pointer to the Tile instance.
eventA- Event Number. One of XAIETILE_EVENT_PL_*
eventB- Event Number. One of XAIETILE_EVENT_PL_*
eventC- Event Number. One of XAIETILE_EVENT_PL_*
eventD- Event Number. One of XAIETILE_EVENT_PL_*
Returns
None.
Note
Values greater than 0x7F is ignored.
void XAieTile_PlComboEventInputSet32 ( XAieGbl_Tile TileInstPtr,
u32  Event 
)

This API sets the event values of the PL Combo Event inputs.

Bit map: eventD (30 : 24), eventC (22 : 16), eventB (14 : 8), eventA (6 : 0).

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- 32 bit combination of Event numbers.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u32 XAieTile_PlEventBroadcastGet ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId 
)

This API gets the event to the given broadcast ID for PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
BroadcastId- Broadcast ID. 0 to 15.
Returns
Event - Event ID. One of XAIETILE_EVENT_PL_*
Note
None.
void XAieTile_PlEventStatusClear ( XAieGbl_Tile TileInstPtr,
u8  Event,
u32  Mask 
)

This API clears the event status correspond to the PL module event.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Mask- Bits to clear.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u32 XAieTile_PlEventStatusGet ( XAieGbl_Tile TileInstPtr,
u8  Event 
)

This API returns the event status correspond to the PL module event.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Returns
Current event status
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u32 XAieTile_PlGroupEventGet ( XAieGbl_Tile TileInstPtr,
u8  groupId 
)

This API is used to read the Group Event register of the corresponding group.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
groupId- Group Event ID for PL. This will be one of XAIETILE_GROUP_EVENT_PL_*
Returns
current value of the Grour Event register
Note
None.
void XAieTile_PlGroupEventSet ( XAieGbl_Tile TileInstPtr,
u8  groupId,
u32  Mask 
)

This API is used to set the Group Event register of the corresponding group.

Parameters
TileInstPtr- Pointer to the Tile instance. This has to be the shim tile of the corresponding column.
groupId- Group Event ID for PL. This will be one of XAIETILE_GROUP_EVENT_PL_*
Mask- 32 bit value to mask.
Returns
None.
Note
None.

References XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u8 XAieTile_PlStrmSwEventPortSelectGet ( XAieGbl_Tile TileInstPtr,
u8  PortNo 
)

This API returns the port ID selected on the given PortNo for PL module:

Parameters
TileInstPtr- Pointer to the Tile instance.
PortNo- Port index. One of XAIETILE_STRSW_EVENT_PORT_0, XAIETILE_STRSW_EVENT_PORT_1, XAIETILE_STRSW_EVENT_PORT_2, XAIETILE_STRSW_EVENT_PORT_3. XAIETILE_STRSW_EVENT_PORT_4, XAIETILE_STRSW_EVENT_PORT_5, XAIETILE_STRSW_EVENT_PORT_6, XAIETILE_STRSW_EVENT_PORT_7.
Returns
port ID.
Note
None.
u32 XAieTile_PlStrmSwEventPortSelectGet32 ( XAieGbl_Tile TileInstPtr,
u8  SelectID 
)

This API returns 32-bit register value of the Stream Switch Event Port Selection (0/1) register for PL module.

(batch read)

Parameters
TileInstPtr- Pointer to the Tile instance.
SelectID- register index (0 - Selection_0, 1 - Selection_1).
Returns
PL stream Switch event port selection register value.
Note
None.
u8 XAieTile_PlStrmSwEventPortSelectSet ( XAieGbl_Tile TileInstPtr,
u8  PortNo,
u8  PortType,
u8  PortID 
)

This API sets the port ID on the given PortNo for PL module:

Parameters
TileInstPtr- Pointer to the Tile instance.
PortNo-Port index. One of XAIETILE_STRSW_EVENT_PORT_0, XAIETILE_STRSW_EVENT_PORT_1, XAIETILE_STRSW_EVENT_PORT_2, XAIETILE_STRSW_EVENT_PORT_3. XAIETILE_STRSW_EVENT_PORT_4, XAIETILE_STRSW_EVENT_PORT_5, XAIETILE_STRSW_EVENT_PORT_6, XAIETILE_STRSW_EVENT_PORT_7.
PortType- Type of the port. (master = 1, slave = 0)
PortID- port ID selected.
Returns
XAIE_SUCCESS on success.
Note
None.
u8 XAieTile_PlStrmSwEventPortSelectSet32 ( XAieGbl_Tile TileInstPtr,
u8  SelectID,
u32  RegVal 
)

This API sets the 32-bit register value of the Stream Switch Event Port Selection register for PL module.

(batch write)

Parameters
TileInstPtr- Pointer to the Tile instance.
SelectID- register index (0 - Selection_0, 1 - Selection_1).
RegVal- 32 bit value to be written.
Returns
XAIE_SUCCESS on success.
Note
None.
u8 XAieTileCore_EventBroadcast ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId,
u8  Event 
)

This API sets the event to the given broadcast ID for Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
BroadcastId- Broadcast ID. 0 to 15.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileCore_EventBroadcastBlockClear ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u16  Mask 
)

This API clears the current event broadcast block value for Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Mask- Mask with bits to clear
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileCore_EventBroadcastBlockSet ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u16  Mask 
)

This API sets the current event broadcast block value for Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Mask- Mask with bits to set
Returns
XAIE_SUCCESS on success
Note
None.
u32 XAieTileCore_EventBroadcastBlockValue ( XAieGbl_Tile TileInstPtr,
u8  Dir 
)

This API returns the current event broadcast block value for Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Returns
Current event broadcast value
Note
None.

References XAieGbl_RegEventBroadcastClear::RegOff, XAieGbl_Tile::TileAddr, and XAieGbl_Tile::TileType.

u8 XAieTileCore_EventGenerate ( XAieGbl_Tile TileInstPtr,
u8  Event 
)

This API sets the Core module to generate an internal event of .

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_CORE_*
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileCore_EventPCEvent ( XAieGbl_Tile TileInstPtr,
u8  PCEvent,
u16  PCAddr,
u8  Valid 
)

This API sets the PC event for core module.

Parameters
TileInstPtr- Pointer to the Tile instance with core module.
PCEvent- which PC event to set. Should be one of XAIETILE_EVENT_CORE_PC_EVENT0, XAIETILE_EVENT_CORE_PC_EVENT1, XAIETILE_EVENT_CORE_PC_EVENT2, or XAIETILE_EVENT_CORE_PC_EVENT3.
PCAddr- PC address to generate an event
Valid- Valid bit. Should be 0 or 1.
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileCore_EventTraceControl ( XAieGbl_Tile TileInstPtr,
u8  Mode,
u8  StartEvent,
u8  StopEvent,
u8  Id,
u8  Packet 
)

This API sets the trace control of Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Mode- Trace mode: Should be XAIETILE_EVENT_MODE_EVENT_TIME, XAIETILE_EVENT_MODE_EVENT_PC, or XAIETILE_EVENT_MODE_EXECUTION.
StartEvent- Event to start
StopEvent- Event to stop
Id- Packet ID
Packet- Packet type
Returns
XAIE_SUCCESS on success
Note
If XAIETILE_EVENT_TRACING_INVALID_VAL is given for any argument, the setting argument is skipped.
u8 XAieTileCore_EventTraceEventWrite ( XAieGbl_Tile TileInstPtr,
XAie_TraceEvents *  TraceEvents 
)

This API sets multiple event traces of Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
TraceEvents- Events to trace.
Returns
XAIE_SUCCESS on success
Note
All 8 event traces should be set in TraceEvents.
u8 XAieTileCore_EventTraceEventWriteId ( XAieGbl_Tile TileInstPtr,
u8  Event,
u8  Idx 
)

This API sets the event trace of Core module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID
Idx- Trace ID. 0 to 7.
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileMem_EventBroadcast ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId,
u8  Event 
)

This API sets the event to the given broadcast ID for memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
BroadcastId- Broadcast ID. 0 to 15.
Event- Event ID. One of XAIETILE_EVENT_MEM_*
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileMem_EventBroadcastBlockClear ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u16  Mask 
)

This API clears the current event broadcast block value for Memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Mask- Mask with bits to clear
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileMem_EventBroadcastBlockSet ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u16  Mask 
)

This API sets the current event broadcast block value for memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Mask- Mask with bits to set
Returns
XAIE_SUCCESS on success
Note
None.
u32 XAieTileMem_EventBroadcastBlockValue ( XAieGbl_Tile TileInstPtr,
u8  Dir 
)

This API returns the current event broadcast block value for memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
Returns
Current event broadcast value
Note
None.

References XAieGbl_Tile::TileType.

u8 XAieTileMem_EventGenerate ( XAieGbl_Tile TileInstPtr,
u8  Event 
)

This API sets the memory module to generate an internal event of .

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_MEM_*
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTileMem_EventTraceControl ( XAieGbl_Tile TileInstPtr,
u8  StartEvent,
u8  StopEvent,
u8  Id,
u8  Packet 
)

This API sets the trace control of Memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
StartEvent- Event to start
StopEvent- Event to stop
Id- Packet ID
Packet- Packet type
Returns
XAIE_SUCCESS on success
Note
If XAIETILE_EVENT_TRACING_INVALID_VAL is given for any argument, the setting argument is skipped.
u8 XAieTileMem_EventTraceEventWrite ( XAieGbl_Tile TileInstPtr,
XAie_TraceEvents *  TraceEvents 
)

This API sets multiple event traces of Memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
TraceEvents- Events to trace.
Returns
XAIE_SUCCESS on success
Note
All 8 event traces should be set in TraceEvents.
u8 XAieTileMem_EventTraceEventWriteId ( XAieGbl_Tile TileInstPtr,
u8  Event,
u8  Idx 
)

This API sets the event trace of Memory module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID
Idx- Trace ID. 0 to 7.
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTilePl_EventBroadcast ( XAieGbl_Tile TileInstPtr,
u8  BroadcastId,
u8  Event 
)

This API sets the event to the given broadcast ID for PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
BroadcastId- Broadcast ID. 0 to 15.
Event- Event ID. One of XAIETILE_EVENT_PL_*
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTilePl_EventBroadcastBlockClear ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u8  SwitchAB,
u16  Mask 
)

This API clears the current event broadcast block value for PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
SwitchAB- Flag to indicate if it's the A or B block. Should be one of XAIETILE_EVENT_BLOCK_SWITCHA or XAIETILE_EVENT_BLOCK_SWITCHB.
Mask- Mask with bits to clear
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTilePl_EventBroadcastBlockSet ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u8  SwitchAB,
u16  Mask 
)

This API sets the current event broadcast block value for PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
SwitchAB- Flag to indicate if it's the A or B block. Should be one of XAIETILE_EVENT_BLOCK_SWITCHA or XAIETILE_EVENT_BLOCK_SWITCHB.
Mask- Mask with bits to set
Returns
XAIE_SUCCESS on success
Note
None.
u32 XAieTilePl_EventBroadcastBlockValue ( XAieGbl_Tile TileInstPtr,
u8  Dir,
u8  SwitchAB 
)

This API returns the current event broadcast block value for PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Dir- Direction. Should be one of XAIETILE_EVENT_BLOCK_SOUTH, XAIETILE_EVENT_BLOCK_WEST, XAIETILE_EVENT_BLOCK_NORTH, or XAIETILE_EVENT_BLOCK_EAST.
SwitchAB- Flag to indicate if it's the A or B block. Should be one of XAIETILE_EVENT_BLOCK_SWITCHA or XAIETILE_EVENT_BLOCK_SWITCHB.
Returns
Current event broadcast value
Note
None.
u8 XAieTilePl_EventGenerate ( XAieGbl_Tile TileInstPtr,
u8  Event 
)

This API sets the PL module to generate an internal event of .

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID. One of XAIETILE_EVENT_PL_*
Returns
XAIE_SUCCESS on success
Note
None.
u8 XAieTilePl_EventTraceControl ( XAieGbl_Tile TileInstPtr,
u8  StartEvent,
u8  StopEvent,
u8  Id,
u8  Packet 
)

This API sets the trace control of PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
StartEvent- Event to start
StopEvent- Event to stop
Id- Packet ID
Packet- Packet type
Returns
XAIE_SUCCESS on success
Note
If XAIETILE_EVENT_TRACING_INVALID_VAL is given for any argument, the setting argument is skipped.
u8 XAieTilePl_EventTraceEventWrite ( XAieGbl_Tile TileInstPtr,
XAie_TraceEvents *  TraceEvents 
)

This API sets multiple event traces of PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
TraceEvents- Events to trace.
Returns
XAIE_SUCCESS on success
Note
All 8 event traces should be set in TraceEvents.
u8 XAieTilePl_EventTraceEventWriteId ( XAieGbl_Tile TileInstPtr,
u8  Event,
u8  Idx 
)

This API sets the event trace of PL module.

Parameters
TileInstPtr- Pointer to the Tile instance.
Event- Event ID
Idx- Trace ID. 0 to 7.
Returns
XAIE_SUCCESS on success
Note
None.

Variable Documentation

XAieGbl_Config XAieGbl_ConfigTable[]

The configuration table for each AIE device.

XAIE_BASE_ARRAY_ADDR_OFFSET macro defines the AI Engine's base address offset value.