... | ... | @@ -30,9 +30,9 @@ Core via diag command or SNMP set command): |
|
|
latency (`latency_acc_o `), and the count of the accumulated latency
|
|
|
values (`latency_cnt_o `) must be read coherently.
|
|
|
|
|
|
**NOTE:** The statistics are started from the beginning of design operation (as soon as the system reset is released). However, at the very beginning of system operation, there is no valid WR time, thus the
|
|
|
**NOTE:** The statistics are collected from the beginning of the system operation (as soon as the system reset is released). However, at the very beginning of system operation, there is no valid WR time, thus the
|
|
|
initial timestamp is meaningless (it is zero thus the epoch in 1970). Moreover, the latency statistics are taken
|
|
|
only when WR time is valid. Thus, the reset is performed automatically as soon as the WR time is available, the first time after the system reset/powerup.
|
|
|
only when WR time is valid. To avoid the necessity of the user resetting the statistics each time the system is started and WR synchronization achieved, the reset is performed automatically as soon as the WR time is available, the first time after the system reset/powerup.
|
|
|
|
|
|
-----
|
|
|
|
... | ... | @@ -40,16 +40,16 @@ only when WR time is valid. Thus, the reset is performed automatically as soon a |
|
|
|
|
|
### **Interface of `xrtx_streamers_stats`**
|
|
|
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|**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)|
|
|
|
|
|
|
|g_clk_ref_rate| | Rate of the White Rabbit reference clock. By default, this clock is 125MHz for WR Nodes. There are some WR Nodes that work with 62.5MHz |
|
|
|
|
|
|
### **Input from Transceiver**
|
|
|
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|**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)|
|
... | ... | @@ -58,11 +58,12 @@ only when WR time is valid. Thus, the reset is performed automatically as soon a |
|
|
|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)|
|
|
|
|
|
|
|rx_stat_match_p1_i |1 pulse signal that data with fixed-latency configured was correctly provided |
|
|
|
|rx_stat_late_p1_i |1 pulse signal that data with fixed-latency configured was provided later than required | |rx_stat_timeout_p1_i|1 pulse signal that data with fixed-latency configured was delivered earlier because the wait time to provide the requested latency exceeded the configured timeout|
|
|
|
|
|
|
### **Statistics control**
|
|
|
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|**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|
|
... | ... | @@ -70,7 +71,7 @@ only when WR time is valid. Thus, the reset is performed automatically as soon a |
|
|
|
|
|
### **Output statistics**
|
|
|
|
|
|
|** **I/F name** **|** **Description** **|
|
|
|
|**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)|
|
... | ... | @@ -83,8 +84,9 @@ only when WR time is valid. Thus, the reset is performed automatically as soon a |
|
|
|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|
|
|
|
|
|
|
|
|
|
|rx_stat_match_cnt_o|Count of received frames with data that was delivered to the user on time in the fixed latency mode |
|
|
|
|rx_stat_late_cnt_o| Count of received frames with data that missed their fixed-latency deadline for delivery to the user |
|
|
|
|rx_stat_timeout_cnt_o| Count of received frames with data that had their execution timestamp too far in the future (exceeding the timeout value)|
|
|
|
### **SNMP I/O arrays**
|
|
|
|
|
|
- `snmp_array_i`: snmp input consists of two bits (from LSB to MSB)
|
... | ... | @@ -93,7 +95,7 @@ only when WR time is valid. Thus, the reset is performed automatically as soon a |
|
|
|
|
|
<!-- end list -->
|
|
|
|
|
|
- `snmp_array_o`: snmp output consists of 18 words of 32 bits.
|
|
|
- `snmp_array_o`: snmp output consists of 24 words of 32 bits.
|
|
|
The table below shows the mapping of streamer statistics to SNMP
|
|
|
array words.
|
|
|
Since counters can be up to 64 bits in width, two SNMP words are
|
... | ... | @@ -113,6 +115,9 @@ only when WR time is valid. Thus, the reset is performed automatically as soon a |
|
|
|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|
|
|
|
|snmp_array_o(18) and snmp_array_o(18)|g_cnt_width|rx_stat_match_cnt_out|
|
|
|
|snmp_array_o(20) and snmp_array_o(21)|g_cnt_width|rx_stat_late_cnt_out|
|
|
|
|snmp_array_o(22) and snmp_array_o(23)|g_cnt_width|rx_stat_timeout_cnt_out|
|
|
|
|
|
|
|
|
|
-----
|
... | ... | |