| axipmon Vitis Drivers API Documentation

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

Data Structures | Macros | Functions | Variables
Overview

## Data Structures
struct | XAxiPmon_Config
| This typedef contains configuration information for the AXI Performance Monitor device. More...
struct | XAxiPmon
| The driver's instance data. More...

## Macros
#define | XAxiPmon_IntrGlobalEnable(InstancePtr)
| This routine enables the Global Interrupt. More...
#define | XAxiPmon_IntrGlobalDisable(InstancePtr)
| This routine disables the Global Interrupt. More...
#define | XAxiPmon_IntrEnable(InstancePtr, Mask)
| This routine enables interrupt(s). More...
#define | XAxiPmon_IntrDisable(InstancePtr, Mask)
| This routine disable interrupt(s). More...
#define | XAxiPmon_IntrClear(InstancePtr, Mask)
| This routine clears the specified interrupt(s). More...
#define | XAxiPmon_IntrGetStatus(InstancePtr)
| This routine returns the Interrupt Status Register. More...
#define | XAxiPmon_EnableGlobalClkCounter(InstancePtr)
| This function enables the Global Clock Counter. More...
#define | XAxiPmon_DisableGlobalClkCounter(InstancePtr)
| This function disbles the Global Clock Counter. More...
#define | XAxiPmon_EnableFlag(InstancePtr, Flag)
| This function enables the specified flag in Flag Control Register. More...
#define | XAxiPmon_DisableFlag(InstancePtr, Flag)
| This function disables the specified flag in Flag Control Register. More...
#define | XAxiPmon_LoadSampleIntervalCounter(InstancePtr)
| This function loads the sample interval register value into the sample interval counter. More...
#define | XAxiPmon_EnableSampleIntervalCounter(InstancePtr)
| This enables the down count of the sample interval counter. More...
#define | XAxiPmon_DisableSampleIntervalCounter(InstancePtr)
| This disables the down count of the sample interval counter. More...
#define | XAxiPmon_EnableMetricCounterReset(InstancePtr)
| This enables Reset of Metric Counters when Sample Interval Counter lapses. More...
#define | XAxiPmon_DisableMetricCounterReset(InstancePtr)
| This disables the down count of the sample interval counter. More...
#define | XAxiPmon_EnableIDFilter(InstancePtr)
| This function enables the ID Filter Masking. More...
#define | XAxiPmon_DisableIDFilter(InstancePtr)
| This function disbles the ID Filter masking. More...
#define | XAxiPmon_SampleMetrics(InstancePtr) XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, XAPM_SR_OFFSET);
| This function samples Metric Counters to Sampled Metric Counters by reading Sample Register and also returns interval. More...
#define | XAxiPmon_ReadReg(BaseAddress, RegOffset) (Xil_In32((BaseAddress) + (RegOffset)))
| Read a register of the AXI Performance Monitor device. More...
#define | XAxiPmon_WriteReg(BaseAddress, RegOffset, Data) (Xil_Out32((BaseAddress) + (RegOffset), (Data)))
| Write a register of the AXI Performance Monitor device. More...
#define | XAPM_TEST_RANGEUPPER_VALUE 16U
| Test Value for Upper Range. More...
#define | XAPM_TEST_RANGELOWER_VALUE 8U
| Test Value for Lower Range. More...

## Functions
s32 | XAxiPmon_CfgInitialize (XAxiPmon *InstancePtr, XAxiPmon_Config *ConfigPtr, UINTPTR EffectiveAddr)
| This function initializes a specific XAxiPmon device/instance. More...
s32 | XAxiPmon_ResetMetricCounter (XAxiPmon *InstancePtr)
| This function resets all Metric Counters and Sampled Metric Counters of AXI Performance Monitor. More...
void | XAxiPmon_ResetGlobalClkCounter (XAxiPmon *InstancePtr)
| This function resets Global Clock Counter of AXI Performance Monitor. More...
s32 | XAxiPmon_ResetFifo (XAxiPmon *InstancePtr)
| This function resets Streaming FIFO of AXI Performance Monitor. More...
void | XAxiPmon_SetIncrementerRange (XAxiPmon *InstancePtr, u8 IncrementerNum, u16 RangeUpper, u16 RangeLower)
| This function sets Ranges for Incrementers depending on parameters passed. More...
void | XAxiPmon_GetIncrementerRange (XAxiPmon *InstancePtr, u8 IncrementerNum, u16 *RangeUpper, u16 *RangeLower)
| This function returns the Ranges of Incrementers Registers. More...
void | XAxiPmon_SetSampleInterval (XAxiPmon *InstancePtr, u32 SampleInterval)
| This function sets the Sample Interval Register. More...
void | XAxiPmon_GetSampleInterval (XAxiPmon *InstancePtr, u32 *SampleInterval)
| This function returns the contents of Sample Interval Register. More...
s32 | XAxiPmon_SetMetrics (XAxiPmon *InstancePtr, u8 Slot, u8 Metrics, u8 CounterNum)
| This function sets Metrics for specified Counter in the corresponding Metric Selector Register. More...
s32 | XAxiPmon_GetMetrics (XAxiPmon *InstancePtr, u8 CounterNum, u8 *Metrics, u8 *Slot)
| This function returns Metrics in the specified Counter from the corresponding Metric Selector Register. More...
void | XAxiPmon_GetGlobalClkCounter (XAxiPmon *InstancePtr, u32 *CntHighValue, u32 *CntLowValue)
| This function returns the contents of the Global Clock Counter Register. More...
u32 | XAxiPmon_GetMetricCounter (XAxiPmon *InstancePtr, u32 CounterNum)
| This function returns the contents of the Metric Counter Register. More...
u32 | XAxiPmon_GetSampledMetricCounter (XAxiPmon *InstancePtr, u32 CounterNum)
| This function returns the contents of the Sampled Metric Counter Register. More...
u32 | XAxiPmon_GetIncrementer (XAxiPmon *InstancePtr, u32 IncrementerNum)
| This function returns the contents of the Incrementer Register. More...
u32 | XAxiPmon_GetSampledIncrementer (XAxiPmon *InstancePtr, u32 IncrementerNum)
| This function returns the contents of the Sampled Incrementer Register. More...
void | XAxiPmon_SetSwDataReg (XAxiPmon *InstancePtr, u32 SwData)
| This function sets Software-written Data Register. More...
u32 | XAxiPmon_GetSwDataReg (XAxiPmon *InstancePtr)
| This function returns contents of Software-written Data Register. More...
s32 | XAxiPmon_StartEventLog (XAxiPmon *InstancePtr, u32 FlagEnables)
| This function enables the following in the AXI Performance Monitor: More...
s32 | XAxiPmon_StopEventLog (XAxiPmon *InstancePtr)
| This function disables the following in the AXI Performance Monitor: More...
s32 | XAxiPmon_StartCounters (XAxiPmon *InstancePtr, u32 SampleInterval)
| This function enables the following in the AXI Performance Monitor: More...
s32 | XAxiPmon_StopCounters (XAxiPmon *InstancePtr)
| This function disables the following in the AXI Performance Monitor: More...
void | XAxiPmon_EnableMetricsCounter (XAxiPmon *InstancePtr)
| This function enables Metric Counters. More...
void | XAxiPmon_DisableMetricsCounter (XAxiPmon *InstancePtr)
| This function disables the Metric Counters. More...
void | XAxiPmon_SetLogEnableRanges (XAxiPmon *InstancePtr, u32 CounterNum, u16 RangeUpper, u16 RangeLower)
| This function sets the Upper and Lower Ranges for specified Metric Counter Log Enable Register.Event Logging starts when corresponding Metric Counter value falls in between these ranges. More...
void | XAxiPmon_GetLogEnableRanges (XAxiPmon *InstancePtr, u32 CounterNum, u16 *RangeUpper, u16 *RangeLower)
| This function returns the Ranges of specified Metric Counter Log Enable Register. More...
void | XAxiPmon_EnableEventLog (XAxiPmon *InstancePtr)
| This function enables Event Logging. More...
void | XAxiPmon_EnableMetricCounterTrigger (XAxiPmon *InstancePtr)
| This function enables External trigger pulse so that Metric Counters can be started on external trigger pulse for a Slot. More...
void | XAxiPmon_DisableMetricCounterTrigger (XAxiPmon *InstancePtr)
| This function disables the External trigger pulse used to start Metric Counters on external trigger pulse for a Slot. More...
void | XAxiPmon_EnableEventLogTrigger (XAxiPmon *InstancePtr)
| This function enables External trigger pulse for Event Log so that Event Logging can be started on external trigger pulse for a Slot. More...
void | XAxiPmon_DisableEventLogTrigger (XAxiPmon *InstancePtr)
| This function disables the External trigger pulse used to start Event Log on external trigger pulse for a Slot. More...
const char * | XAxiPmon_GetMetricName (u8 Metrics)
| This function returns a name for a given Metric. More...
void | XAxiPmon_SetWriteId (XAxiPmon *InstancePtr, u32 WriteId)
| This function sets Write ID in ID register. More...
void | XAxiPmon_SetReadId (XAxiPmon *InstancePtr, u32 ReadId)
| This function sets Read ID in ID register. More...
u32 | XAxiPmon_GetWriteId (XAxiPmon *InstancePtr)
| This function returns Write ID in ID register. More...
u32 | XAxiPmon_GetReadId (XAxiPmon *InstancePtr)
| This function returns Read ID in ID register. More...
void | XAxiPmon_SetWrLatencyStart (XAxiPmon *InstancePtr, u8 Param)
| This function sets Latency Start point to calculate write latency. More...
void | XAxiPmon_SetWrLatencyEnd (XAxiPmon *InstancePtr, u8 Param)
| This function sets Latency End point to calculate write latency. More...
void | XAxiPmon_SetRdLatencyStart (XAxiPmon *InstancePtr, u8 Param)
| This function sets Latency Start point to calculate read latency. More...
void | XAxiPmon_SetRdLatencyEnd (XAxiPmon *InstancePtr, u8 Param)
| This function sets Latency End point to calculate read latency. More...
u8 | XAxiPmon_GetWrLatencyStart (XAxiPmon *InstancePtr)
| This function returns Write Latency Start point. More...
u8 | XAxiPmon_GetWrLatencyEnd (XAxiPmon *InstancePtr)
| This function returns Write Latency End point. More...
u8 | XAxiPmon_GetRdLatencyStart (XAxiPmon *InstancePtr)
| This function returns read Latency Start point. More...
u8 | XAxiPmon_GetRdLatencyEnd (XAxiPmon *InstancePtr)
| This function returns Read Latency End point. More...
void | XAxiPmon_SetWriteIdMask (XAxiPmon *InstancePtr, u32 WrMask)
| This function sets Write ID Mask in ID Mask register. More...
void | XAxiPmon_SetReadIdMask (XAxiPmon *InstancePtr, u32 RdMask)
| This function sets Read ID Mask in ID Mask register. More...
u32 | XAxiPmon_GetWriteIdMask (XAxiPmon *InstancePtr)
| This function returns Write ID Mask in ID Mask register. More...
u32 | XAxiPmon_GetReadIdMask (XAxiPmon *InstancePtr)
| This function returns Read ID Mask in ID Mask register. More...
XAxiPmon_Config * | XAxiPmon_LookupConfig (u16 DeviceId)
| Functions in xaxipmon_sinit.c. More...
s32 | XAxiPmon_SelfTest (XAxiPmon *InstancePtr)
| Functions in xaxipmon_selftest.c. More...

## Variables
XAxiPmon_Config | XAxiPmon_ConfigTable [XPAR_XAXIPMON_NUM_INSTANCES]
| This table contains configuration information for each System Monitor/ADC device in the system. More...
XAxiPmon_Config | XAxiPmon_ConfigTable []
| This table contains configuration information for each System Monitor/ADC device in the system. More...

## Macro for Maximum number of Counters
#define | XAPM_MAX_COUNTERS 10U
| Maximum number of Counters. More...
#define | XAPM_MAX_COUNTERS_PROFILE 48U
| Maximum number of Counters. More...

## Indices for Metric Counters and Sampled Metric Coounters used with
         XAxiPmon_GetMetricCounter and XAxiPmon_GetSampledMetricCounter APIs
#define | XAPM_METRIC_COUNTER_0 0U
| Metric Counter 0 Register Index. More...
#define | XAPM_METRIC_COUNTER_1 1U
| Metric Counter 1 Register Index. More...
#define | XAPM_METRIC_COUNTER_2 2U
| Metric Counter 2 Register Index. More...
#define | XAPM_METRIC_COUNTER_3 3U
| Metric Counter 3 Register Index. More...
#define | XAPM_METRIC_COUNTER_4 4U
| Metric Counter 4 Register Index. More...
#define | XAPM_METRIC_COUNTER_5 5U
| Metric Counter 5 Register Index. More...
#define | XAPM_METRIC_COUNTER_6 6U
| Metric Counter 6 Register Index. More...
#define | XAPM_METRIC_COUNTER_7 7U
| Metric Counter 7 Register Index. More...
#define | XAPM_METRIC_COUNTER_8 8U
| Metric Counter 8 Register Index. More...
#define | XAPM_METRIC_COUNTER_9 9U
| Metric Counter 9 Register Index. More...

## Indices for Incrementers and Sampled Incrementers used with
         XAxiPmon_GetIncrementer and XAxiPmon_GetSampledIncrementer APIs
#define | XAPM_INCREMENTER_0 0U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_1 1U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_2 2U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_3 3U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_4 4U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_5 5U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_6 6U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_7 7U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_8 8U
| Metric Counter 0 Register Index. More...
#define | XAPM_INCREMENTER_9 9U
| Metric Counter 0 Register Index. More...

## Macros for Metric Selector Settings
#define | XAPM_METRIC_SET_0 0U
| Write Transaction Count. More...
#define | XAPM_METRIC_SET_1 1U
| Read Transaction Count. More...
#define | XAPM_METRIC_SET_2 2U
| Write Byte Count. More...
#define | XAPM_METRIC_SET_3 3U
| Read Byte Count. More...
#define | XAPM_METRIC_SET_4 4U
| Write Beat Count. More...
#define | XAPM_METRIC_SET_5 5U
| Total Read Latency. More...
#define | XAPM_METRIC_SET_6 6U
| Total Write Latency. More...
#define | XAPM_METRIC_SET_7 7U
| Slv_Wr_Idle_Cnt. More...
#define | XAPM_METRIC_SET_8 8U
| Mst_Rd_Idle_Cnt. More...
#define | XAPM_METRIC_SET_9 9U
| Num_BValids. More...
#define | XAPM_METRIC_SET_10 10U
| Num_WLasts. More...
#define | XAPM_METRIC_SET_11 11U
| Num_RLasts. More...
#define | XAPM_METRIC_SET_12 12U
| Minimum Write Latency. More...
#define | XAPM_METRIC_SET_13 13U
| Maximum Write Latency. More...
#define | XAPM_METRIC_SET_14 14U
| Minimum Read Latency. More...
#define | XAPM_METRIC_SET_15 15U
| Maximum Read Latency. More...
#define | XAPM_METRIC_SET_16 16U
| Transfer Cycle Count. More...
#define | XAPM_METRIC_SET_17 17U
| Packet Count. More...
#define | XAPM_METRIC_SET_18 18U
| Data Byte Count. More...
#define | XAPM_METRIC_SET_19 19U
| Position Byte Count. More...
#define | XAPM_METRIC_SET_20 20U
| Null Byte Count. More...
#define | XAPM_METRIC_SET_21 21U
| Slv_Idle_Cnt. More...
#define | XAPM_METRIC_SET_22 22U
| Mst_Idle_Cnt. More...
#define | XAPM_METRIC_SET_30 30U
| External event count. More...

