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).
- It includes the following sub-modules:
- *TX streamer* (
xtx_streamer.vhd
) - Takes a series of data words and encapsulates them into Ethernet Frames to be transmitted over the WR fabric interface. - *RX streamer* (
xrx_streamer.vhd
) - Receives Ethernet frames via the WR fabric interface and decodes them into a series of data words . -
Statistics Streamer statistics
(
xrtx_streamers_stats.vhd
) - WB config and status register
(
wr_streamers_wb.vhd
)
- *TX streamer* (
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_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.-
WR timing input
- clk_ref_i
- tm_time_valid_i
- tm_tai_i
- tm_cycles_i
- link_ok_i
-
WR timing input
-
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- 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