xaiefal
Loading...
Searching...
No Matches
xaiefal::XAieTraceCntr Class Reference

Trace Event resource class. More...

#include <xaiefal-trace.hpp>

Inheritance diagram for xaiefal::XAieTraceCntr:
xaiefal::XAieSingleTileRsc xaiefal::XAieRsc

Public Member Functions

 XAieTraceCntr ()=delete
 XAieTraceCntr (std::shared_ptr< XAieDevHandle > DevHd, XAie_LocType Loc, XAie_ModuleType Mod)
 XAieTraceCntr (XAieDev &Dev, XAie_LocType Loc, XAie_ModuleType Mod)
 ~XAieTraceCntr ()
XAie_ModuleType getModule ()
AieRC reserveTraceSlot (uint8_t &Slot)
AieRC releaseTraceSlot (uint8_t Slot)
AieRC setTraceEvent (uint32_t Slot, XAie_Events Event)
AieRC setCntrEvent (XAie_Events StartE, XAie_Events StopE)
AieRC setMode (XAie_TraceMode TraceMode)
AieRC setPkt (const XAie_Packet &Packet)
uint32_t getMaxTraceEvents () const
uint32_t getReservedTraceEvents () const
int getStartBc ()
int getStopBc ()
uint32_t getAvailManagedRscs ()
XAieRscType getManagedRscsType ()
Public Member Functions inherited from xaiefal::XAieSingleTileRsc
 XAieSingleTileRsc ()=delete
 XAieSingleTileRsc (std::shared_ptr< XAieDevHandle > DevHd, XAie_LocType Loc, XAie_ModuleType Mod)
 XAieSingleTileRsc (std::shared_ptr< XAieDevHandle > DevHd, XAie_LocType Loc, XAie_ModuleType Mod, XAieRscType Type)
 XAieSingleTileRsc (XAieDev &Dev, XAie_LocType Loc, XAie_ModuleType Mod)
 XAieSingleTileRsc (XAieDev &Dev, XAie_LocType Loc, XAie_ModuleType Mod, XAieRscType Type)
 XAieSingleTileRsc (std::shared_ptr< XAieDevHandle > DevHd, XAie_LocType Loc)
 XAieSingleTileRsc (std::shared_ptr< XAieDevHandle > DevHd, XAie_LocType Loc, XAieRscType Type)
 XAieSingleTileRsc (XAieDev &Dev, XAie_LocType Loc, XAieRscType Type)
virtual ~XAieSingleTileRsc ()
XAie_LocType loc () const
XAie_ModuleType mod () const
AieRC getRscId (XAie_LocType &OutLoc, XAie_ModuleType &OutMod, uint32_t &OutRscId)
virtual XAieRscStat getRscStat (const std::string &GName) const
Public Member Functions inherited from xaiefal::XAieRsc
 XAieRsc ()=delete
 XAieRsc (std::shared_ptr< XAieDevHandle > DevHd)
 XAieRsc (std::shared_ptr< XAieDevHandle > DevHd, XAieRscType Type)
 XAieRsc (XAieDev &Dev)
virtual ~XAieRsc ()
AieRC setPreferredId (uint32_t id, bool isStaticAllocated=false)
uint32_t getPreferredId ()
AieRC reserve ()
AieRC release ()
AieRC free ()
AieRC start ()
AieRC stop ()
bool isInitialized () const
bool isReserved () const
bool isConfigured () const
bool isRunning () const
void getReservedRscs (std::vector< XAieUserRsc > &vOutRscs) const
AieRC getRscs (std::vector< XAieUserRsc > &vOutRscs)
AieRC setRscs (std::vector< XAieUserRsc > &vInRscs)
virtual XAieRscType getRscType () const
XAie_DevInst * dev ()

Protected Member Functions

AieRC _reserve ()
AieRC _release ()
AieRC _start ()
AieRC _stop ()
void _getReservedRscs (std::vector< XAieUserRsc > &vOutRscs) const

Protected Attributes