## Macros for Maximum number of Agents
#define | XAPM_MAX_AGENTS 8U
| Maximum number of Agents. More...

## Macros for Flags in Flag Enable Control Register
#define | XAPM_FLAG_WRADDR 0x00000001
| Write Address Flag. More...
#define | XAPM_FLAG_FIRSTWR 0x00000002
| First Write Flag. More...
#define | XAPM_FLAG_LASTWR 0x00000004
| Last Write Flag. More...
#define | XAPM_FLAG_RESPONSE 0x00000008
| Response Flag. More...
#define | XAPM_FLAG_RDADDR 0x00000010
| Read Address Flag. More...
#define | XAPM_FLAG_FIRSTRD 0x00000020
| First Read Flag. More...
#define | XAPM_FLAG_LASTRD 0x00000040
| Last Read Flag. More...
#define | XAPM_FLAG_SWDATA 0x00010000
| Software-written Data Flag. More...
#define | XAPM_FLAG_EVENT 0x00020000
| Last Read Flag. More...
#define | XAPM_FLAG_EVNTSTOP 0x00040000
| Last Read Flag. More...
#define | XAPM_FLAG_EVNTSTART 0x00080000
| Last Read Flag. More...
#define | XAPM_FLAG_GCCOVF 0x00100000
| Global Clock Counter Overflow Flag. More...
#define | XAPM_FLAG_SCLAPSE 0x00200000
| Sample Counter Lapse Flag. More...
#define | XAPM_FLAG_MC0 0x00400000U
| Metric Counter 0 Flag. More...
#define | XAPM_FLAG_MC1 0x00800000U
| Metric Counter 1 Flag. More...
#define | XAPM_FLAG_MC2 0x01000000U
| Metric Counter 2 Flag. More...
#define | XAPM_FLAG_MC3 0x02000000U
| Metric Counter 3 Flag. More...
#define | XAPM_FLAG_MC4 0x04000000U
| Metric Counter 4 Flag. More...
#define | XAPM_FLAG_MC5 0x08000000U
| Metric Counter 5 Flag. More...
#define | XAPM_FLAG_MC6 0x10000000U
| Metric Counter 6 Flag. More...
#define | XAPM_FLAG_MC7 0x20000000U
| Metric Counter 7 Flag. More...
#define | XAPM_FLAG_MC8 0x40000000U
| Metric Counter 8 Flag. More...
#define | XAPM_FLAG_MC9 0x80000000U
| Metric Counter 9 Flag. More...

## Macros for Read/Write Latency Start and End points
#define | XAPM_LATENCY_ADDR_ISSUE 0U
| Address Issue as start point for Latency calculation. More...
#define | XAPM_LATENCY_ADDR_ACCEPT 1U
| Address Acceptance as start point for Latency calculation. More...
#define | XAPM_LATENCY_LASTRD 0U
| Last Read as end point for Latency calculation. More...
#define | XAPM_LATENCY_LASTWR 0U
| Last Write as end point for Latency calculation. More...
#define | XAPM_LATENCY_FIRSTRD 1U
| First Read as end point for Latency calculation. More...
#define | XAPM_LATENCY_FIRSTWR 1U
| First Write as end point for Latency calculation. More...

## Macros for Modes of APM
#define | XAPM_MODE_TRACE 2U
| APM in Trace mode. More...
#define | XAPM_MODE_PROFILE 1U
| APM in Profile mode. More...
#define | XAPM_MODE_ADVANCED 0U
| APM in Advanced mode. More...

## Register offsets of AXIMONITOR in the Device Config
The following constants provide access to each of the registers of the AXI PERFORMANCE MONITOR device.
#define | XAPM_GCC_HIGH_OFFSET 0x00000000U
| Global Clock Counter 32 to 63 bits. More...
#define | XAPM_GCC_LOW_OFFSET 0x00000004U
| Global Clock Counter Lower 0-31 bits. More...
#define | XAPM_SI_HIGH_OFFSET 0x00000020U
| Sample Interval MSB. More...
#define | XAPM_SI_LOW_OFFSET 0x00000024U
| Sample Interval LSB. More...
#define | XAPM_SICR_OFFSET 0x00000028U
| Sample Interval Control Register. More...
#define | XAPM_SR_OFFSET 0x0000002CU
| Sample Register. More...
#define | XAPM_GIE_OFFSET 0x00000030U
| Global Interrupt Enable Register. More...
#define | XAPM_IE_OFFSET 0x00000034U
| Interrupt Enable Register. More...
#define | XAPM_IS_OFFSET 0x00000038U
| Interrupt Status Register. More...
#define | XAPM_MSR0_OFFSET 0x00000044U
| Metric Selector 0 Register. More...
#define | XAPM_MSR1_OFFSET 0x00000048U
| Metric Selector 1 Register. More...
#define | XAPM_MSR2_OFFSET 0x0000004CU
| Metric Selector 2 Register. More...
#define | XAPM_MC0_OFFSET 0x00000100U
| Metric Counter 0 Register. More...
#define | XAPM_INC0_OFFSET 0x00000104U
| Incrementer 0 Register. More...
#define | XAPM_RANGE0_OFFSET 0x00000108U
| Range 0 Register. More...
#define | XAPM_MC0LOGEN_OFFSET 0x0000010CU
| Metric Counter 0 Log Enable Register. More...
#define | XAPM_MC1_OFFSET 0x00000110U
| Metric Counter 1 Register. More...
#define | XAPM_INC1_OFFSET 0x00000114U
| Incrementer 1 Register. More...
#define | XAPM_RANGE1_OFFSET 0x00000118U
| Range 1 Register. More...
#define | XAPM_MC1LOGEN_OFFSET 0x0000011CU
| Metric Counter 1 Log Enable Register. More...
#define | XAPM_MC2_OFFSET 0x00000120U
| Metric Counter 2 Register. More...
#define | XAPM_INC2_OFFSET 0x00000124U
| Incrementer 2 Register. More...
#define | XAPM_RANGE2_OFFSET 0x00000128U
| Range 2 Register. More...
#define | XAPM_MC2LOGEN_OFFSET 0x0000012CU
| Metric Counter 2 Log Enable Register. More...
#define | XAPM_MC3_OFFSET 0x00000130U
| Metric Counter 3 Register. More...
#define | XAPM_INC3_OFFSET 0x00000134U
| Incrementer 3 Register. More...
#define | XAPM_RANGE3_OFFSET 0x00000138U
| Range 3 Register. More...
#define | XAPM_MC3LOGEN_OFFSET 0x0000013CU
| Metric Counter 3 Log Enable Register. More...
#define | XAPM_MC4_OFFSET 0x00000140U
| Metric Counter 4 Register. More...
#define | XAPM_INC4_OFFSET 0x00000144U
| Incrementer 4 Register. More...
#define | XAPM_RANGE4_OFFSET 0x00000148U
| Range 4 Register. More...
#define | XAPM_MC4LOGEN_OFFSET 0x0000014CU
| Metric Counter 4 Log Enable Register. More...
#define | XAPM_MC5_OFFSET 0x00000150U
| Metric Counter 5 Register. More...
#define | XAPM_INC5_OFFSET 0x00000154U
| Incrementer 5 Register. More...
#define | XAPM_RANGE5_OFFSET 0x00000158U
| Range 5 Register. More...
#define | XAPM_MC5LOGEN_OFFSET 0x0000015CU
| Metric Counter 5 Log Enable Register. More...
#define | XAPM_MC6_OFFSET 0x00000160U
| Metric Counter 6 Register. More...
#define | XAPM_INC6_OFFSET 0x00000164U
| Incrementer 6 Register. More...
#define | XAPM_RANGE6_OFFSET 0x00000168U
| Range 6 Register. More...
#define | XAPM_MC6LOGEN_OFFSET 0x0000016CU
| Metric Counter 6 Log Enable Register. More...
#define | XAPM_MC7_OFFSET 0x00000170U
| Metric Counter 7 Register. More...
#define | XAPM_INC7_OFFSET 0x00000174U
| Incrementer 7 Register. More...
#define | XAPM_RANGE7_OFFSET 0x00000178U
| Range 7 Register. More...
#define | XAPM_MC7LOGEN_OFFSET 0x0000017CU
| Metric Counter 7 Log Enable Register. More...
#define | XAPM_MC8_OFFSET 0x00000180U
| Metric Counter 8 Register. More...
#define | XAPM_INC8_OFFSET 0x00000184U
| Incrementer 8 Register. More...
#define | XAPM_RANGE8_OFFSET 0x00000188U
| Range 8 Register. More...
#define | XAPM_MC8LOGEN_OFFSET 0x0000018CU
| Metric Counter 8 Log Enable Register. More...
#define | XAPM_MC9_OFFSET 0x00000190U
| Metric Counter 9 Register. More...
#define | XAPM_INC9_OFFSET 0x00000194U
| Incrementer 9 Register. More...
#define | XAPM_RANGE9_OFFSET 0x00000198U
| Range 9 Register. More...
#define | XAPM_MC9LOGEN_OFFSET 0x0000019CU
| Metric Counter 9 Log Enable Register. More...
#define | XAPM_SMC0_OFFSET 0x00000200U
| Sampled Metric Counter 0 Register. More...
#define | XAPM_SINC0_OFFSET 0x00000204U
| Sampled Incrementer 0 Register. More...
#define | XAPM_SMC1_OFFSET 0x00000210U
| Sampled Metric Counter 1 Register. More...
#define | XAPM_SINC1_OFFSET 0x00000214U
| Sampled Incrementer 1 Register. More...
#define | XAPM_SMC2_OFFSET 0x00000220U
| Sampled Metric Counter 2 Register. More...
#define | XAPM_SINC2_OFFSET 0x00000224U
| Sampled Incrementer 2 Register. More...
#define | XAPM_SMC3_OFFSET 0x00000230U
| Sampled Metric Counter 3 Register. More...
#define | XAPM_SINC3_OFFSET 0x00000234U
| Sampled Incrementer 3 Register. More...
#define | XAPM_SMC4_OFFSET 0x00000240U
| Sampled Metric Counter 4 Register. More...
#define | XAPM_SINC4_OFFSET 0x00000244U
| Sampled Incrementer 4 Register. More...
#define | XAPM_SMC5_OFFSET 0x00000250U
| Sampled Metric Counter 5 Register. More...
#define | XAPM_SINC5_OFFSET 0x00000254U
| Sampled Incrementer 5 Register. More...
#define | XAPM_SMC6_OFFSET 0x00000260U
| Sampled Metric Counter 6 Register. More...
#define | XAPM_SINC6_OFFSET 0x00000264U
| Sampled Incrementer 6 Register. More...
#define | XAPM_SMC7_OFFSET 0x00000270U
| Sampled Metric Counter 7 Register. More...
#define | XAPM_SINC7_OFFSET 0x00000274U
| Sampled Incrementer 7 Register. More...
#define | XAPM_SMC8_OFFSET 0x00000280U
| Sampled Metric Counter 8 Register. More...
#define | XAPM_SINC8_OFFSET 0x00000284U
| Sampled Incrementer 8 Register. More...
#define | XAPM_SMC9_OFFSET 0x00000290U
| Sampled Metric Counter 9 Register. More...
#define | XAPM_SINC9_OFFSET 0x00000294U
| Sampled Incrementer 9 Register. More...
#define | XAPM_MC10_OFFSET 0x000001A0U
| Metric Counter 10 Register. More...
#define | XAPM_MC11_OFFSET 0x000001B0U
| Metric Counter 11 Register. More...
#define | XAPM_MC12_OFFSET 0x00000500U
| Metric Counter 12 Register. More...
#define | XAPM_MC13_OFFSET 0x00000510U
| Metric Counter 13 Register. More...
#define | XAPM_MC14_OFFSET 0x00000520U
| Metric Counter 14 Register. More...
#define | XAPM_MC15_OFFSET 0x00000530U
| Metric Counter 15 Register. More...
#define | XAPM_MC16_OFFSET 0x00000540U
| Metric Counter 16 Register. More...
#define | XAPM_MC17_OFFSET 0x00000550U
| Metric Counter 17 Register. More...
#define | XAPM_MC18_OFFSET 0x00000560U
| Metric Counter 18 Register. More...
#define | XAPM_MC19_OFFSET 0x00000570U
| Metric Counter 19 Register. More...
#define | XAPM_MC20_OFFSET 0x00000580U
| Metric Counter 20 Register. More...
#define | XAPM_MC21_OFFSET 0x00000590U
| Metric Counter 21 Register. More...
#define | XAPM_MC22_OFFSET 0x000005A0U
| Metric Counter 22 Register. More...
#define | XAPM_MC23_OFFSET 0x000005B0U
| Metric Counter 23 Register. More...
#define | XAPM_MC24_OFFSET 0x00000700U
| Metric Counter 24 Register. More...
#define | XAPM_MC25_OFFSET 0x00000710U
| Metric Counter 25 Register. More...
#define | XAPM_MC26_OFFSET 0x00000720U
| Metric Counter 26 Register. More...
#define | XAPM_MC27_OFFSET 0x00000730U
| Metric Counter 27 Register. More...
#define | XAPM_MC28_OFFSET 0x00000740U
| Metric Counter 28 Register. More...
#define | XAPM_MC29_OFFSET 0x00000750U
| Metric Counter 29 Register. More...
#define | XAPM_MC30_OFFSET 0x00000760U
| Metric Counter 30 Register. More...
#define | XAPM_MC31_OFFSET 0x00000770U
| Metric Counter 31 Register. More...
#define | XAPM_MC32_OFFSET 0x00000780U
| Metric Counter 32 Register. More...
#define | XAPM_MC33_OFFSET 0x00000790U
| Metric Counter 33 Register. More...
#define | XAPM_MC34_OFFSET 0x000007A0U
| Metric Counter 34 Register. More...
#define | XAPM_MC35_OFFSET 0x000007B0U
| Metric Counter 35 Register. More...
#define | XAPM_MC36_OFFSET 0x00000900U
| Metric Counter 36 Register. More...
#define | XAPM_MC37_OFFSET 0x00000910U
| Metric Counter 37 Register. More...
#define | XAPM_MC38_OFFSET 0x00000920U
| Metric Counter 38 Register. More...
#define | XAPM_MC39_OFFSET 0x00000930U
| Metric Counter 39 Register. More...
#define | XAPM_MC40_OFFSET 0x00000940U
| Metric Counter 40 Register. More...
#define | XAPM_MC41_OFFSET 0x00000950U
| Metric Counter 41 Register. More...
#define | XAPM_MC42_OFFSET 0x00000960U
| Metric Counter 42 Register. More...
#define | XAPM_MC43_OFFSET 0x00000970U
| Metric Counter 43 Register. More...
#define | XAPM_MC44_OFFSET 0x00000980U
| Metric Counter 44 Register. More...
#define | XAPM_MC45_OFFSET 0x00000990U
| Metric Counter 45 Register. More...
#define | XAPM_MC46_OFFSET 0x000009A0U
| Metric Counter 46 Register. More...
#define | XAPM_MC47_OFFSET 0x000009B0U
| Metric Counter 47 Register. More...
#define | XAPM_SMC10_OFFSET 0x000002A0U
| Sampled Metric Counter 10 Register. More...
#define | XAPM_SMC11_OFFSET 0x000002B0U
| Sampled Metric Counter 11 Register. More...
#define | XAPM_SMC12_OFFSET 0x00000600U
| Sampled Metric Counter 12 Register. More...
#define | XAPM_SMC13_OFFSET 0x00000610U
| Sampled Metric Counter 13 Register. More...
#define | XAPM_SMC14_OFFSET 0x00000620U
| Sampled Metric Counter 14 Register. More...
#define | XAPM_SMC15_OFFSET 0x00000630U
| Sampled Metric Counter 15 Register. More...
#define | XAPM_SMC16_OFFSET 0x00000640U
| Sampled Metric Counter 16 Register. More...
#define | XAPM_SMC17_OFFSET 0x00000650U
| Sampled Metric Counter 17 Register. More...
#define | XAPM_SMC18_OFFSET 0x00000660U
| Sampled Metric Counter 18 Register. More...
#define | XAPM_SMC19_OFFSET 0x00000670U
| Sampled Metric Counter 19 Register. More...
#define | XAPM_SMC20_OFFSET 0x00000680U
| Sampled Metric Counter 20 Register. More...
#define | XAPM_SMC21_OFFSET 0x00000690U
| Sampled Metric Counter 21 Register. More...
#define | XAPM_SMC22_OFFSET 0x000006A0U
| Sampled Metric Counter 22 Register. More...
#define | XAPM_SMC23_OFFSET 0x000006B0U
| Sampled Metric Counter 23 Register. More...
#define | XAPM_SMC24_OFFSET 0x00000800U
| Sampled Metric Counter 24 Register. More...
#define | XAPM_SMC25_OFFSET 0x00000810U
| Sampled Metric Counter 25 Register. More...
#define | XAPM_SMC26_OFFSET 0x00000820U
| Sampled Metric Counter 26 Register. More...
#define | XAPM_SMC27_OFFSET 0x00000830U
| Sampled Metric Counter 27 Register. More...
#define | XAPM_SMC28_OFFSET 0x00000840U
| Sampled Metric Counter 28 Register. More...
#define | XAPM_SMC29_OFFSET 0x00000850U
| Sampled Metric Counter 29 Register. More...
#define | XAPM_SMC30_OFFSET 0x00000860U
| Sampled Metric Counter 30 Register. More...
#define | XAPM_SMC31_OFFSET 0x00000870U
| Sampled Metric Counter 31 Register. More...
#define | XAPM_SMC32_OFFSET 0x00000880U
| Sampled Metric Counter 32 Register. More...
#define | XAPM_SMC33_OFFSET 0x00000890U
| Sampled Metric Counter 33 Register. More...
#define | XAPM_SMC34_OFFSET 0x000008A0U
| Sampled Metric Counter 34 Register. More...
#define | XAPM_SMC35_OFFSET 0x000008B0U
| Sampled Metric Counter 35 Register. More...
#define | XAPM_SMC36_OFFSET 0x00000A00U
| Sampled Metric Counter 36 Register. More...
#define | XAPM_SMC37_OFFSET 0x00000A10U
| Sampled Metric Counter 37 Register. More...
#define | XAPM_SMC38_OFFSET 0x00000A20U
| Sampled Metric Counter 38 Register. More...
#define | XAPM_SMC39_OFFSET 0x00000A30U
| Sampled Metric Counter 39 Register. More...
#define | XAPM_SMC40_OFFSET 0x00000A40U
| Sampled Metric Counter 40 Register. More...
#define | XAPM_SMC41_OFFSET 0x00000A50U
| Sampled Metric Counter 41 Register. More...
#define | XAPM_SMC42_OFFSET 0x00000A60U
| Sampled Metric Counter 42 Register. More...
#define | XAPM_SMC43_OFFSET 0x00000A70U
| Sampled Metric Counter 43 Register. More...
#define | XAPM_SMC44_OFFSET 0x00000A80U
| Sampled Metric Counter 44 Register. More...
#define | XAPM_SMC45_OFFSET 0x00000A90U
| Sampled Metric Counter 45 Register. More...
#define | XAPM_SMC46_OFFSET 0x00000AA0U
| Sampled Metric Counter 46 Register. More...
#define | XAPM_SMC47_OFFSET 0x00000AB0U
| Sampled Metric Counter 47 Register. More...
#define | XAPM_CTL_OFFSET 0x00000300U
| Control Register. More...
#define | XAPM_ID_OFFSET 0x00000304U
| Latency ID Register. More...
#define | XAPM_IDMASK_OFFSET 0x00000308U
| ID Mask Register. More...
#define | XAPM_RID_OFFSET 0x0000030CU
| Latency Write ID Register. More...
#define | XAPM_RIDMASK_OFFSET 0x00000310U
| Read ID Mask Register. More...
#define | XAPM_FEC_OFFSET 0x00000400U
| Flag Enable Control Register. More...
#define | XAPM_SWD_OFFSET 0x00000404U
| Software-written Data Register. More...

