aiengine
Xilinx SDK Drivers API Documentation
xaietile_core.h File Reference

Overview

Header file for core control and wait functions.

MODIFICATION HISTORY:
Ver   Who     Date     Changes


1.0 Naresh 04/06/2018 Initial creation 1.1 Naresh 05/07/2018 Fixed CR#1000933 1.2 Naresh 07/11/2018 Updated copyright info and addressed CR#1006573 1.3 Naresh 08/13/2018 Updated prototype for wait done API and also added prototype for core read status done API 1.4 Nishad 12/05/2018 Renamed ME attributes to AIE

void XAieTile_CoreControl (XAieGbl_Tile *TileInstPtr, u8 Enable, u8 Reset)
 This API writes to the Core_control register to enable and/or reset the AIE core of the selected tile. More...
 
u8 XAieTile_CoreWaitStatus (XAieGbl_Tile *TileInstPtr, u32 TimeOut, u32 Status)
 This API implements a blocking wait function to check for the core status to be disabled or done. More...
 
u8 XAieTile_CoreWaitCycles (XAieGbl_Tile *TileInstPtr, u32 CycleCnt)
 This API implements a blocking wait function until the specified clock cyles are elapsed in the Core module 64-bit counter. More...
 
u8 XAieTile_CoreReadStatusDone (XAieGbl_Tile *TileInstPtr)
 This API returns the current value of the Core status done bit. More...
 
u64 XAieTile_CoreReadTimer (XAieGbl_Tile *TileInstPtr)
 This API returns the current value of the Core module 64-bit timer. More...
 

Function Documentation

void XAieTile_CoreControl ( XAieGbl_Tile TileInstPtr,
u8  Enable,
u8  Reset 
)

This API writes to the Core_control register to enable and/or reset the AIE core of the selected tile.

This API bluntly writes to the register and any gracefullness required in enabling/disabling and/or resetting/unresetting the core are required to be handled by the application layer.

Parameters
TileInstPtr- Pointer to the Tile instance.
Enable- Enable/Disable the core (1-Enable,0-Disable).
Reset- Reset/Unreset the core (1-Reset,0-Unreset).
Returns
None.
Note
None.

References XAieGbl_RegCoreCtrl::CtrlEn, XAieGbl_RegCoreCtrl::CtrlRst, XAieGbl_RegFldAttr::Lsb, XAieGbl_RegFldAttr::Mask, XAieGbl_RegCoreCtrl::RegOff, and XAieGbl_Tile::TileAddr.

Referenced by main().

u8 XAieTile_CoreReadStatusDone ( XAieGbl_Tile TileInstPtr)

This API returns the current value of the Core status done bit.

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
Core_Done status bit.
Note
None.

References XAieGbl_RegCoreSts::Done, XAieGbl_RegFldAttr::Lsb, XAieGbl_RegFldAttr::Mask, XAieGbl_RegCoreSts::RegOff, and XAieGbl_Tile::TileAddr.

u64 XAieTile_CoreReadTimer ( XAieGbl_Tile TileInstPtr)

This API returns the current value of the Core module 64-bit timer.

Parameters
TileInstPtr- Pointer to the Tile instance.
Returns
64-bit timer value.
Note
None.

References XAieGbl_RegTimer::HighOff, XAieGbl_RegTimer::LowOff, and XAieGbl_Tile::TileAddr.

u8 XAieTile_CoreWaitCycles ( XAieGbl_Tile TileInstPtr,
u32  CycleCnt 
)

This API implements a blocking wait function until the specified clock cyles are elapsed in the Core module 64-bit counter.

Parameters
TileInstPtr- Pointer to the Tile instance.
CycleCnt- No. of timer clock cycles to elapse.
Returns
XAIE_SUCCESS on success.
Note
None.

References XAieGbl_RegTimer::HighOff, XAieGbl_RegTimer::LowOff, and XAieGbl_Tile::TileAddr.

Referenced by main().

u8 XAieTile_CoreWaitStatus ( XAieGbl_Tile TileInstPtr,
u32  TimeOut,
u32  Status 
)

This API implements a blocking wait function to check for the core status to be disabled or done.

API comes out of the wait loop when core status changes to done/disable or the timeout elapses, whichever happens first.

Parameters
TileInstPtr- Pointer to the Tile instance.
TimeOut- TimeOut in usecs. If set to 0, the default timeout will be set to 500 usecs.
Status- 1 for Core_done and 0 for Disable Use macros XAIETILE_CORE_STATUS_DONE/XAIETILE_CORE_STATUS_DISABLE
Returns
The requested status if wait completes successful, or !Status.
Note
None.

References XAieGbl_RegCoreSts::Done, XAieGbl_RegCoreSts::En, XAieGbl_RegFldAttr::Lsb, XAieGbl_RegFldAttr::Mask, XAieGbl_RegCoreSts::RegOff, and XAieGbl_Tile::TileAddr.