std::bitset< 8 > TraceSlotBits
XAie_Events Events [8]
XAie_Events StartEvent
XAie_Events StopEvent
XAie_ModuleType StartMod
XAie_ModuleType StopMod
XAieBroadcast * StartBC
XAieBroadcast * StopBC
XAie_Packet Pkt
XAie_TraceMode Mode
Protected Attributes inherited from xaiefal::XAieSingleTileRsc
XAie_LocType Loc
XAie_ModuleType Mod
Protected Attributes inherited from xaiefal::XAieRsc
XAieRscState State
XAieRscType Type
std::shared_ptr< XAieDevHandle > AieHd
uint32_t preferredId
uint32_t reservedId
std::vector< XAieUserRsc > vRscs

Detailed Description

Trace Event resource class.

Constructor & Destructor Documentation

◆ XAieTraceCntr() [1/3]

xaiefal::XAieTraceCntr::XAieTraceCntr ( )
delete

◆ XAieTraceCntr() [2/3]

xaiefal::XAieTraceCntr::XAieTraceCntr ( std::shared_ptr< XAieDevHandle > DevHd,
XAie_LocType Loc,
XAie_ModuleType Mod )
inline

◆ XAieTraceCntr() [3/3]

xaiefal::XAieTraceCntr::XAieTraceCntr ( XAieDev & Dev,
XAie_LocType Loc,
XAie_ModuleType Mod )
inline

◆ ~XAieTraceCntr()

xaiefal::XAieTraceCntr::~XAieTraceCntr ( )
inline

Member Function Documentation

◆ _getReservedRscs()

void xaiefal::XAieTraceCntr::_getReservedRscs ( std::vector< XAieUserRsc > & vOutRscs) const
inlineprotectedvirtual

This function returns resources reserved.

Parameters
vOutRscsvector to store the reserved resources

Reimplemented from xaiefal::XAieSingleTileRsc.

◆ _release()

AieRC xaiefal::XAieTraceCntr::_release ( )
inlineprotectedvirtual

This function will be called by release(). It allows child class to implement its own resource release.

Returns
XAIE_OK for success, error code for failure.

Reimplemented from xaiefal::XAieRsc.

◆ _reserve()

AieRC xaiefal::XAieTraceCntr::_reserve ( )
inlineprotectedvirtual

This function will be called by reserve(). It allows child class to implement its own resource reservation.

Returns
XAIE_OK for success, error code for failure.

Reimplemented from xaiefal::XAieRsc.

◆ _start()

AieRC xaiefal::XAieTraceCntr::_start ( )
inlineprotectedvirtual

This function will be called by start(). It allows child class to implement its own resource start.

Returns
XAIE_OK for success, error code for failure.

Reimplemented from xaiefal::XAieRsc.

◆ _stop()

AieRC xaiefal::XAieTraceCntr::_stop ( )
inlineprotectedvirtual

This function will be called by stop(). It allows child class to implement its own resource stop.

Returns
XAIE_OK for success, error code for failure.

Reimplemented from xaiefal::XAieRsc.

◆ getAvailManagedRscs()

uint32_t xaiefal::XAieTraceCntr::getAvailManagedRscs ( )
inlinevirtual

This function returns number of available child resources which is managed by this resource in AIEFAL

Reimplemented from xaiefal::XAieRsc.

◆ getManagedRscsType()

XAieRscType xaiefal::XAieTraceCntr::getManagedRscsType ( )
inlinevirtual

This function returns the type of child resources which is managed by this resource in AIEFAL

Reimplemented from xaiefal::XAieRsc.

◆ getMaxTraceEvents()

uint32_t xaiefal::XAieTraceCntr::getMaxTraceEvents ( ) const
inline

This functinon returns the max number of trace events supported by the trace control.

Returns
supported max trace events

◆ getModule()

XAie_ModuleType xaiefal::XAieTraceCntr::getModule ( )
inline

This funtion gets module of the Trace control.

Returns
module of the trace control

◆ getReservedTraceEvents()

uint32_t xaiefal::XAieTraceCntr::getReservedTraceEvents ( ) const
inline