## AXI Monitor Sample Interval Control Register mask(s)
#define | XAPM_SICR_MCNTR_RST_MASK 0x00000100U
| Enable the Metric Counter Reset. More...
#define | XAPM_SICR_LOAD_MASK 0x00000002U
| Load the Sample Interval Register Value into the counter. More...
#define | XAPM_SICR_ENABLE_MASK 0x00000001U
| Enable the downcounter. More...

## Interrupt Status/Enable Register Bit Definitions and Masks
#define | XAPM_IXR_MC9_OVERFLOW_MASK 0x00001000U
| Metric Counter 9 Overflow> More...
#define | XAPM_IXR_MC8_OVERFLOW_MASK 0x00000800U
| Metric Counter 8 Overflow> More...
#define | XAPM_IXR_MC7_OVERFLOW_MASK 0x00000400U
| Metric Counter 7 Overflow> More...
#define | XAPM_IXR_MC6_OVERFLOW_MASK 0x00000200U
| Metric Counter 6 Overflow> More...
#define | XAPM_IXR_MC5_OVERFLOW_MASK 0x00000100U
| Metric Counter 5 Overflow> More...
#define | XAPM_IXR_MC4_OVERFLOW_MASK 0x00000080U
| Metric Counter 4 Overflow> More...
#define | XAPM_IXR_MC3_OVERFLOW_MASK 0x00000040U
| Metric Counter 3 Overflow> More...
#define | XAPM_IXR_MC2_OVERFLOW_MASK 0x00000020U
| Metric Counter 2 Overflow> More...
#define | XAPM_IXR_MC1_OVERFLOW_MASK 0x00000010U
| Metric Counter 1 Overflow> More...
#define | XAPM_IXR_MC0_OVERFLOW_MASK 0x00000008U
| Metric Counter 0 Overflow> More...
#define | XAPM_IXR_FIFO_FULL_MASK 0x00000004U
| Event Log FIFO full> More...
#define | XAPM_IXR_SIC_OVERFLOW_MASK 0x00000002U
| Sample Interval Counter Overflow> More...
#define | XAPM_IXR_GCC_OVERFLOW_MASK 0x00000001U
| Global Clock Counter Overflow> More...
#define | XAPM_IXR_ALL_MASK

## AXI Monitor Control Register mask(s)
#define | XAPM_CR_FIFO_RESET_MASK 0x02000000U
| FIFO Reset. More...
#define | XAPM_CR_GCC_RESET_MASK 0x00020000U
| Global Clk Counter Reset. More...
#define | XAPM_CR_GCC_ENABLE_MASK 0x00010000U
| Global Clk Counter Enable. More...
#define | XAPM_CR_EVTLOG_EXTTRIGGER_MASK 0x00000200U
     Enable External trigger
to start event Log More...
#define | XAPM_CR_EVENTLOG_ENABLE_MASK 0x00000100U
| Event Log Enable. More...
#define | XAPM_CR_RDLATENCY_END_MASK 0x00000080U
| Write Latency End point. More...
#define | XAPM_CR_RDLATENCY_START_MASK 0x00000040U
| Read Latency Start point. More...
#define | XAPM_CR_WRLATENCY_END_MASK 0x00000020U
| Write Latency End point. More...
#define | XAPM_CR_WRLATENCY_START_MASK 0x00000010U
| Write Latency Start point. More...
#define | XAPM_CR_IDFILTER_ENABLE_MASK 0x00000008U
| ID Filter Enable. More...
#define | XAPM_CR_MCNTR_EXTTRIGGER_MASK 0x00000004U
| Enable External trigger to start Metric Counters. More...
#define | XAPM_CR_MCNTR_RESET_MASK 0x00000002U
| Metrics Counter Reset. More...
#define | XAPM_CR_MCNTR_ENABLE_MASK 0x00000001U
| Metrics Counter Enable. More...

## AXI Monitor ID Register mask(s)
#define | XAPM_ID_RID_MASK 0xFFFF0000U
| Read ID. More...
#define | XAPM_ID_WID_MASK 0x0000FFFFU
| Write ID. More...

## AXI Monitor ID Mask Register mask(s)
#define | XAPM_MASKID_RID_MASK 0xFFFF0000U
| Read ID Mask. More...
#define | XAPM_MASKID_WID_MASK 0x0000FFFFU
| Write ID Mask. More...

## Macro Definition Documentation

#define XAPM_CR_EVENTLOG_ENABLE_MASK 0x00000100U

Event Log Enable.

Referenced by XAxiPmon_EnableEventLog(), XAxiPmon_StartEventLog(), and XAxiPmon_StopEventLog().

#define XAPM_CR_EVTLOG_EXTTRIGGER_MASK 0x00000200U

     Enable External trigger

to start event Log

Referenced by XAxiPmon_DisableEventLogTrigger(), and XAxiPmon_EnableEventLogTrigger().

#define XAPM_CR_FIFO_RESET_MASK 0x02000000U

FIFO Reset.

Referenced by XAxiPmon_ResetFifo().

#define XAPM_CR_GCC_ENABLE_MASK 0x00010000U

Global Clk Counter Enable.

Referenced by XAxiPmon_StartCounters(), and XAxiPmon_StopCounters().

#define XAPM_CR_GCC_RESET_MASK 0x00020000U

Global Clk Counter Reset.

Referenced by XAxiPmon_ResetGlobalClkCounter().

#define XAPM_CR_IDFILTER_ENABLE_MASK 0x00000008U

ID Filter Enable.

#define XAPM_CR_MCNTR_ENABLE_MASK 0x00000001U

Metrics Counter Enable.

Referenced by XAxiPmon_DisableMetricsCounter(), XAxiPmon_EnableMetricsCounter(), XAxiPmon_StartCounters(), and XAxiPmon_StopCounters().

#define XAPM_CR_MCNTR_EXTTRIGGER_MASK 0x00000004U

Enable External trigger to start Metric Counters.

Referenced by XAxiPmon_DisableMetricCounterTrigger(), and XAxiPmon_EnableMetricCounterTrigger().

#define XAPM_CR_MCNTR_RESET_MASK 0x00000002U

Metrics Counter Reset.

Referenced by XAxiPmon_ResetMetricCounter().

#define XAPM_CR_RDLATENCY_END_MASK 0x00000080U

Write Latency End point.

Referenced by XAxiPmon_GetRdLatencyEnd(), and XAxiPmon_SetRdLatencyEnd().

#define XAPM_CR_RDLATENCY_START_MASK 0x00000040U

Read Latency Start point.

Referenced by XAxiPmon_GetRdLatencyStart(), and XAxiPmon_SetRdLatencyStart().

#define XAPM_CR_WRLATENCY_END_MASK 0x00000020U

Write Latency End point.

Referenced by XAxiPmon_GetWrLatencyEnd(), and XAxiPmon_SetWrLatencyEnd().

#define XAPM_CR_WRLATENCY_START_MASK 0x00000010U

Write Latency Start point.

Referenced by XAxiPmon_GetWrLatencyStart(), and XAxiPmon_SetWrLatencyStart().

#define XAPM_CTL_OFFSET 0x00000300U

Control Register.

Referenced by XAxiPmon_DisableEventLogTrigger(), XAxiPmon_DisableMetricCounterTrigger(), XAxiPmon_DisableMetricsCounter(), XAxiPmon_EnableEventLog(), XAxiPmon_EnableEventLogTrigger(), XAxiPmon_EnableMetricCounterTrigger(), XAxiPmon_EnableMetricsCounter(), XAxiPmon_GetRdLatencyEnd(), XAxiPmon_GetRdLatencyStart(), XAxiPmon_GetWrLatencyEnd(), XAxiPmon_GetWrLatencyStart(), XAxiPmon_ResetFifo(), XAxiPmon_ResetGlobalClkCounter(), XAxiPmon_ResetMetricCounter(), XAxiPmon_SetRdLatencyEnd(), XAxiPmon_SetRdLatencyStart(), XAxiPmon_SetWrLatencyEnd(), XAxiPmon_SetWrLatencyStart(), XAxiPmon_StartCounters(), XAxiPmon_StartEventLog(), XAxiPmon_StopCounters(), and XAxiPmon_StopEventLog().

#define XAPM_FEC_OFFSET 0x00000400U

Flag Enable Control Register.

Referenced by XAxiPmon_StartEventLog().

#define XAPM_FLAG_EVENT 0x00020000

