embeddedsw/XilinxProcessorIPLib/drivers/axipmon/doc/html/api/index.html
Jagannadha Sutradharudu Teki 2c8f92039d embeddesw: Add initial code support
Added initial support Xilinx Embedded Software.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
2014-06-24 16:45:01 +05:30

143 lines
9.3 KiB
HTML
Executable file

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
axipmon v6_1
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.5 -->
<div class="tabs">
<ul>
<li id="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<h1>axipmon v6_1</h1>
<p>
The <a class="el" href="struct_x_axi_pmon.html">XAxiPmon</a> driver supports the Xilinx AXI Performance Monitor device.<p>
The AXI Performance Monitor device provides following features:<p>
Configurable number of Metric Counters and Incrementers Computes performance metrics for Agents connected to monitor slots (Up to 8 slots)<p>
The following Metrics can be computed:<p>
Metrics computed for an AXI4 MM agent: Write Request Count: Total number of write requests by/to the agent. Read Request Count: Total number of read requests given by/to the agent. Read Latency: It is defined as the time from the start of read address transaction to the beginning of the read data service. Write Latency: It is defined as the period needed a master completes write data transaction, i.e. from write address transaction to write response from slave. Write Byte Count: Total number of bytes written by/to the agent. This metric is helpful when calculating the throughput of the system. Read Byte Count: Total number of bytes read from/by the agent. Average Write Latency: Average write latency seen by the agent. It can be derived from total write latency and the write request count. Average Read Latency: Average read latency seen by the agent. It can be derived from total read latency and the read request count. Master Write Idle Cycle Count: Number of idle cycles caused by the masters during write transactions to the slave. Slave Write Idle Cycle Count: Number of idle cycles caused by this slave during write transactions to the slave. Master Read Idle Cycle Count: Number of idle cycles caused by the master during read transactions to the slave. Slave Read Idle Cycle Count: Number of idle cycles caused by this slave during read transactions to the slave.<p>
Metrics computed for an AXI4-Stream agent:<p>
Transfer Cycle Count: Total number of writes by/to the agent. Data Byte Count: Total number of data bytes written by/to the agent. This metric helps in calculating the throughput of the system. Position Byte Count: Total number of position bytes transferred. Null Byte Count: Total number of null bytes transferred. Packet Count: Total number of packets transferred.<p>
There are three modes : Advanced, Profile and Trace.<ul>
<li>Advanced mode has 10 Mertic Counters, Sampled Metric Counters, Incrementors and Sampled Incrementors.</li><li>Profile mode has only 47 Metric Counters and Sampled Metric Counters.</li><li>Trace mode has no Counters. User should refer to the hardware device specification for detailed information about the device.</li></ul>
<p>
This header file contains the prototypes of driver functions that can be used to access the AXI Performance Monitor device.<p>
<b> Initialization and Configuration </b><p>
The device driver enables higher layer software (e.g., an application) to communicate to the AXI Performance Monitor device.<p>
<a class="el" href="xaxipmon_8c.html#00aa8d188b7c154731cc39636c33e19e">XAxiPmon_CfgInitialize()</a> API is used to initialize the AXI Performance Monitor device. The user needs to first call the <a class="el" href="xaxipmon__sinit_8c.html#b17579a41e0cef4139e3cc8b49883654">XAxiPmon_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="xaxipmon_8c.html#00aa8d188b7c154731cc39636c33e19e">XAxiPmon_CfgInitialize()</a> API.<p>
<b>Interrupts</b><p>
The AXI Performance Monitor does not support Interrupts<p>
<b> Virtual Memory </b><p>
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.<p>
<b> Threads </b><p>
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.<p>
<b> Asserts </b><p>
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.<p>
<b> Building the driver </b><p>
The <a class="el" href="struct_x_axi_pmon.html">XAxiPmon</a> driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.<p>
<b> Limitations of the driver </b><p>
<br>
<br>
<p>
<pre></pre><p>
<pre> MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ----- -------- -----------------------------------------------------
1.00a bss 02/27/12 First release
2.00a bss 06/23/12 Updated to support v2_00a version of IP.
3.00a bss 09/03/12 To support v2_01_a version of IP:
Deleted XAxiPmon_SetAgent, XAxiPmon_GetAgent APIs and
added XAPM_FLAG_EVENT, XAPM_FLAG_EVNTSTAR,
XAPM_FLAG_EVNTSTOP.
Deleted XAxiPmon_SetAgent, XAxiPmon_GetAgent APIs and
modified XAxiPmon_SetMetrics, XAxiPmon_GetMetrics APIs
in <a class="el" href="xaxipmon_8c.html">xaxipmon.c</a>
Deleted XAPM_AGENT_OFFSET Macro in <a class="el" href="xaxipmon__hw_8h.html">xaxipmon_hw.h</a>
3.01a bss 10/25/12 To support new version of IP:
Added XAPM_MCXLOGEN_OFFSET macros in <a class="el" href="xaxipmon__hw_8h.html">xaxipmon_hw.h</a>.
Added XAxiPmon_SetMetricCounterCutOff,
XAxiPmon_GetMetricCounterCutOff,
XAxiPmon_EnableExternalTrigger and
XAxiPmon_DisableExternalTrigger APIs in <a class="el" href="xaxipmon_8c.html">xaxipmon.c</a>
Modified XAxiPmon_SetMetrics and XAxiPmon_GetMetrics
(CR #683746) in <a class="el" href="xaxipmon_8c.html">xaxipmon.c</a>
Added XAxiPmon_EnableEventLog,
XAxiPmon_DisableMetricsCounter,
XAxiPmon_EnableMetricsCounter APIs in <a class="el" href="xaxipmon_8c.html">xaxipmon.c</a> to
replace macros in this file.
Added XAPM_FLAG_XXX macros.
Added XAxiPmon_StartCounters and XAxiPmon_StopCounters
APIs (CR #683799).
Added XAxiPmon_StartEventLog and XAxiPmon_StopEventLog
APIs (CR #683801).
Added XAxiPmon_GetMetricName API (CR #683803).
Deleted XAxiPmon_SetAgent, XAxiPmon_GetAgent
declarations (CR #677337)
4.00a bss 01/17/13 To support new version of IP:
Added XAPM_METRIC_SET_12 to XAPM_METRIC_SET_15 macros.
Added XAxiPmon_SetLogEnableRanges,
XAxiPmon_GetLogEnableRanges,
XAxiPmon_EnableMetricCounterTrigger,
XAxiPmon_DisableMetricCounterTrigger,
XAxiPmon_EnableEventLogTrigger,
XAxiPmon_DisableEventLogTrigger,
XAxiPmon_SetWriteLatencyId,
XAxiPmon_SetReadLatencyId,
XAxiPmon_GetWriteLatencyId,
XAxiPmon_GetReadLatencyId APIs and removed
XAxiPmon_SetMetricCounterCutOff,
XAxiPmon_GetMetricCounterCutOff,
XAxiPmon_EnableExternalTrigger and
XAxiPmon_DisableExternalTrigger APIs in <a class="el" href="xaxipmon_8c.html">xaxipmon.c</a>
Added XAPM_LATENCYID_OFFSET,
XAPM_CR_EVTLOG_EXTTRIGGER_MASK,
XAPM_LATENCYID_RID_MASK and XAPM_LATENCYID_WID_MASK in
<a class="el" href="xaxipmon__hw_8h.html">xaxipmon_hw.h</a>
5.00a bss 08/26/13 To support new version of IP:
XAxiPmon_SampleMetrics Macro.
Modified XAxiPmon_CfgInitialize, Assert functions
Added XAxiPmon_GetMetricCounter,
XAxiPmon_SetSampleInterval, XAxiPmon_GetSampleInterval,
XAxiPmon_SetWrLatencyStart, XAxiPmon_SetWrLatencyEnd,
XAxiPmon_SetRdLatencyStart, XAxiPmon_SetRdLatencyEnd,
XAxiPmon_GetWrLatencyStart, XAxiPmon_GetWrLatencyEnd,
XAxiPmon_GetRdLatencyStart, XAxiPmon_GetRdLatencyEnd,
XAxiPmon_SetWriteIdMask, XAxiPmon_SetReadIdMask,
XAxiPmon_GetWriteIdMask and XAxiPmon_GetReadIdMask APIs
Renamed :
XAxiPmon_SetWriteLatencyId to
XAxiPmon_SetWriteId, XAxiPmon_SetReadLatencyId to
XAxiPmon_SetReadId, XAxiPmon_GetWriteLatencyId to
XAxiPmon_GetWriteId and XAxiPmon_SetReadLatencyId to
XAxiPmon_GetReadId. in <a class="el" href="xaxipmon_8c.html">xaxipmon.c</a>
Added Macros XAPM_MC10_OFFSET to XAPM_MC47_OFFSET,
XAPM_SMC10_OFFSET to XAPM_SMC47_OFFSET,
XAPM_IDMASK_OFFSET, XAPM_CR_IDFILTER_ENABLE_MASK,
XAPM_CR_WRLATENCY_START_MASK,
XAPM_CR_WRLATENCY_END_MASK,
XAPM_CR_RDLATENCY_START_MASK,
XAPM_CR_RDLATENCY_END_MASK and
XAPM_MAX_COUNTERS_PROFILE.
Renamed:
XAPM_LATENCYID_OFFSET to XAPM_ID_OFFSET,
XAPM_LATENCYID_RID_MASK to XAPM_ID_RID_MASK,
XAPM_LATENCYID_WID_MASK to XAPM_ID_WID_MASK.
in <a class="el" href="xaxipmon__hw_8h.html">xaxipmon_hw.h</a>.
Modified driver tcl to generate new parameters
ScaleFactor, ModeProfile, ModeTrace and ModeAdvanced
in Config structure.
6.0 adk 19/12/13 Updated as per the New Tcl API's
6.1 adk 16/04/14 Updated the driver tcl for the newly added parameters in
The Axi pmon IP.
6.2 bss 04/21/14 Updated XAxiPmon_CfgInitialize in <a class="el" href="xaxipmon_8c.html">xaxipmon.c</a> to Reset
counters and FIFOs based on Modes(CR#782671). And if
both profile and trace modes are present set mode as
Advanced.
</pre> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.