... | ... | @@ -39,139 +39,50 @@ Core via diag command or SNMP set command): |
|
|
|
|
|
### **Interface of `xrtx_streamers_stats`**
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><b> <strong>I/F name</strong> </b></td>
|
|
|
<td><b> <strong>Description</strong> </b></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>g_streamers_op_mode</code></td>
|
|
|
<td>Generic to specify whether the stats module needs to collect information from (set as approriate to) <code>TX_ONLY</code>, <code>RX_ONLY</code>, or <code>TX_AND_RX</code></td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>g_cnt_width</code></td>
|
|
|
<td>Width of frame counters (50-bit default should be sufficient, min 15, max 64 bits)</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>g_acc_width</code></td>
|
|
|
<td>Width of cumulated latency counter (64-bit Default is also the maximum possible value)</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|----|----|
|
|
|
|g_streamers_op_mode|Generic to specify whether the stats module needs to collect information from (set as approriate to) TX_ONLY, RX_ONLY, or TX_AND_RX|
|
|
|
|g_cnt_width|Width of frame counters (50-bit default should be sufficient, min 15, max 64 bits)|
|
|
|
|g_acc_width|Width of cumulated latency counter (64-bit Default is also the maximum possible value)|
|
|
|
|
|
|
|
|
|
### **Input from Transceiver**
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><b> <strong>I/F name</strong> </b></td>
|
|
|
<td><b> <strong>Description</strong> </b></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>sent_frame_i</code></td>
|
|
|
<td>1 pulse signal when frame is successfuly sent (Provided by Tx streamer)</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>rcvd_frame_i</code></td>
|
|
|
<td>1 pulse signal when frame is successfuly received (Provided by Rx streamer)</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>lost_block_i</code></td>
|
|
|
<td>1 pulse signal when a block is lost (Provided by Rx)</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>lost_frame_i</code></td>
|
|
|
<td>1 pulse signal when a frame is lost (Provided by Rx)</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>lost_frames_cnt_i</code></td>
|
|
|
<td>Number of frames lost (Provided by Rx)</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>rcvd_latency_i</code></td>
|
|
|
<td>Latency of frame received (Provided by Rx)</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>rcvd_latency_valid_i</code></td>
|
|
|
<td>1 pulse signal when latency value is valid (Provided by Rx)</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|----|----|
|
|
|
|sent_frame_i|1 pulse signal when frame is successfuly sent (Provided by Tx streamer)|
|
|
|
|rcvd_frame_i|1 pulse signal when frame is successfuly received (Provided by Rx streamer)|
|
|
|
|lost_block_i|1 pulse signal when a block is lost (Provided by Rx)|
|
|
|
|lost_frame_i|1 pulse signal when a frame is lost (Provided by Rx)|
|
|
|
|lost_frames_cnt_i|Number of frames lost (Provided by Rx)|
|
|
|
|rcvd_latency_i|Latency of frame received (Provided by Rx)|
|
|
|
|rcvd_latency_valid_i|1 pulse signal when latency value is valid (Provided by Rx)|
|
|
|
|
|
|
|
|
|
### **Statistics control**
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><b> <strong>I/F name</strong> </b></td>
|
|
|
<td><b> <strong>Description</strong> </b></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>reset_stats_i</code></td>
|
|
|
<td>Reset all statistics counters</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>snapshot_ena_i</code></td>
|
|
|
<td>Enable snapshot of the statistics values so as to have a coherent view of performance</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|----|----|
|
|
|
|reset_stats_i|Reset all statistics counters|
|
|
|
|snapshot_ena_i|Enable snapshot of the statistics values so as to have a coherent view of performance|
|
|
|
|
|
|
|
|
|
### **Output statistics**
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><b> <strong>I/F name</strong> </b></td>
|
|
|
<td><b> <strong>Description</strong> </b></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>reset_time_tai_o </code></td>
|
|
|
<td>Time of last statistics reset in seconds, expressed with TAI</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>reset_time_cycles_o </code></td>
|
|
|
<td>Time of last statistics reset in clk_ref cycles within the second (i.e the sub-second part)</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>sent_frame_cnt_o </code></td>
|
|
|
<td>Counter of sent frames</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>rcvd_frame_cnt_o </code></td>
|
|
|
<td>Counter of received frames</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>lost_frame_cnt_o </code></td>
|
|
|
<td>Counter of lost frames</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>lost_block_cnt_o </code></td>
|
|
|
<td>Counter of lost blocks</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>latency_acc_o </code></td>
|
|
|
<td>Accumulated latency since last reset, expressed in clk_ref cycles (sum of latencies of all received frames, the number of accumulated latency values is provided by latency_cnt_o allowing to calculate average latency)</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>latency_cnt_o </code></td>
|
|
|
<td>Number of latency values accumulated in latency_acc_o</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>latency_acc_overflow_o</code></td>
|
|
|
<td>Signals overflow of latency accumulator (latency_acc_o )</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>latency_max_o </code></td>
|
|
|
<td>Maximum latency since last reset, expressed in clk_ref cycles</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>latency_min_o </code></td>
|
|
|
<td>Minimum latency since last reset, expressed in clk_ref cycles</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|----|----|
|
|
|
|reset_time_tai_o |Time of last statistics reset in seconds, expressed with TAI|
|
|
|
|reset_time_cycles_o |Time of last statistics reset in clk_ref cycles within the second (i.e the sub-second part)|
|
|
|
|sent_frame_cnt_o |Counter of sent frames|
|
|
|
|rcvd_frame_cnt_o |Counter of received frames|
|
|
|
|lost_frame_cnt_o |Counter of lost frames|
|
|
|
|lost_block_cnt_o |Counter of lost blocks|
|
|
|
|latency_acc_o |Accumulated latency since last reset, expressed in clk_ref cycles (sum of latencies of all received frames, the number of accumulated latency values is provided by latency_cnt_o allowing to calculate average latency)|
|
|
|
|latency_cnt_o |Number of latency values accumulated in latency_acc_o|
|
|
|
|latency_acc_overflow_o|Signals overflow of latency accumulator (latency_acc_o )|
|
|
|
|latency_max_o |Maximum latency since last reset, expressed in clk_ref cycles|
|
|
|
|latency_min_o |Minimum latency since last reset, expressed in clk_ref cycles|
|
|
|
|
|
|
|
|
|
### **SNMP I/O arrays**
|
|
|
|
... | ... | @@ -187,77 +98,24 @@ Core via diag command or SNMP set command): |
|
|
Since counters can be up to 64 bits in width, two SNMP words are
|
|
|
assigned to these counters.
|
|
|
|
|
|
<table>
|
|
|
<tbody>
|
|
|
<tr class="odd">
|
|
|
<td><b> Word</b></td>
|
|
|
<td><b> bit </b></td>
|
|
|
<td>Content</td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>snmp_array_o(0)</code></td>
|
|
|
<td>0</td>
|
|
|
<td><code>reset_stats</code></td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>snmp_array_o(0)</code></td>
|
|
|
<td>1</td>
|
|
|
<td><code>latency_acc_overflow_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>snmp_array_o(1)</code></td>
|
|
|
<td>27</td>
|
|
|
<td><code>reset_time_cycles</code></td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>snmp_array_o(2)</code> and <code>snmp_array_o(3)</code></td>
|
|
|
<td>40</td>
|
|
|
<td><code>reset_time_tai</code></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>snmp_array_o(4)</code></td>
|
|
|
<td>27</td>
|
|
|
<td><code>latency_max_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>snmp_array_o(5)</code></td>
|
|
|
<td>27</td>
|
|
|
<td><code>latency_min_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>snmp_array_o(6)</code> and <code>snmp_array_o(7)</code></td>
|
|
|
<td><code>g_cnt_width</code></td>
|
|
|
<td><code>sent_frame_cnt_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>snmp_array_o(8)</code> and <code>snmp_array_o(9)</code></td>
|
|
|
<td><code>g_cnt_width</code></td>
|
|
|
<td><code>rcvd_frame_cnt_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>snmp_array_o(10)</code> and <code>snmp_array_o(11)</code></td>
|
|
|
<td><code>g_cnt_width</code></td>
|
|
|
<td><code>lost_frame_cnt_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>snmp_array_o(12)</code> and <code>snmp_array_o(13)</code></td>
|
|
|
<td><code>g_cnt_width</code></td>
|
|
|
<td><code>lost_block_cnt_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="even">
|
|
|
<td><code>snmp_array_o(14)</code> and <code>snmp_array_o(15)</code></td>
|
|
|
<td><code>g_cnt_width</code></td>
|
|
|
<td><code>latency_cnt_out</code></td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td><code>snmp_array_o(16)</code> and <code>snmp_array_o(17)</code></td>
|
|
|
<td><code>g_acc_width</code></td>
|
|
|
<td><code>latency_acc_out</code></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|**Word**|**bit**|Content|
|
|
|
|----|----|----|
|
|
|
|snmp_array_o(0)|0|reset_stats|
|
|
|
|snmp_array_o(0)|1|latency_acc_overflow_out|
|
|
|
|snmp_array_o(1)|27|reset_time_cycles|
|
|
|
|snmp_array_o(2) and snmp_array_o(3)|40|reset_time_tai|
|
|
|
|snmp_array_o(4)|27|latency_max_out|
|
|
|
|snmp_array_o(5)|27|latency_min_out|
|
|
|
|snmp_array_o(6) and snmp_array_o(7)|g_cnt_width|sent_frame_cnt_out|
|
|
|
|snmp_array_o(8) and snmp_array_o(9)|g_cnt_width|rcvd_frame_cnt_out|
|
|
|
|snmp_array_o(10) and snmp_array_o(11)|g_cnt_width|lost_frame_cnt_out|
|
|
|
|snmp_array_o(12) and snmp_array_o(13)|g_cnt_width|lost_block_cnt_out|
|
|
|
|snmp_array_o(14) and snmp_array_o(15)|g_cnt_width|latency_cnt_out|
|
|
|
|snmp_array_o(16) and snmp_array_o(17)|g_acc_width|latency_acc_out|
|
|
|
|
|
|
|
|
|
-----
|
|
|
|
|
|
6 July 2017
|
|
|
|
|
|
|