Last Read Flag.

#define XAPM_FLAG_EVNTSTART 0x00080000

Last Read Flag.

#define XAPM_FLAG_EVNTSTOP 0x00040000

Last Read Flag.

#define XAPM_FLAG_FIRSTRD 0x00000020

First Read Flag.

#define XAPM_FLAG_FIRSTWR 0x00000002

First Write Flag.

#define XAPM_FLAG_GCCOVF 0x00100000

Global Clock Counter Overflow Flag.

#define XAPM_FLAG_LASTRD 0x00000040

Last Read Flag.

#define XAPM_FLAG_LASTWR 0x00000004

Last Write Flag.

#define XAPM_FLAG_MC0 0x00400000U

Metric Counter 0 Flag.

#define XAPM_FLAG_MC1 0x00800000U

Metric Counter 1 Flag.

#define XAPM_FLAG_MC2 0x01000000U

Metric Counter 2 Flag.

#define XAPM_FLAG_MC3 0x02000000U

Metric Counter 3 Flag.

#define XAPM_FLAG_MC4 0x04000000U

Metric Counter 4 Flag.

#define XAPM_FLAG_MC5 0x08000000U

Metric Counter 5 Flag.

#define XAPM_FLAG_MC6 0x10000000U

Metric Counter 6 Flag.

#define XAPM_FLAG_MC7 0x20000000U

Metric Counter 7 Flag.

#define XAPM_FLAG_MC8 0x40000000U

Metric Counter 8 Flag.

#define XAPM_FLAG_MC9 0x80000000U

Metric Counter 9 Flag.

#define XAPM_FLAG_RDADDR 0x00000010

Read Address Flag.

#define XAPM_FLAG_RESPONSE 0x00000008

Response Flag.

#define XAPM_FLAG_SCLAPSE 0x00200000

Sample Counter Lapse Flag.

#define XAPM_FLAG_SWDATA 0x00010000

Software-written Data Flag.

#define XAPM_FLAG_WRADDR 0x00000001

Write Address Flag.

#define XAPM_GCC_HIGH_OFFSET 0x00000000U

Global Clock Counter 32 to 63 bits.

Referenced by XAxiPmon_GetGlobalClkCounter().

#define XAPM_GCC_LOW_OFFSET 0x00000004U

Global Clock Counter Lower 0-31 bits.

Referenced by XAxiPmon_GetGlobalClkCounter().

#define XAPM_GIE_OFFSET 0x00000030U

Global Interrupt Enable Register.

#define XAPM_ID_OFFSET 0x00000304U

Latency ID Register.

Referenced by XAxiPmon_GetReadId(), XAxiPmon_GetWriteId(), XAxiPmon_SetReadId(), and XAxiPmon_SetWriteId().

#define XAPM_ID_RID_MASK 0xFFFF0000U

Read ID.

Referenced by XAxiPmon_GetReadId(), and XAxiPmon_SetReadId().

#define XAPM_ID_WID_MASK 0x0000FFFFU

Write ID.

Referenced by XAxiPmon_GetWriteId(), and XAxiPmon_SetWriteId().

#define XAPM_IDMASK_OFFSET 0x00000308U

ID Mask Register.

Referenced by XAxiPmon_GetReadIdMask(), XAxiPmon_GetWriteIdMask(), XAxiPmon_SetReadIdMask(), and XAxiPmon_SetWriteIdMask().

#define XAPM_IE_OFFSET 0x00000034U

Interrupt Enable Register.

#define XAPM_INC0_OFFSET 0x00000104U

Incrementer 0 Register.

Referenced by XAxiPmon_GetIncrementer().

#define XAPM_INC1_OFFSET 0x00000114U

Incrementer 1 Register.

#define XAPM_INC2_OFFSET 0x00000124U

Incrementer 2 Register.

#define XAPM_INC3_OFFSET 0x00000134U

Incrementer 3 Register.

#define XAPM_INC4_OFFSET 0x00000144U

Incrementer 4 Register.

#define XAPM_INC5_OFFSET 0x00000154U

Incrementer 5 Register.

#define XAPM_INC6_OFFSET 0x00000164U

Incrementer 6 Register.

#define XAPM_INC7_OFFSET 0x00000174U

Incrementer 7 Register.

#define XAPM_INC8_OFFSET 0x00000184U

Incrementer 8 Register.

#define XAPM_INC9_OFFSET 0x00000194U

Incrementer 9 Register.

#define XAPM_INCREMENTER_0 0U

Metric Counter 0 Register Index.

Referenced by AxiPmonInterruptExample(), AxiPmonPolledExample(), and XAxiPmon_SelfTest().

#define XAPM_INCREMENTER_1 1U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_2 2U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_3 3U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_4 4U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_5 5U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_6 6U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_7 7U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_8 8U

Metric Counter 0 Register Index.

#define XAPM_INCREMENTER_9 9U

Metric Counter 0 Register Index.

#define XAPM_IS_OFFSET 0x00000038U

Interrupt Status Register.

#define XAPM_IXR_FIFO_FULL_MASK 0x00000004U

Event Log FIFO full>

#define XAPM_IXR_GCC_OVERFLOW_MASK 0x00000001U

Global Clock Counter Overflow>

#define XAPM_IXR_MC0_OVERFLOW_MASK 0x00000008U

Metric Counter 0 Overflow>

#define XAPM_IXR_MC1_OVERFLOW_MASK 0x00000010U

Metric Counter 1 Overflow>

#define XAPM_IXR_MC2_OVERFLOW_MASK 0x00000020U

Metric Counter 2 Overflow>

#define XAPM_IXR_MC3_OVERFLOW_MASK 0x00000040U

Metric Counter 3 Overflow>

#define XAPM_IXR_MC4_OVERFLOW_MASK 0x00000080U

Metric Counter 4 Overflow>

#define XAPM_IXR_MC5_OVERFLOW_MASK 0x00000100U

Metric Counter 5 Overflow>

#define XAPM_IXR_MC6_OVERFLOW_MASK 0x00000200U

Metric Counter 6 Overflow>

#define XAPM_IXR_MC7_OVERFLOW_MASK 0x00000400U

Metric Counter 7 Overflow>

#define XAPM_IXR_MC8_OVERFLOW_MASK 0x00000800U

Metric Counter 8 Overflow>

#define XAPM_IXR_MC9_OVERFLOW_MASK 0x00001000U

Metric Counter 9 Overflow>

#define XAPM_IXR_SIC_OVERFLOW_MASK 0x00000002U

Sample Interval Counter Overflow>

Referenced by AxiPmonInterruptExample().

#define XAPM_LATENCY_ADDR_ACCEPT 1U

Address Acceptance as start point for Latency calculation.

Referenced by XAxiPmon_GetRdLatencyStart(), XAxiPmon_GetWrLatencyStart(), XAxiPmon_SetRdLatencyStart(), and XAxiPmon_SetWrLatencyStart().

#define XAPM_LATENCY_ADDR_ISSUE 0U

Address Issue as start point for Latency calculation.

Referenced by XAxiPmon_GetRdLatencyStart(), and XAxiPmon_GetWrLatencyStart().

#define XAPM_LATENCY_FIRSTRD 1U

First Read as end point for Latency calculation.

Referenced by XAxiPmon_GetRdLatencyEnd(), and XAxiPmon_SetRdLatencyEnd().

#define XAPM_LATENCY_FIRSTWR 1U

First Write as end point for Latency calculation.

Referenced by XAxiPmon_GetWrLatencyEnd(), and XAxiPmon_SetWrLatencyEnd().

#define XAPM_LATENCY_LASTRD 0U

Last Read as end point for Latency calculation.

Referenced by XAxiPmon_GetRdLatencyEnd().

#define XAPM_LATENCY_LASTWR 0U

Last Write as end point for Latency calculation.

Referenced by XAxiPmon_GetWrLatencyEnd().

#define XAPM_MASKID_RID_MASK 0xFFFF0000U

Read ID Mask.

Referenced by XAxiPmon_GetReadIdMask(), and XAxiPmon_SetReadIdMask().

#define XAPM_MASKID_WID_MASK 0x0000FFFFU

Write ID Mask.

Referenced by XAxiPmon_GetWriteIdMask(), and XAxiPmon_SetWriteIdMask().

#define XAPM_MAX_AGENTS 8U

Maximum number of Agents.

Referenced by XAxiPmon_SetMetrics().

#define XAPM_MAX_COUNTERS 10U

Maximum number of Counters.

Referenced by XAxiPmon_GetIncrementer(), XAxiPmon_GetIncrementerRange(), XAxiPmon_GetLogEnableRanges(), XAxiPmon_GetMetrics(), XAxiPmon_GetSampledIncrementer(), XAxiPmon_SetIncrementerRange(), XAxiPmon_SetLogEnableRanges(), and XAxiPmon_SetMetrics().

#define XAPM_MAX_COUNTERS_PROFILE 48U

Maximum number of Counters.

Referenced by XAxiPmon_GetMetricCounter(), and XAxiPmon_GetSampledMetricCounter().

#define XAPM_MC0_OFFSET 0x00000100U

Metric Counter 0 Register.

Referenced by XAxiPmon_GetMetricCounter().

#define XAPM_MC0LOGEN_OFFSET 0x0000010CU

Metric Counter 0 Log Enable Register.

Referenced by XAxiPmon_GetLogEnableRanges(), and XAxiPmon_SetLogEnableRanges().

#define XAPM_MC10_OFFSET 0x000001A0U

Metric Counter 10 Register.

Referenced by XAxiPmon_GetMetricCounter().

#define XAPM_MC11_OFFSET 0x000001B0U

Metric Counter 11 Register.

#define XAPM_MC12_OFFSET 0x00000500U

Metric Counter 12 Register.

Referenced by XAxiPmon_GetMetricCounter().

#define XAPM_MC13_OFFSET 0x00000510U

Metric Counter 13 Register.

#define XAPM_MC14_OFFSET 0x00000520U

Metric Counter 14 Register.

#define XAPM_MC15_OFFSET 0x00000530U

Metric Counter 15 Register.

#define XAPM_MC16_OFFSET 0x00000540U

Metric Counter 16 Register.

#define XAPM_MC17_OFFSET 0x00000550U

Metric Counter 17 Register.

#define XAPM_MC18_OFFSET 0x00000560U

Metric Counter 18 Register.

#define XAPM_MC19_OFFSET 0x00000570U

Metric Counter 19 Register.

#define XAPM_MC1_OFFSET 0x00000110U

Metric Counter 1 Register.

#define XAPM_MC1LOGEN_OFFSET 0x0000011CU

Metric Counter 1 Log Enable Register.

#define XAPM_MC20_OFFSET 0x00000580U

Metric Counter 20 Register.

#define XAPM_MC21_OFFSET 0x00000590U

Metric Counter 21 Register.

#define XAPM_MC22_OFFSET 0x000005A0U

Metric Counter 22 Register.

#define XAPM_MC23_OFFSET 0x000005B0U

Metric Counter 23 Register.

#define XAPM_MC24_OFFSET 0x00000700U

Metric Counter 24 Register.

Referenced by XAxiPmon_GetMetricCounter().

#define XAPM_MC25_OFFSET 0x00000710U

Metric Counter 25 Register.

#define XAPM_MC26_OFFSET 0x00000720U

Metric Counter 26 Register.

#define XAPM_MC27_OFFSET 0x00000730U

Metric Counter 27 Register.

#define XAPM_MC28_OFFSET 0x00000740U

Metric Counter 28 Register.

#define XAPM_MC29_OFFSET 0x00000750U

Metric Counter 29 Register.

#define XAPM_MC2_OFFSET 0x00000120U

Metric Counter 2 Register.

#define XAPM_MC2LOGEN_OFFSET 0x0000012CU

Metric Counter 2 Log Enable Register.

#define XAPM_MC30_OFFSET 0x00000760U

Metric Counter 30 Register.

#define XAPM_MC31_OFFSET 0x00000770U

Metric Counter 31 Register.

#define XAPM_MC32_OFFSET 0x00000780U

Metric Counter 32 Register.

#define XAPM_MC33_OFFSET 0x00000790U

Metric Counter 33 Register.

#define XAPM_MC34_OFFSET 0x000007A0U

Metric Counter 34 Register.

#define XAPM_MC35_OFFSET 0x000007B0U

Metric Counter 35 Register.

#define XAPM_MC36_OFFSET 0x00000900U

Metric Counter 36 Register.

Referenced by XAxiPmon_GetMetricCounter().

#define XAPM_MC37_OFFSET 0x00000910U

Metric Counter 37 Register.

#define XAPM_MC38_OFFSET 0x00000920U

Metric Counter 38 Register.

#define XAPM_MC39_OFFSET 0x00000930U

Metric Counter 39 Register.

#define XAPM_MC3_OFFSET 0x00000130U

Metric Counter 3 Register.

#define XAPM_MC3LOGEN_OFFSET 0x0000013CU

Metric Counter 3 Log Enable Register.

#define XAPM_MC40_OFFSET 0x00000940U

Metric Counter 40 Register.

#define XAPM_MC41_OFFSET 0x00000950U

Metric Counter 41 Register.

#define XAPM_MC42_OFFSET 0x00000960U

Metric Counter 42 Register.

#define XAPM_MC43_OFFSET 0x00000970U

Metric Counter 43 Register.

#define XAPM_MC44_OFFSET 0x00000980U

Metric Counter 44 Register.

#define XAPM_MC45_OFFSET 0x00000990U

Metric Counter 45 Register.

#define XAPM_MC46_OFFSET 0x000009A0U

Metric Counter 46 Register.

#define XAPM_MC47_OFFSET 0x000009B0U

Metric Counter 47 Register.

#define XAPM_MC4_OFFSET 0x00000140U

Metric Counter 4 Register.

#define XAPM_MC4LOGEN_OFFSET 0x0000014CU

Metric Counter 4 Log Enable Register.

#define XAPM_MC5_OFFSET 0x00000150U

Metric Counter 5 Register.

#define XAPM_MC5LOGEN_OFFSET 0x0000015CU

Metric Counter 5 Log Enable Register.

#define XAPM_MC6_OFFSET 0x00000160U

Metric Counter 6 Register.

#define XAPM_MC6LOGEN_OFFSET 0x0000016CU

Metric Counter 6 Log Enable Register.

#define XAPM_MC7_OFFSET 0x00000170U

Metric Counter 7 Register.

#define XAPM_MC7LOGEN_OFFSET 0x0000017CU

Metric Counter 7 Log Enable Register.

#define XAPM_MC8_OFFSET 0x00000180U

Metric Counter 8 Register.

#define XAPM_MC8LOGEN_OFFSET 0x0000018CU

Metric Counter 8 Log Enable Register.