This functinon returns the number of trace events which have been reserved.

Returns
number of reserved events.

◆ getStartBc()

int xaiefal::XAieTraceCntr::getStartBc ( )
inline

This function returns the trace control start event broadcast event if trace event needs broadcasting.

Returns
broadcast channel if trace event is reserved, and broadcast is required, error code for failure.

◆ getStopBc()

int xaiefal::XAieTraceCntr::getStopBc ( )
inline

This function returns the trace control stop event broadcast event if trace event needs broadcasting.

Returns
broadcast channel if trace event is reserved, and broadcast is required, error code for failure.

◆ releaseTraceSlot()

AieRC xaiefal::XAieTraceCntr::releaseTraceSlot ( uint8_t Slot)
inline

This funtion release a trace slot.

Parameters
Slottrace slot to release
Returns
XAIE_OK for success, error code for failure

◆ reserveTraceSlot()

AieRC xaiefal::XAieTraceCntr::reserveTraceSlot ( uint8_t & Slot)
inline

This funtion reserve a trace slot. It will fail if the trace control is already configured in hardware. This function is supposed to be called before start().

Parameters
Slotto return the reserved trace slot.
Returns
XAIE_OK for success, error code for failure

◆ setCntrEvent()

AieRC xaiefal::XAieTraceCntr::setCntrEvent ( XAie_Events StartE,
XAie_Events StopE )
inline

This function sets start event of the trace control. No hardware configuration is changed. It will check if trace control is already configured. If yes, it will fail the setting. That is it needs to be called before start().

Parameters
StartEstart event to set
StopEstop event to set
Returns
XAIE_OK for success, error code for failure

◆ setMode()

AieRC xaiefal::XAieTraceCntr::setMode ( XAie_TraceMode TraceMode)
inline

This function sets trace control mode. This function needs to be called before trace control is configured in hardware. That is it needs to be called before start().

Parameters
TraceModetrace control mode
Returns
XAIE_OK for success, error code for failure.

◆ setPkt()

AieRC xaiefal::XAieTraceCntr::setPkt ( const XAie_Packet & Packet)
inline

This function sets trace control packet config. This function needs to be called before trace control is configured in hardware. That is it needs to be called before start().

Parameters
Packettrace control packet setting
Returns
XAIE_OK for success, error code for failure.

◆ setTraceEvent()

AieRC xaiefal::XAieTraceCntr::setTraceEvent ( uint32_t Slot,
XAie_Events Event )
inline

This function sets events to trace to this object. No hardware configuration is changed. It will check if trace control is already configured. If yes, it will fail the setting. It will also fail if the slot is not yet assigned. User is expected to call reserveTraceSlot() first before setTraceEvent().

Parameters
Slottrace slot for the event to configure
Eventevent to configure.
Returns
XAIE_OK for success, error code for failure

Field Documentation

◆ Events

XAie_Events xaiefal::XAieTraceCntr::Events[8]
protected

events to trace

◆ Mode

XAie_TraceMode xaiefal::XAieTraceCntr::Mode
protected

trace operation mode

◆ Pkt

XAie_Packet xaiefal::XAieTraceCntr::Pkt
protected

trace packet setup

◆ StartBC

XAieBroadcast* xaiefal::XAieTraceCntr::StartBC
protected

start Event braodcast resource

◆ StartEvent

XAie_Events xaiefal::XAieTraceCntr::StartEvent
protected

trace control start event

◆ StartMod

XAie_ModuleType xaiefal::XAieTraceCntr::StartMod
protected

start event module

◆ StopBC

XAieBroadcast* xaiefal::XAieTraceCntr::StopBC
protected

stop Event braodcast resource

◆ StopEvent

XAie_Events xaiefal::XAieTraceCntr::StopEvent
protected

trace control stop event

◆ StopMod

XAie_ModuleType xaiefal::XAieTraceCntr::StopMod
protected

stop event module

◆ TraceSlotBits

std::bitset<8> xaiefal::XAieTraceCntr::TraceSlotBits
protected

trace slots bitmap


The documentation for this class was generated from the following file: