<p>The AXI Performance Monitor device provides following features:</p>
<p>Configurable number of Metric Counters and Incrementers Computes performance metrics for Agents connected to monitor slots (Up to 8 slots)</p>
<p>The following Metrics can be computed:</p>
<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>
<p>Metrics computed for an AXI4-Stream agent:</p>
<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>
<p>There are three modes : Advanced, Profile and Trace.</p>
<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>
<p><b> Initialization and Configuration </b></p>
<p>The device driver enables higher layer software (e.g., an application) to communicate to the AXI Performance Monitor device.</p>
<p><aclass="el"href="xaxipmon_8c.html#abf0216ba0f677f910916e2d796fe40e9">XAxiPmon_CfgInitialize()</a> API is used to initialize the AXI Performance Monitor device. The user needs to first call the <aclass="el"href="xaxipmon_8h.html#ae10f5ff0f5441c99d7c54a1a3e5f6c0e">XAxiPmon_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <aclass="el"href="xaxipmon_8c.html#abf0216ba0f677f910916e2d796fe40e9">XAxiPmon_CfgInitialize()</a> API.</p>
<p><b>Interrupts</b></p>
<p>The AXI Performance Monitor does not support Interrupts</p>
<p><b> Virtual Memory </b></p>
<p>This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.</p>
<p><b> Threads </b></p>
<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>
<p><b> Asserts </b></p>
<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>
<p><b> Building the driver </b></p>
<p>The <aclass="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>
<p><b> Limitations of the driver </b></p>
<p><br/>
<br/>
</p>
<pre></pre><pre> MODIFICATION HISTORY:</pre><pre> Ver Who Date Changes