#define XAPM_MC9_OFFSET 0x00000190U

Metric Counter 9 Register.

#define XAPM_MC9LOGEN_OFFSET 0x0000019CU

Metric Counter 9 Log Enable Register.

#define XAPM_METRIC_COUNTER_0 0U

Metric Counter 0 Register Index.

Referenced by ApmMetricConfig(), AxiPmonInterruptExample(), AxiPmonPolledExample(), and OcmTransaction().

#define XAPM_METRIC_COUNTER_1 1U

Metric Counter 1 Register Index.

Referenced by ApmMetricConfig(), and OcmTransaction().

#define XAPM_METRIC_COUNTER_2 2U

Metric Counter 2 Register Index.

#define XAPM_METRIC_COUNTER_3 3U

Metric Counter 3 Register Index.

#define XAPM_METRIC_COUNTER_4 4U

Metric Counter 4 Register Index.

#define XAPM_METRIC_COUNTER_5 5U

Metric Counter 5 Register Index.

#define XAPM_METRIC_COUNTER_6 6U

Metric Counter 6 Register Index.

#define XAPM_METRIC_COUNTER_7 7U

Metric Counter 7 Register Index.

#define XAPM_METRIC_COUNTER_8 8U

Metric Counter 8 Register Index.

#define XAPM_METRIC_COUNTER_9 9U

Metric Counter 9 Register Index.

#define XAPM_METRIC_SET_0 0U

Write Transaction Count.

Referenced by AxiPmonInterruptExample(), AxiPmonPolledExample(), OcmTransaction(), and XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_1 1U

Read Transaction Count.

Referenced by OcmTransaction(), and XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_10 10U

Num_WLasts.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_11 11U

Num_RLasts.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_12 12U

Minimum Write Latency.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_13 13U

Maximum Write Latency.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_14 14U

Minimum Read Latency.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_15 15U

Maximum Read Latency.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_16 16U

Transfer Cycle Count.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_17 17U

Packet Count.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_18 18U

Data Byte Count.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_19 19U

Position Byte Count.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_2 2U

Write Byte Count.

Referenced by OcmTransaction(), and XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_20 20U

Null Byte Count.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_21 21U

Slv_Idle_Cnt.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_22 22U

Mst_Idle_Cnt.

Referenced by XAxiPmon_GetMetricName(), and XAxiPmon_SetMetrics().

#define XAPM_METRIC_SET_3 3U

Read Byte Count.

Referenced by OcmTransaction(), and XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_30 30U

External event count.

Referenced by XAxiPmon_GetMetricName(), and XAxiPmon_SetMetrics().

#define XAPM_METRIC_SET_4 4U

Write Beat Count.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_5 5U

Total Read Latency.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_6 6U

Total Write Latency.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_7 7U

Slv_Wr_Idle_Cnt.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_8 8U

Mst_Rd_Idle_Cnt.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_METRIC_SET_9 9U

Num_BValids.

Referenced by XAxiPmon_GetMetricName().

#define XAPM_MODE_ADVANCED 0U

APM in Advanced mode.

Referenced by XAxiPmon_CfgInitialize(), XAxiPmon_DisableMetricsCounter(), XAxiPmon_EnableEventLog(), XAxiPmon_EnableMetricsCounter(), XAxiPmon_GetGlobalClkCounter(), XAxiPmon_GetIncrementer(), XAxiPmon_GetIncrementerRange(), XAxiPmon_GetLogEnableRanges(), XAxiPmon_GetMetrics(), XAxiPmon_GetSampledIncrementer(), XAxiPmon_GetSampledMetricCounter(), XAxiPmon_ResetFifo(), XAxiPmon_ResetGlobalClkCounter(), XAxiPmon_SetIncrementerRange(), XAxiPmon_SetLogEnableRanges(), XAxiPmon_SetMetrics(), XAxiPmon_StartCounters(), XAxiPmon_StartEventLog(), XAxiPmon_StopCounters(), and XAxiPmon_StopEventLog().

#define XAPM_MODE_PROFILE 1U

APM in Profile mode.

Referenced by XAxiPmon_CfgInitialize(), XAxiPmon_DisableEventLogTrigger(), XAxiPmon_DisableMetricsCounter(), XAxiPmon_EnableEventLogTrigger(), XAxiPmon_EnableMetricsCounter(), XAxiPmon_GetSampledMetricCounter(), XAxiPmon_ResetFifo(), XAxiPmon_StartCounters(), and XAxiPmon_StopCounters().

#define XAPM_MODE_TRACE 2U

APM in Trace mode.

Referenced by XAxiPmon_CfgInitialize(), XAxiPmon_DisableMetricCounterTrigger(), XAxiPmon_EnableEventLog(), XAxiPmon_EnableMetricCounterTrigger(), XAxiPmon_GetMetricCounter(), XAxiPmon_GetSampledMetricCounter(), XAxiPmon_GetSampleInterval(), XAxiPmon_ResetMetricCounter(), XAxiPmon_SetSampleInterval(), XAxiPmon_StartEventLog(), and XAxiPmon_StopEventLog().

#define XAPM_MSR0_OFFSET 0x00000044U

Metric Selector 0 Register.

Referenced by XAxiPmon_GetMetrics(), and XAxiPmon_SetMetrics().

#define XAPM_MSR1_OFFSET 0x00000048U

Metric Selector 1 Register.

Referenced by XAxiPmon_GetMetrics(), and XAxiPmon_SetMetrics().

#define XAPM_MSR2_OFFSET 0x0000004CU

Metric Selector 2 Register.

Referenced by XAxiPmon_GetMetrics(), and XAxiPmon_SetMetrics().

#define XAPM_RANGE0_OFFSET 0x00000108U

Range 0 Register.

Referenced by XAxiPmon_GetIncrementerRange(), and XAxiPmon_SetIncrementerRange().

#define XAPM_RANGE1_OFFSET 0x00000118U

Range 1 Register.

#define XAPM_RANGE2_OFFSET 0x00000128U

Range 2 Register.

#define XAPM_RANGE3_OFFSET 0x00000138U

Range 3 Register.

#define XAPM_RANGE4_OFFSET 0x00000148U

Range 4 Register.

#define XAPM_RANGE5_OFFSET 0x00000158U

Range 5 Register.

#define XAPM_RANGE6_OFFSET 0x00000168U

Range 6 Register.

#define XAPM_RANGE7_OFFSET 0x00000178U

Range 7 Register.

#define XAPM_RANGE8_OFFSET 0x00000188U

Range 8 Register.

#define XAPM_RANGE9_OFFSET 0x00000198U

Range 9 Register.

#define XAPM_RID_OFFSET 0x0000030CU

Latency Write ID Register.

Referenced by XAxiPmon_GetReadId(), and XAxiPmon_SetReadId().

#define XAPM_RIDMASK_OFFSET 0x00000310U

Read ID Mask Register.

Referenced by XAxiPmon_GetReadIdMask(), and XAxiPmon_SetReadIdMask().

#define XAPM_SI_HIGH_OFFSET 0x00000020U

Sample Interval MSB.

#define XAPM_SI_LOW_OFFSET 0x00000024U

Sample Interval LSB.

Referenced by XAxiPmon_GetSampleInterval(), and XAxiPmon_SetSampleInterval().

#define XAPM_SICR_ENABLE_MASK 0x00000001U

Enable the downcounter.

#define XAPM_SICR_LOAD_MASK 0x00000002U

Load the Sample Interval Register Value into the counter.

#define XAPM_SICR_MCNTR_RST_MASK 0x00000100U

Enable the Metric Counter Reset.

#define XAPM_SICR_OFFSET 0x00000028U

Sample Interval Control Register.

#define XAPM_SINC0_OFFSET 0x00000204U

Sampled Incrementer 0 Register.

Referenced by XAxiPmon_GetSampledIncrementer().

#define XAPM_SINC1_OFFSET 0x00000214U

Sampled Incrementer 1 Register.

#define XAPM_SINC2_OFFSET 0x00000224U

Sampled Incrementer 2 Register.

#define XAPM_SINC3_OFFSET 0x00000234U

Sampled Incrementer 3 Register.

#define XAPM_SINC4_OFFSET 0x00000244U

Sampled Incrementer 4 Register.

#define XAPM_SINC5_OFFSET 0x00000254U

Sampled Incrementer 5 Register.

#define XAPM_SINC6_OFFSET 0x00000264U

Sampled Incrementer 6 Register.

#define XAPM_SINC7_OFFSET 0x00000274U

Sampled Incrementer 7 Register.

#define XAPM_SINC8_OFFSET 0x00000284U

Sampled Incrementer 8 Register.

#define XAPM_SINC9_OFFSET 0x00000294U

Sampled Incrementer 9 Register.

#define XAPM_SMC0_OFFSET 0x00000200U

Sampled Metric Counter 0 Register.

Referenced by XAxiPmon_GetSampledMetricCounter().

#define XAPM_SMC10_OFFSET 0x000002A0U

Sampled Metric Counter 10 Register.

Referenced by XAxiPmon_GetSampledMetricCounter().

#define XAPM_SMC11_OFFSET 0x000002B0U

Sampled Metric Counter 11 Register.

#define XAPM_SMC12_OFFSET 0x00000600U

Sampled Metric Counter 12 Register.

Referenced by XAxiPmon_GetSampledMetricCounter().

#define XAPM_SMC13_OFFSET 0x00000610U

Sampled Metric Counter 13 Register.

#define XAPM_SMC14_OFFSET 0x00000620U

Sampled Metric Counter 14 Register.

#define XAPM_SMC15_OFFSET 0x00000630U

Sampled Metric Counter 15 Register.

#define XAPM_SMC16_OFFSET 0x00000640U

Sampled Metric Counter 16 Register.

#define XAPM_SMC17_OFFSET 0x00000650U

Sampled Metric Counter 17 Register.

#define XAPM_SMC18_OFFSET 0x00000660U

Sampled Metric Counter 18 Register.

#define XAPM_SMC19_OFFSET 0x00000670U

Sampled Metric Counter 19 Register.

#define XAPM_SMC1_OFFSET 0x00000210U

Sampled Metric Counter 1 Register.

#define XAPM_SMC20_OFFSET 0x00000680U

Sampled Metric Counter 20 Register.

#define XAPM_SMC21_OFFSET 0x00000690U

Sampled Metric Counter 21 Register.

#define XAPM_SMC22_OFFSET 0x000006A0U

Sampled Metric Counter 22 Register.

#define XAPM_SMC23_OFFSET 0x000006B0U

Sampled Metric Counter 23 Register.

#define XAPM_SMC24_OFFSET 0x00000800U

Sampled Metric Counter 24 Register.

Referenced by XAxiPmon_GetSampledMetricCounter().

#define XAPM_SMC25_OFFSET 0x00000810U

Sampled Metric Counter 25 Register.

#define XAPM_SMC26_OFFSET 0x00000820U

Sampled Metric Counter 26 Register.

#define XAPM_SMC27_OFFSET 0x00000830U

Sampled Metric Counter 27 Register.

#define XAPM_SMC28_OFFSET 0x00000840U

Sampled Metric Counter 28 Register.

#define XAPM_SMC29_OFFSET 0x00000850U

Sampled Metric Counter 29 Register.

#define XAPM_SMC2_OFFSET 0x00000220U

Sampled Metric Counter 2 Register.

#define XAPM_SMC30_OFFSET 0x00000860U

Sampled Metric Counter 30 Register.

#define XAPM_SMC31_OFFSET 0x00000870U

Sampled Metric Counter 31 Register.

#define XAPM_SMC32_OFFSET 0x00000880U

Sampled Metric Counter 32 Register.

#define XAPM_SMC33_OFFSET 0x00000890U

Sampled Metric Counter 33 Register.

#define XAPM_SMC34_OFFSET 0x000008A0U

Sampled Metric Counter 34 Register.

#define XAPM_SMC35_OFFSET 0x000008B0U

Sampled Metric Counter 35 Register.

#define XAPM_SMC36_OFFSET 0x00000A00U

Sampled Metric Counter 36 Register.

Referenced by XAxiPmon_GetSampledMetricCounter().

#define XAPM_SMC37_OFFSET 0x00000A10U

Sampled Metric Counter 37 Register.

#define XAPM_SMC38_OFFSET 0x00000A20U

Sampled Metric Counter 38 Register.

#define XAPM_SMC39_OFFSET 0x00000A30U

Sampled Metric Counter 39 Register.

#define XAPM_SMC3_OFFSET 0x00000230U

Sampled Metric Counter 3 Register.

#define XAPM_SMC40_OFFSET 0x00000A40U

Sampled Metric Counter 40 Register.

#define XAPM_SMC41_OFFSET 0x00000A50U

Sampled Metric Counter 41 Register.

#define XAPM_SMC42_OFFSET 0x00000A60U

Sampled Metric Counter 42 Register.

#define XAPM_SMC43_OFFSET 0x00000A70U

Sampled Metric Counter 43 Register.

#define XAPM_SMC44_OFFSET 0x00000A80U

Sampled Metric Counter 44 Register.

#define XAPM_SMC45_OFFSET 0x00000A90U

Sampled Metric Counter 45 Register.

#define XAPM_SMC46_OFFSET 0x00000AA0U

Sampled Metric Counter 46 Register.

#define XAPM_SMC47_OFFSET 0x00000AB0U

Sampled Metric Counter 47 Register.

#define XAPM_SMC4_OFFSET 0x00000240U

Sampled Metric Counter 4 Register.

#define XAPM_SMC5_OFFSET 0x00000250U

Sampled Metric Counter 5 Register.

#define XAPM_SMC6_OFFSET 0x00000260U

Sampled Metric Counter 6 Register.

#define XAPM_SMC7_OFFSET 0x00000270U

Sampled Metric Counter 7 Register.

#define XAPM_SMC8_OFFSET 0x00000280U

Sampled Metric Counter 8 Register.

#define XAPM_SMC9_OFFSET 0x00000290U

Sampled Metric Counter 9 Register.

#define XAPM_SR_OFFSET 0x0000002CU

Sample Register.

#define XAPM_SWD_OFFSET 0x00000404U

Software-written Data Register.

Referenced by XAxiPmon_GetSwDataReg(), and XAxiPmon_SetSwDataReg().

#define XAPM_TEST_RANGELOWER_VALUE 8U

Test Value for Lower Range.

Referenced by XAxiPmon_SelfTest().

#define XAPM_TEST_RANGEUPPER_VALUE 16U

Test Value for Upper Range.

Referenced by XAxiPmon_SelfTest().

#define XAxiPmon_DisableFlag | ( |  | InstancePtr,
|  |  | Flag
| ) |  |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_FEC_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_FEC_OFFSET) & ~(Flag));
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_FEC_OFFSET
#define XAPM_FEC_OFFSET
Flag Enable Control Register.
Definition: xaxipmon_hw.h:476

