The xwr_streamers.vhd
module (located in modules/wr_streamers folder
of wr-cores)
provides a WR PTP Core -compatible communication. It is
meant to be a used as a building block in WR-based nodes. Additionally to transmission and reception of data, it provides advanced
diagnostics and debugging capabilities that can be accessed via SNMP and
WB registers (via PCI or VME).
The xwr_streamers.vhd
module includes the following sub-modules:
-
TX and RX streamer (
xtx_streamer.vhd
andxrx_streamer.vhd
):- TX streamer - Takes a series of data words and encapsulates them into Ethernet Frames to be transmitted over the WR fabric interface.
- RX streamer- Receives Ethernet frames via the WR fabric interface and decodes them into a series of data words .
-
WR Streamers Statistics (
xrtx_streamers_stats.vhd
) - WB config and status register (
wr_streamers_wb.vhd
)
xwr_streamers.vhd
module
Interface of the -
Configuration
-
g_streamers_op_mode
- Indicates whether this module instantiates both TX and RX streamers (set toTX_AND_RX
) or only one
of them. An application that only receives or only transmits might want to useRX_ONLY
orTX_ONLY
mode in order to save resources. -
g_clk_ref_rate
- the 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. -
g_tx_streamer_params
- Tx streamer generics stored in one record: data_width, buffer_size, threshold, max_words_per_frame, timeout, escape_code_disable - they map into Transmit Streamer module generics described in detail in Transceiver configuration. -
g_rx_streamer_params
- Rx streamer generics stored in one record: data_width, buffer_size, escape_code_disable, expected_words_number - they map into Receive Streamer module generics described in detail in Transceiver configuration for details. -
g_stats_cnt_width
- Width of statistics counters: frame rx/tx/lost, block lost, counter of accumuted latency (minimum 15 bits, max 64). -
g_stats_acc_width
- Width of latency accumulator (max value 64). -
g_slave_mode
- Specifies wishbone interface mode. -
g_slave_granularity
- Set wishbone address granularity. -
g_simulation
- If set to 1, the module is run in simulation mode and some processes can be made to take less time. -
g_sim_cycle_counter_range
- Indicates (shortened) duration of second to see TAI seconds counter increment, for simulation only (i.e. only if g_simulation = 1).
-
-
- clk_ref_i
- tm_time_valid_i
- tm_tai_i
- tm_cycles_i
- link_ok_i
-
-
Input to Tx
- tx_dreq_o
- tx_data_i
- tx_valid_i
- tx_last_p1_i
- tx_flush_p1_i
-
Output from Rx
- rx_dreq_i
- rx_data_o
- rx_valid_o
- rx_first_p1_o
- rx_last_p1_o
- rx_late_o
- rx_timeout_o
-
Input to Tx
-
Interface for configuration and diagnostics
-
Direct network configuration using input signals organized:
- tx_streamer_cfg_i
- rx_streamer_cfg_i
-
Wishbone-based access that can be used to overrite the Direct network configuration (i.e. tx_streamer_cfg_i and rx_streamer_cfg_i) and to read streamers statistics for diagnostics, it is located in the address-space of WR PTP Core (offset 0x20700), the WB memory map.
- wb_slave_i
- wb_slave_o
-
32-bit array that is used by the WR PTP Core to read streamers statistics for diagnostics, WR PTP Core exposes these data via SNMP and shell interface (command diag)
- snmp_array_i
- snmp_array_o
-