This function disables the specified flag in Flag Control Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Flag | is one of the XAPM_FLAG_* masks defined in xaxipmon.h*

Returns
  None

Note
  C-Style signature: void XAxiPmon_DisableFlag(XAxiPmon *InstancePtr)

#define XAxiPmon_DisableGlobalClkCounter | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_CTL_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_CTL_OFFSET) & ~(XAPM_CR_GCC_ENABLE_MASK));
XAPM_CR_GCC_ENABLE_MASK
#define XAPM_CR_GCC_ENABLE_MASK
Global Clk Counter Enable.
Definition: xaxipmon_hw.h:572
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAPM_CTL_OFFSET
#define XAPM_CTL_OFFSET
Control Register.
Definition: xaxipmon_hw.h:466
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This function disbles the Global Clock Counter.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_DisableGlobalClkCounter(XAxiPmon *InstancePtr)

Referenced by AxiPmonPolledExample().

#define XAxiPmon_DisableIDFilter | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_CTL_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_CTL_OFFSET) & ~(XAPM_CR_IDFILTER_ENABLE_MASK));
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAPM_CTL_OFFSET
#define XAPM_CTL_OFFSET
Control Register.
Definition: xaxipmon_hw.h:466
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_CR_IDFILTER_ENABLE_MASK
#define XAPM_CR_IDFILTER_ENABLE_MASK
ID Filter Enable.
Definition: xaxipmon_hw.h:593

This function disbles the ID Filter masking.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_DisableIDFilter(XAxiPmon *InstancePtr)

#define XAxiPmon_DisableMetricCounterReset | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_SICR_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_SICR_OFFSET) & ~(XAPM_SICR_MCNTR_RST_MASK));
XAPM_SICR_MCNTR_RST_MASK
#define XAPM_SICR_MCNTR_RST_MASK
Enable the Metric Counter Reset.
Definition: xaxipmon_hw.h:491
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAPM_SICR_OFFSET
#define XAPM_SICR_OFFSET
Sample Interval Control Register.
Definition: xaxipmon_hw.h:91
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This disables the down count of the sample interval counter.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_DisableMetricCounterReset(XAxiPmon *InstancePtr)

#define XAxiPmon_DisableSampleIntervalCounter | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_SICR_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_SICR_OFFSET) & ~(XAPM_SICR_ENABLE_MASK));
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAPM_SICR_ENABLE_MASK
#define XAPM_SICR_ENABLE_MASK
Enable the downcounter.
Definition: xaxipmon_hw.h:499
XAPM_SICR_OFFSET
#define XAPM_SICR_OFFSET
Sample Interval Control Register.
Definition: xaxipmon_hw.h:91
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This disables the down count of the sample interval counter.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_DisableSampleIntervalCounter(XAxiPmon *InstancePtr)

Referenced by AxiPmonInterruptExample().

#define XAxiPmon_EnableFlag | ( |  | InstancePtr,
|  |  | Flag
| ) |  |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_FEC_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_FEC_OFFSET) | (Flag));
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_FEC_OFFSET
#define XAPM_FEC_OFFSET
Flag Enable Control Register.
Definition: xaxipmon_hw.h:476

This function enables the specified flag in Flag Control Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Flag | is one of the XAPM_FLAG_* masks defined in xaxipmon.h

Returns
  None

Note
  C-Style signature: void XAxiPmon_EnableFlag(XAxiPmon *InstancePtr)

#define XAxiPmon_EnableGlobalClkCounter | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_CTL_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_CTL_OFFSET) | XAPM_CR_GCC_ENABLE_MASK);
XAPM_CR_GCC_ENABLE_MASK
#define XAPM_CR_GCC_ENABLE_MASK
Global Clk Counter Enable.
Definition: xaxipmon_hw.h:572
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAPM_CTL_OFFSET
#define XAPM_CTL_OFFSET
Control Register.
Definition: xaxipmon_hw.h:466
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This function enables the Global Clock Counter.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_EnableGlobalClkCounter(XAxiPmon *InstancePtr)

Referenced by AxiPmonPolledExample().

#define XAxiPmon_EnableIDFilter | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_CTL_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_CTL_OFFSET) | XAPM_CR_IDFILTER_ENABLE_MASK);
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAPM_CTL_OFFSET
#define XAPM_CTL_OFFSET
Control Register.
Definition: xaxipmon_hw.h:466
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_CR_IDFILTER_ENABLE_MASK
#define XAPM_CR_IDFILTER_ENABLE_MASK
ID Filter Enable.
Definition: xaxipmon_hw.h:593

This function enables the ID Filter Masking.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_EnableIDFilter(XAxiPmon *InstancePtr)

#define XAxiPmon_EnableMetricCounterReset | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_SICR_OFFSET,\
XAPM_SICR_MCNTR_RST_MASK);
XAPM_SICR_MCNTR_RST_MASK
#define XAPM_SICR_MCNTR_RST_MASK
Enable the Metric Counter Reset.
Definition: xaxipmon_hw.h:491
XAPM_SICR_OFFSET
#define XAPM_SICR_OFFSET
Sample Interval Control Register.
Definition: xaxipmon_hw.h:91
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This enables Reset of Metric Counters when Sample Interval Counter lapses.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_EnableMetricCounterReset(XAxiPmon *InstancePtr)

#define XAxiPmon_EnableSampleIntervalCounter | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_SICR_OFFSET,\
XAPM_SICR_ENABLE_MASK);
XAPM_SICR_ENABLE_MASK
#define XAPM_SICR_ENABLE_MASK
Enable the downcounter.
Definition: xaxipmon_hw.h:499
XAPM_SICR_OFFSET
#define XAPM_SICR_OFFSET
Sample Interval Control Register.
Definition: xaxipmon_hw.h:91
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This enables the down count of the sample interval counter.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_EnableSampleIntervalCounter(XAxiPmon *InstancePtr)

Referenced by AxiPmonInterruptExample(), and XAxiPmon_StartCounters().

#define XAxiPmon_IntrClear | ( |  | InstancePtr,
|  |  | Mask
| ) |  |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_IS_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_IS_OFFSET) | (Mask));
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_IS_OFFSET
#define XAPM_IS_OFFSET
Interrupt Status Register.
Definition: xaxipmon_hw.h:99

This routine clears the specified interrupt(s).

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Mask | is the mask to clear. Bit positions of 1 will be cleared. This mask is formed by OR'ing XAPM_IXR_* bits defined in xaxipmon_hw.h.

Returns
  None.

Note
  C-Style signature: void XAxiPmon_IntrClear(XAxiPmon *InstancePtr, u32 Mask)

#define XAxiPmon_IntrDisable | ( |  | InstancePtr,
|  |  | Mask
| ) |  |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_IE_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_IE_OFFSET) | (Mask));
XAPM_IE_OFFSET
#define XAPM_IE_OFFSET
Interrupt Enable Register.
Definition: xaxipmon_hw.h:98
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This routine disable interrupt(s).

Use the XAPM_IXR_* constants defined in xaxipmon_hw.h to create the bit-mask to disable interrupts.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Mask | is the mask to disable. Bit positions of 1 will be disabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XAPM_IXR_* bits defined in xaxipmon_hw.h.

Returns
  None.

Note
  C-Style signature: void XAxiPmon_IntrEnable(XAxiPmon *InstancePtr, u32 Mask)

Referenced by AxiPmonInterruptExample().

#define XAxiPmon_IntrEnable | ( |  | InstancePtr,
|  |  | Mask
| ) |  |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_IE_OFFSET, \
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_IE_OFFSET) | (Mask));
XAPM_IE_OFFSET
#define XAPM_IE_OFFSET
Interrupt Enable Register.
Definition: xaxipmon_hw.h:98
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669

This routine enables interrupt(s).

Use the XAPM_IXR_* constants defined in xaxipmon_hw.h to create the bit-mask to enable interrupts.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Mask | is the mask to enable. Bit positions of 1 will be enabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XAPM_IXR__* bits defined in xaxipmon_hw.h.

Returns
  None.

Note
  C-Style signature: void XAxiPmon_IntrEnable(XAxiPmon *InstancePtr, u32 Mask)

Referenced by AxiPmonInterruptExample().

#define XAxiPmon_IntrGetStatus | ( |  | InstancePtr | ) |

Value:
XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, \
XAPM_IS_OFFSET);
XAxiPmon_ReadReg
#define XAxiPmon_ReadReg(BaseAddress, RegOffset)
Read a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:649
XAPM_IS_OFFSET
#define XAPM_IS_OFFSET
Interrupt Status Register.
Definition: xaxipmon_hw.h:99

This routine returns the Interrupt Status Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  Interrupt Status Register contents

Note
  C-Style signature: void XAxiPmon_IntrClear(XAxiPmon *InstancePtr)

#define XAxiPmon_IntrGlobalDisable | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, \
XAPM_GIE_OFFSET, 0)
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_GIE_OFFSET
#define XAPM_GIE_OFFSET
Global Interrupt Enable Register.
Definition: xaxipmon_hw.h:95

This routine disables the Global Interrupt.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None.

Note
  C-Style signature: void XAxiPmon_IntrGlobalDisable(XAxiPmon *InstancePtr)

Referenced by AxiPmonInterruptExample().

#define XAxiPmon_IntrGlobalEnable | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, \
XAPM_GIE_OFFSET, 1)
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_GIE_OFFSET
#define XAPM_GIE_OFFSET
Global Interrupt Enable Register.
Definition: xaxipmon_hw.h:95

This routine enables the Global Interrupt.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None.

Note
  C-Style signature: void XAxiPmon_IntrGlobalEnable(XAxiPmon *InstancePtr)

Referenced by AxiPmonInterruptExample().

#define XAxiPmon_LoadSampleIntervalCounter | ( |  | InstancePtr | ) |

Value:
XAxiPmon_WriteReg((InstancePtr)->Config.BaseAddress, XAPM_SICR_OFFSET, \
XAPM_SICR_LOAD_MASK);
XAPM_SICR_OFFSET
#define XAPM_SICR_OFFSET
Sample Interval Control Register.
Definition: xaxipmon_hw.h:91
XAxiPmon_WriteReg
#define XAxiPmon_WriteReg(BaseAddress, RegOffset, Data)
Write a register of the AXI Performance Monitor device.
Definition: xaxipmon_hw.h:669
XAPM_SICR_LOAD_MASK
#define XAPM_SICR_LOAD_MASK
Load the Sample Interval Register Value into the counter.
Definition: xaxipmon_hw.h:494

This function loads the sample interval register value into the sample interval counter.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  C-Style signature: void XAxiPmon_LoadSampleIntervalCounter(XAxiPmon *InstancePtr)

Referenced by AxiPmonInterruptExample(), and XAxiPmon_StartCounters().

#define XAxiPmon_ReadReg | ( |  | BaseAddress,
|  |  | RegOffset
| ) |  | (Xil_In32((BaseAddress) + (RegOffset)))

Read a register of the AXI Performance Monitor device.

This macro provides register access to all registers using the register offsets defined above.

Parameters

  BaseAddress | contains the base address of the device.
  RegOffset | is the offset of the register to read.

Returns
  The contents of the register.

Note
  C-style Signature: u32 XAxiPmon_ReadReg(u32 BaseAddress, u32 RegOffset);

Referenced by XAxiPmon_DisableEventLogTrigger(), XAxiPmon_DisableMetricCounterTrigger(), XAxiPmon_DisableMetricsCounter(), XAxiPmon_EnableEventLog(), XAxiPmon_EnableEventLogTrigger(), XAxiPmon_EnableMetricCounterTrigger(), XAxiPmon_EnableMetricsCounter(), XAxiPmon_GetGlobalClkCounter(), XAxiPmon_GetIncrementer(), XAxiPmon_GetIncrementerRange(), XAxiPmon_GetLogEnableRanges(), XAxiPmon_GetMetricCounter(), XAxiPmon_GetMetrics(), XAxiPmon_GetRdLatencyEnd(), XAxiPmon_GetRdLatencyStart(), XAxiPmon_GetReadId(), XAxiPmon_GetReadIdMask(), XAxiPmon_GetSampledIncrementer(), XAxiPmon_GetSampledMetricCounter(), XAxiPmon_GetSampleInterval(), XAxiPmon_GetSwDataReg(), XAxiPmon_GetWriteId(), XAxiPmon_GetWriteIdMask(), XAxiPmon_GetWrLatencyEnd(), XAxiPmon_GetWrLatencyStart(), XAxiPmon_ResetFifo(), XAxiPmon_ResetGlobalClkCounter(), XAxiPmon_ResetMetricCounter(), XAxiPmon_SetMetrics(), XAxiPmon_SetRdLatencyEnd(), XAxiPmon_SetRdLatencyStart(), XAxiPmon_SetReadId(), XAxiPmon_SetReadIdMask(), XAxiPmon_SetWriteId(), XAxiPmon_SetWriteIdMask(), XAxiPmon_SetWrLatencyEnd(), XAxiPmon_SetWrLatencyStart(), XAxiPmon_StartCounters(), XAxiPmon_StartEventLog(), XAxiPmon_StopCounters(), and XAxiPmon_StopEventLog().

#define XAxiPmon_SampleMetrics | ( |  | InstancePtr | ) | XAxiPmon_ReadReg((InstancePtr)->Config.BaseAddress, XAPM_SR_OFFSET);

This function samples Metric Counters to Sampled Metric Counters by reading Sample Register and also returns interval.

i.e. the number of clocks in between previous read to the current read of sample register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  Interval. i.e. the number of clocks in between previous read to the current read of sample register.

Note
  C-Style signature: u32 XAxiPmon_SampleMetrics(XAxiPmon *InstancePtr)

#define XAxiPmon_WriteReg | ( |  | BaseAddress,
|  |  | RegOffset,
|  |  | Data
| ) |  | (Xil_Out32((BaseAddress) + (RegOffset), (Data)))

Write a register of the AXI Performance Monitor device.

This macro provides register access to all registers using the register offsets defined above.

Parameters

  BaseAddress | contains the base address of the device.
  RegOffset | is the offset of the register to write.
  Data | is the value to write to the register.

Returns
  None.

Note
  C-style Signature: void XAxiPmon_WriteReg(u32 BaseAddress, u32 RegOffset,u32 Data)

Referenced by XAxiPmon_DisableEventLogTrigger(), XAxiPmon_DisableMetricCounterTrigger(), XAxiPmon_DisableMetricsCounter(), XAxiPmon_EnableEventLog(), XAxiPmon_EnableEventLogTrigger(), XAxiPmon_EnableMetricCounterTrigger(), XAxiPmon_EnableMetricsCounter(), XAxiPmon_ResetFifo(), XAxiPmon_ResetGlobalClkCounter(), XAxiPmon_ResetMetricCounter(), XAxiPmon_SetIncrementerRange(), XAxiPmon_SetLogEnableRanges(), XAxiPmon_SetMetrics(), XAxiPmon_SetRdLatencyEnd(), XAxiPmon_SetRdLatencyStart(), XAxiPmon_SetReadId(), XAxiPmon_SetReadIdMask(), XAxiPmon_SetSampleInterval(), XAxiPmon_SetSwDataReg(), XAxiPmon_SetWriteId(), XAxiPmon_SetWriteIdMask(), XAxiPmon_SetWrLatencyEnd(), XAxiPmon_SetWrLatencyStart(), XAxiPmon_StartCounters(), XAxiPmon_StartEventLog(), XAxiPmon_StopCounters(), and XAxiPmon_StopEventLog().

## Function Documentation

s32 XAxiPmon_CfgInitialize | ( | XAxiPmon * | InstancePtr,
|  | XAxiPmon_Config * | ConfigPtr,
|  | UINTPTR | EffectiveAddr
| ) |  |

This function initializes a specific XAxiPmon device/instance.

Functions in xaxipmon.c.

This function must be called prior to using the AXI Performance Monitor device.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  ConfigPtr | points to the XAxiPmon device configuration structure.
  EffectiveAddr | is the device base address in the virtual memory address space. If the address translation is not used then the physical address is passed. Unexpected errors may occur if the address mapping is changed after this function is invoked.

Returns
  - XST_SUCCESS if successful.

Note
  The user needs to first call the XAxiPmon_LookupConfig() API which returns the Configuration structure pointer which is passed as a parameter to the XAxiPmon_CfgInitialize() API.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::DeviceId, XAxiPmon_Config::FifoDepth, XAxiPmon_Config::FifoWidth, XAxiPmon_Config::GlobalClkCounterWidth, XAxiPmon_Config::HaveSampledCounters, XAxiPmon_Config::Is32BitFiltering, XAxiPmon_Config::IsEventCount, XAxiPmon_Config::IsEventLog, XAxiPmon::IsReady, XAxiPmon_Config::MetricSampleCounterWidth, XAxiPmon::Mode, XAxiPmon_Config::ModeAdvanced, XAxiPmon_Config::ModeProfile, XAxiPmon_Config::ModeTrace, XAxiPmon_Config::NumberofCounters, XAxiPmon_Config::NumberofSlots, XAxiPmon_Config::ScaleFactor, XAxiPmon_Config::TidWidth, XAPM_MODE_ADVANCED, XAPM_MODE_PROFILE, XAPM_MODE_TRACE, XAxiPmon_ResetFifo(), XAxiPmon_ResetGlobalClkCounter(), and XAxiPmon_ResetMetricCounter().

Referenced by AxiPmonInterruptExample(), AxiPmonPolledExample(), and main().

void XAxiPmon_DisableEventLogTrigger | ( | XAxiPmon * | InstancePtr | ) |

This function disables the External trigger pulse used to start Event Log on external trigger pulse for a Slot.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_EVTLOG_EXTTRIGGER_MASK, XAPM_CTL_OFFSET, XAPM_MODE_PROFILE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_DisableMetricCounterTrigger | ( | XAxiPmon * | InstancePtr | ) |

This function disables the External trigger pulse used to start Metric Counters on external trigger pulse for a Slot.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_MCNTR_EXTTRIGGER_MASK, XAPM_CTL_OFFSET, XAPM_MODE_TRACE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_DisableMetricsCounter | ( | XAxiPmon * | InstancePtr | ) |

This function disables the Metric Counters.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_MCNTR_ENABLE_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_PROFILE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

Referenced by AxiPmonInterruptExample(), AxiPmonPolledExample(), and main().

void XAxiPmon_EnableEventLog | ( | XAxiPmon * | InstancePtr | ) |

This function enables Event Logging.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventLog, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_EVENTLOG_ENABLE_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_TRACE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_EnableEventLogTrigger | ( | XAxiPmon * | InstancePtr | ) |

This function enables External trigger pulse for Event Log so that Event Logging can be started on external trigger pulse for a Slot.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_EVTLOG_EXTTRIGGER_MASK, XAPM_CTL_OFFSET, XAPM_MODE_PROFILE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_EnableMetricCounterTrigger | ( | XAxiPmon * | InstancePtr | ) |

This function enables External trigger pulse so that Metric Counters can be started on external trigger pulse for a Slot.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_MCNTR_EXTTRIGGER_MASK, XAPM_CTL_OFFSET, XAPM_MODE_TRACE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_EnableMetricsCounter | ( | XAxiPmon * | InstancePtr | ) |

This function enables Metric Counters.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_MCNTR_ENABLE_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_PROFILE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

Referenced by ApmMetricConfig(), AxiPmonInterruptExample(), and AxiPmonPolledExample().

void XAxiPmon_GetGlobalClkCounter | ( | XAxiPmon * | InstancePtr,
|  | u32 * | CntHighValue,
|  | u32 * | CntLowValue
| ) |  |

This function returns the contents of the Global Clock Counter Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  CntHighValue | is the user space pointer with which upper 32 bits of Global Clock Counter has to be filled
  CntLowValue | is the user space pointer with which lower 32 bits of Global Clock Counter has to be filled

Returns
  None.

Note
  None.

References XAxiPmon::Config, XAxiPmon_Config::GlobalClkCounterWidth, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_GCC_HIGH_OFFSET, XAPM_GCC_LOW_OFFSET, XAPM_MODE_ADVANCED, and XAxiPmon_ReadReg.

Referenced by AxiPmonPolledExample().

u32 XAxiPmon_GetIncrementer | ( | XAxiPmon * | InstancePtr,
|  | u32 | IncrementerNum
| ) |  |

This function returns the contents of the Incrementer Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  IncrementerNum | is the number of the Incrementer register to read.Use the XAPM_INCREMENTER_* defines for the Incrementer number.The valid values are 0 (XAPM_INCREMENTER_0) to 9 (XAPM_INCREMENTER_9).
  IncrementerNum | is the number of the specified Incrementer register

Returns
  RegValue is content of specified Metric Incrementer register.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_INC0_OFFSET, XAPM_MAX_COUNTERS, XAPM_MODE_ADVANCED, and XAxiPmon_ReadReg.

void XAxiPmon_GetIncrementerRange | ( | XAxiPmon * | InstancePtr,
|  | u8 | IncrementerNum,
|  | u16 * | RangeUpper,
|  | u16 * | RangeLower
| ) |  |

This function returns the Ranges of Incrementers Registers.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  IncrementerNum | specifies the Incrementer for which Ranges need to be returned.
  RangeUpper | specifies the user reference variable which returns the Upper Range Value of the specified Incrementer.
  RangeLower | specifies the user reference variable which returns the Lower Range Value of the specified Incrementer.

Returns
  None.

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS, XAPM_MODE_ADVANCED, XAPM_RANGE0_OFFSET, and XAxiPmon_ReadReg.

Referenced by XAxiPmon_SelfTest().

void XAxiPmon_GetLogEnableRanges | ( | XAxiPmon * | InstancePtr,
|  | u32 | CounterNum,
|  | u16 * | RangeUpper,
|  | u16 * | RangeLower
| ) |  |

This function returns the Ranges of specified Metric Counter Log Enable Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  CounterNum | is the Metric Counter number for which Ranges are to be returned.Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 9 (XAPM_METRIC_COUNTER_9).
  RangeUpper | specifies the user reference variable which returns the Upper Range Value of the specified Metric Counter Log Enable Register.
  RangeLower | specifies the user reference variable which returns the Lower Range Value of the specified Metric Counter Log Enable Register.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS, XAPM_MC0LOGEN_OFFSET, XAPM_MODE_ADVANCED, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetMetricCounter | ( | XAxiPmon * | InstancePtr,
|  | u32 | CounterNum
| ) |  |

This function returns the contents of the Metric Counter Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  CounterNum | is the number of the Metric Counter to be read. Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 47(XAPM_METRIC_COUNTER_47).

Returns
  RegValue is the content of specified Metric Counter.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS_PROFILE, XAPM_MC0_OFFSET, XAPM_MC10_OFFSET, XAPM_MC12_OFFSET, XAPM_MC24_OFFSET, XAPM_MC36_OFFSET, XAPM_MODE_TRACE, and XAxiPmon_ReadReg.

Referenced by AxiPmonPolledExample(), and ReadMetrics().

const char * XAxiPmon_GetMetricName | ( | u8 | Metrics | ) |

This function returns a name for a given Metric.

Parameters

  Metrics | is one of the Metric Sets. User has to use XAPM_METRIC_SET_* macros in xaxipmon.h for this parameter

Returns
  const char *

Note
  None

References XAPM_METRIC_SET_0, XAPM_METRIC_SET_1, XAPM_METRIC_SET_10, XAPM_METRIC_SET_11, XAPM_METRIC_SET_12, XAPM_METRIC_SET_13, XAPM_METRIC_SET_14, XAPM_METRIC_SET_15, XAPM_METRIC_SET_16, XAPM_METRIC_SET_17, XAPM_METRIC_SET_18, XAPM_METRIC_SET_19, XAPM_METRIC_SET_2, XAPM_METRIC_SET_20, XAPM_METRIC_SET_21, XAPM_METRIC_SET_22, XAPM_METRIC_SET_3, XAPM_METRIC_SET_30, XAPM_METRIC_SET_4, XAPM_METRIC_SET_5, XAPM_METRIC_SET_6, XAPM_METRIC_SET_7, XAPM_METRIC_SET_8, and XAPM_METRIC_SET_9.

s32 XAxiPmon_GetMetrics | ( | XAxiPmon * | InstancePtr,
|  | u8 | CounterNum,
|  | u8 * | Metrics,
|  | u8 * | Slot
| ) |  |

This function returns Metrics in the specified Counter from the corresponding Metric Selector Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  CounterNum | is the Counter Number. The valid values are 0 to 9.
  Metrics | is a reference parameter from application where metrics of specified counter is filled.
  Slot | is a reference parameter in which slot Id of specified counter is filled

Returns
  XST_SUCCESS if Success XST_FAILURE if Failure

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS, XAPM_MODE_ADVANCED, XAPM_MSR0_OFFSET, XAPM_MSR1_OFFSET, XAPM_MSR2_OFFSET, and XAxiPmon_ReadReg.

u8 XAxiPmon_GetRdLatencyEnd | ( | XAxiPmon * | InstancePtr | ) |

This function returns Read Latency End point.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  Returns 0 - XAPM_LATENCY_LASTRD or 1 - XAPM_LATENCY_FIRSTRD.

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_RDLATENCY_END_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_FIRSTRD, XAPM_LATENCY_LASTRD, and XAxiPmon_ReadReg.

u8 XAxiPmon_GetRdLatencyStart | ( | XAxiPmon * | InstancePtr | ) |

This function returns read Latency Start point.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  Returns 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_RDLATENCY_START_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_ADDR_ACCEPT, XAPM_LATENCY_ADDR_ISSUE, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetReadId | ( | XAxiPmon * | InstancePtr | ) |

This function returns Read ID in ID register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  ReadId is the required Read ID in ID register.

Note
  None. If ID filtering for write is of 32 bits(for Zynq MP APM) width then 32 bit XAPM_RID_OFFSET contents are returned or if it is 16 bit width then higher 16 bits of XAPM_ID_OFFSET register are returned.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_ID_OFFSET, XAPM_ID_RID_MASK, XAPM_RID_OFFSET, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetReadIdMask | ( | XAxiPmon * | InstancePtr | ) |

This function returns Read ID Mask in ID Mask register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  RdMask is the required Read ID Mask in ID Mask register.

Note
  If ID masking for read is of 32 bits(for Zynq MP APM) width then 32 bit XAPM_RIDMASK_OFFSET contents are returned or if it is 16 bit width then higher 16 bits of XAPM_IDMASK_OFFSET register are returned.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_IDMASK_OFFSET, XAPM_MASKID_RID_MASK, XAPM_RIDMASK_OFFSET, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetSampledIncrementer | ( | XAxiPmon * | InstancePtr,
|  | u32 | IncrementerNum
| ) |  |

This function returns the contents of the Sampled Incrementer Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  IncrementerNum | is the number of the Sampled Incrementer register to read.Use the XAPM_INCREMENTER_* defines for the Incrementer number.The valid values are 0 (XAPM_INCREMENTER_0) to 9 (XAPM_INCREMENTER_9).
  IncrementerNum | is the number of the specified Sampled Incrementer register

Returns
  RegValue is content of specified Sampled Incrementer register.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::HaveSampledCounters, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS, XAPM_MODE_ADVANCED, XAPM_SINC0_OFFSET, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetSampledMetricCounter | ( | XAxiPmon * | InstancePtr,
|  | u32 | CounterNum
| ) |  |

This function returns the contents of the Sampled Metric Counter Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  CounterNum | is the number of the Sampled Metric Counter to read. Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 47(XAPM_METRIC_COUNTER_47).

Returns
  RegValue is the content of specified Sampled Metric Counter.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::HaveSampledCounters, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS_PROFILE, XAPM_MODE_ADVANCED, XAPM_MODE_PROFILE, XAPM_MODE_TRACE, XAPM_SMC0_OFFSET, XAPM_SMC10_OFFSET, XAPM_SMC12_OFFSET, XAPM_SMC24_OFFSET, XAPM_SMC36_OFFSET, and XAxiPmon_ReadReg.

Referenced by AxiPmonInterruptExample().

void XAxiPmon_GetSampleInterval | ( | XAxiPmon * | InstancePtr,
|  | u32 * | SampleInterval
| ) |  |

This function returns the contents of Sample Interval Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  SampleInterval | is a pointer where the Sample Interval Counter value is returned.

Returns
  None.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MODE_TRACE, XAPM_SI_LOW_OFFSET, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetSwDataReg | ( | XAxiPmon * | InstancePtr | ) |

This function returns contents of Software-written Data Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  SwData.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_SWD_OFFSET, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetWriteId | ( | XAxiPmon * | InstancePtr | ) |

This function returns Write ID in ID register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  WriteId is the required Write ID in ID register.

Note
  None. If ID filtering for write is of 32 bits(for Zynq MP APM) width then 32 bit XAPM_ID_OFFSET contents are returned or if it is 16 bit width then lower 16 bits of XAPM_ID_OFFSET register are returned.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_ID_OFFSET, XAPM_ID_WID_MASK, and XAxiPmon_ReadReg.

u32 XAxiPmon_GetWriteIdMask | ( | XAxiPmon * | InstancePtr | ) |

This function returns Write ID Mask in ID Mask register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  WrMask is the required Write ID Mask in ID Mask register.

Note
  If ID masking for write is of 32 bits(for Zynq MP APM) width then 32 bit XAPM_IDMASK_OFFSET contents are returned or if it is 16 bit width then lower 16 bits of XAPM_IDMASK_OFFSET register are returned.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_IDMASK_OFFSET, XAPM_MASKID_WID_MASK, and XAxiPmon_ReadReg.

u8 XAxiPmon_GetWrLatencyEnd | ( | XAxiPmon * | InstancePtr | ) |

This function returns Write Latency End point.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  Returns 0 - XAPM_LATENCY_LASTWR or 1 - XAPM_LATENCY_FIRSTWR.

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_WRLATENCY_END_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_FIRSTWR, XAPM_LATENCY_LASTWR, and XAxiPmon_ReadReg.

u8 XAxiPmon_GetWrLatencyStart | ( | XAxiPmon * | InstancePtr | ) |

This function returns Write Latency Start point.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  Returns 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_WRLATENCY_START_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_ADDR_ACCEPT, XAPM_LATENCY_ADDR_ISSUE, and XAxiPmon_ReadReg.

XAxiPmon_Config * XAxiPmon_LookupConfig | ( | u16 | DeviceId | ) |

Functions in xaxipmon_sinit.c.

This function looks up the device configuration based on the unique device ID.

The table XAxiPmon_ConfigTable contains the configuration info for each device in the system.

Parameters

  DeviceId | contains the ID of the device for which the device configuration pointer is to be returned.

Returns
  - A pointer to the configuration found.
  - NULL if the specified device ID was not found.

Note
  None.

Referenced by AxiPmonInterruptExample(), AxiPmonPolledExample(), and main().

s32 XAxiPmon_ResetFifo | ( | XAxiPmon * | InstancePtr | ) |

This function resets Streaming FIFO of AXI Performance Monitor.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  XST_SUCCESS

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventLog, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_FIFO_RESET_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_PROFILE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

Referenced by XAxiPmon_CfgInitialize().

void XAxiPmon_ResetGlobalClkCounter | ( | XAxiPmon * | InstancePtr | ) |

This function resets Global Clock Counter of AXI Performance Monitor.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  None.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_GCC_RESET_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

Referenced by ApmMetricConfig(), XAxiPmon_CfgInitialize(), and XAxiPmon_SelfTest().

s32 XAxiPmon_ResetMetricCounter | ( | XAxiPmon * | InstancePtr | ) |

This function resets all Metric Counters and Sampled Metric Counters of AXI Performance Monitor.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  XST_SUCCESS

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_MCNTR_RESET_MASK, XAPM_CTL_OFFSET, XAPM_MODE_TRACE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

Referenced by ApmMetricConfig(), XAxiPmon_CfgInitialize(), and XAxiPmon_SelfTest().

s32 XAxiPmon_SelfTest | ( | XAxiPmon * | InstancePtr | ) |

Functions in xaxipmon_selftest.c.

Run a self-test on the driver/device.

The test

- Resets the device,
- Writes a value into the Range Registers of Incrementer 0 and reads it back for comparison.
- Resets the device again.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  - XST_SUCCESS if the value read from the Range Register of Incrementer 0 is the same as the value written.
  - XST_FAILURE Otherwise

Note
  This is a destructive test in that resets of the device are performed. Refer to the device specification for the device status after the reset operation.

References XAxiPmon::IsReady, XAPM_INCREMENTER_0, XAPM_TEST_RANGELOWER_VALUE, XAPM_TEST_RANGEUPPER_VALUE, XAxiPmon_GetIncrementerRange(), XAxiPmon_ResetGlobalClkCounter(), XAxiPmon_ResetMetricCounter(), and XAxiPmon_SetIncrementerRange().

Referenced by AxiPmonInterruptExample(), and AxiPmonPolledExample().

void XAxiPmon_SetIncrementerRange | ( | XAxiPmon * | InstancePtr,
|  | u8 | IncrementerNum,
|  | u16 | RangeUpper,
|  | u16 | RangeLower
| ) |  |

This function sets Ranges for Incrementers depending on parameters passed.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  IncrementerNum | specifies the Incrementer for which Ranges need to be set
  RangeUpper | specifies the Upper limit in 32 bit Register
  RangeLower | specifies the Lower limit in 32 bit Register

Returns
  None.

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS, XAPM_MODE_ADVANCED, XAPM_RANGE0_OFFSET, and XAxiPmon_WriteReg.

Referenced by AxiPmonInterruptExample(), AxiPmonPolledExample(), and XAxiPmon_SelfTest().

void XAxiPmon_SetLogEnableRanges | ( | XAxiPmon * | InstancePtr,
|  | u32 | CounterNum,
|  | u16 | RangeUpper,
|  | u16 | RangeLower
| ) |  |

This function sets the Upper and Lower Ranges for specified Metric Counter Log Enable Register.Event Logging starts when corresponding Metric Counter value falls in between these ranges.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  CounterNum | is the Metric Counter number for which Ranges are to be assigned.Use the XAPM_METRIC_COUNTER* defines for the counter number in xaxipmon.h. The valid values are 0 (XAPM_METRIC_COUNTER_0) to 9 (XAPM_METRIC_COUNTER_9).
  RangeUpper | specifies the Upper limit in 32 bit Register
  RangeLower | specifies the Lower limit in 32 bit Register

Returns
  None

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_COUNTERS, XAPM_MC0LOGEN_OFFSET, XAPM_MODE_ADVANCED, and XAxiPmon_WriteReg.

s32 XAxiPmon_SetMetrics | ( | XAxiPmon * | InstancePtr,
|  | u8 | Slot,
|  | u8 | Metrics,
|  | u8 | CounterNum
| ) |  |

This function sets Metrics for specified Counter in the corresponding Metric Selector Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Slot | is the slot ID for which specified counter has to be connected.
  Metrics | is one of the Metric Sets. User has to use XAPM_METRIC_SET_* macros in xaxipmon.h for this parameter
  CounterNum | is the Counter Number. The valid values are 0 to 9.

Returns
  XST_SUCCESS if Success XST_FAILURE if Failure

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MAX_AGENTS, XAPM_MAX_COUNTERS, XAPM_METRIC_SET_22, XAPM_METRIC_SET_30, XAPM_MODE_ADVANCED, XAPM_MSR0_OFFSET, XAPM_MSR1_OFFSET, XAPM_MSR2_OFFSET, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

Referenced by ApmMetricConfig(), AxiPmonInterruptExample(), and AxiPmonPolledExample().

void XAxiPmon_SetRdLatencyEnd | ( | XAxiPmon * | InstancePtr,
|  | u8 | Param
| ) |  |

This function sets Latency End point to calculate read latency.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Param | is XAPM_LATENCY_LASTRD or XAPM_LATENCY_FIRSTRD in xaxipmon.h.

Returns
  None

Note
  Param can be 0 - XAPM_LATENCY_LASTRD or 1 - XAPM_LATENCY_FIRSTRD

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_RDLATENCY_END_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_FIRSTRD, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_SetRdLatencyStart | ( | XAxiPmon * | InstancePtr,
|  | u8 | Param
| ) |  |

This function sets Latency Start point to calculate read latency.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Param | is XAPM_LATENCY_ADDR_ISSUE or XAPM_LATENCY_ADDR_ACCEPT in xaxipmon.h.

Returns
  None

Note
  Param can be 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_RDLATENCY_START_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_ADDR_ACCEPT, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_SetReadId | ( | XAxiPmon * | InstancePtr,
|  | u32 | ReadId
| ) |  |

This function sets Read ID in ID register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  ReadId | is the Read ID to be written in ID register.

Returns
  None.

Note
  If ID filtering for read is of 32 bits(for Zynq MP APM) width then ReadId is written to XAPM_RID_OFFSET or if it is 16 bit width then lower 16 bits of ReadId are written to XAPM_ID_OFFSET.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_ID_OFFSET, XAPM_ID_RID_MASK, XAPM_RID_OFFSET, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_SetReadIdMask | ( | XAxiPmon * | InstancePtr,
|  | u32 | RdMask
| ) |  |

This function sets Read ID Mask in ID Mask register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  RdMask | is the Read ID mask to be written in ID Mask register.

Returns
  None.

Note
  If ID masking for read is of 32 bits(for Zynq MP APM) width then RdMask is written to XAPM_RIDMASK_OFFSET or if it is 16 bit width then lower 16 bits of RdMask are written to XAPM_IDMASK_OFFSET.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_IDMASK_OFFSET, XAPM_MASKID_RID_MASK, XAPM_RIDMASK_OFFSET, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_SetSampleInterval | ( | XAxiPmon * | InstancePtr,
|  | u32 | SampleInterval
| ) |  |

This function sets the Sample Interval Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  SampleInterval | is the Sample Interval value to be set

Returns
  None

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_MODE_TRACE, XAPM_SI_LOW_OFFSET, and XAxiPmon_WriteReg.

Referenced by AxiPmonInterruptExample(), and XAxiPmon_StartCounters().

void XAxiPmon_SetSwDataReg | ( | XAxiPmon * | InstancePtr,
|  | u32 | SwData
| ) |  |

This function sets Software-written Data Register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  SwData | is the Software written Data.

Returns
  None.

Note
  None.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_SWD_OFFSET, and XAxiPmon_WriteReg.

void XAxiPmon_SetWriteId | ( | XAxiPmon * | InstancePtr,
|  | u32 | WriteId
| ) |  |

This function sets Write ID in ID register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  WriteId | is the Write ID to be written in ID register.

Returns
  None.

Note
  If ID filtering for write is of 32 bits(for Zynq MP APM) width then WriteID is written to XAPM_ID_OFFSET or if it is 16 bit width then lower 16 bits of WriteID are written to XAPM_ID_OFFSET.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_ID_OFFSET, XAPM_ID_WID_MASK, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_SetWriteIdMask | ( | XAxiPmon * | InstancePtr,
|  | u32 | WrMask
| ) |  |

This function sets Write ID Mask in ID Mask register.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  WrMask | is the Write ID mask to be written in ID register.

Returns
  None.

Note
  If ID masking for write is of 32 bits(for Zynq MP APM) width then WrMask is written to XAPM_IDMASK_OFFSET or if it is 16 bit width then lower 16 bits of WrMask are written to XAPM_IDMASK_OFFSET.

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::Is32BitFiltering, XAxiPmon::IsReady, XAPM_IDMASK_OFFSET, XAPM_MASKID_WID_MASK, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_SetWrLatencyEnd | ( | XAxiPmon * | InstancePtr,
|  | u8 | Param
| ) |  |

This function sets Latency End point to calculate write latency.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Param | is XAPM_LATENCY_LASTWR or XAPM_LATENCY_FIRSTWR in xaxipmon.h.

Returns
  None

Note
  Param can be 0 - XAPM_LATENCY_LASTWR or 1 - XAPM_LATENCY_FIRSTWR

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_WRLATENCY_END_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_FIRSTWR, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

void XAxiPmon_SetWrLatencyStart | ( | XAxiPmon * | InstancePtr,
|  | u8 | Param
| ) |  |

This function sets Latency Start point to calculate write latency.

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  Param | is XAPM_LATENCY_ADDR_ISSUE or XAPM_LATENCY_ADDR_ACCEPT in xaxipmon.h.

Returns
  None

Note
  Param can be 0 - XAPM_LATENCY_ADDR_ISSUE or 1 - XAPM_LATENCY_ADDR_ACCEPT

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon::IsReady, XAPM_CR_WRLATENCY_START_MASK, XAPM_CTL_OFFSET, XAPM_LATENCY_ADDR_ACCEPT, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

s32 XAxiPmon_StartCounters | ( | XAxiPmon * | InstancePtr,
|  | u32 | SampleInterval
| ) |  |

This function enables the following in the AXI Performance Monitor:

- Global clock counter
- All metric counters
- All sampled metric counters

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  SampleInterval | is the sample interval for the sampled metric counters

Returns
  XST_SUCCESS

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_GCC_ENABLE_MASK, XAPM_CR_MCNTR_ENABLE_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_PROFILE, XAxiPmon_EnableSampleIntervalCounter, XAxiPmon_LoadSampleIntervalCounter, XAxiPmon_ReadReg, XAxiPmon_SetSampleInterval(), and XAxiPmon_WriteReg.

Referenced by ApmMetricConfig().

s32 XAxiPmon_StartEventLog | ( | XAxiPmon * | InstancePtr,
|  | u32 | FlagEnables
| ) |  |

This function enables the following in the AXI Performance Monitor:

- Event logging

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.
  FlagEnables | is a value to write to the flag enables register defined by XAPM_FEC_OFFSET. It is recommended to use the XAPM_FEC_*_MASK mask bits to generate. A value of 0x0 will disable all events to the event log streaming FIFO.

Returns
  XST_SUCCESS

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventLog, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_EVENTLOG_ENABLE_MASK, XAPM_CTL_OFFSET, XAPM_FEC_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_TRACE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

s32 XAxiPmon_StopCounters | ( | XAxiPmon * | InstancePtr | ) |

This function disables the following in the AXI Performance Monitor:

- Global clock counter
- All metric counters

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  XST_SUCCESS

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventCount, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_GCC_ENABLE_MASK, XAPM_CR_MCNTR_ENABLE_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_PROFILE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

Referenced by ReadMetrics().

s32 XAxiPmon_StopEventLog | ( | XAxiPmon * | InstancePtr | ) |

This function disables the following in the AXI Performance Monitor:

- Event logging

Parameters

  InstancePtr | is a pointer to the XAxiPmon instance.

Returns
  XST_SUCCESS

Note
  None

References XAxiPmon_Config::BaseAddress, XAxiPmon::Config, XAxiPmon_Config::IsEventLog, XAxiPmon::IsReady, XAxiPmon::Mode, XAPM_CR_EVENTLOG_ENABLE_MASK, XAPM_CTL_OFFSET, XAPM_MODE_ADVANCED, XAPM_MODE_TRACE, XAxiPmon_ReadReg, and XAxiPmon_WriteReg.

## Variable Documentation

XAxiPmon_Config XAxiPmon_ConfigTable[]

This table contains configuration information for each System Monitor/ADC device in the system.

XAxiPmon_Config XAxiPmon_ConfigTable[XPAR_XAXIPMON_NUM_INSTANCES]

Initial value:
=
{
{
XPAR_AXI_PERF_MON_0_DEVICE_ID,
XPAR_AXI_PERF_MON_0_BASEADDR,
XPAR_AXI_PERF_MON_0_GLOBAL_COUNT_WIDTH,
XPAR_AXI_PERF_MON_0_METRICS_SAMPLE_COUNT_WIDTH
}
}

This table contains configuration information for each System Monitor/ADC device in the system.