... | ... | @@ -16,9 +16,10 @@ to |
|
|
|
|
|
## WR streamers module
|
|
|
|
|
|
The `wr-streamers.vhd` module provides a [WR PTP Core](/Wrpc-core)
|
|
|
-compatible communication module.
|
|
|
It is meant to be a used as a building block in WR-based nodes.
|
|
|
The `xwr_streamers.vhd` module (located in modules/wr\_streamers folder
|
|
|
of [wr-cores](https://www.ohwr.org/project/wr-cores/tree/master))
|
|
|
provides a [WR PTP Core](/Wrpc-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).
|
... | ... | @@ -33,11 +34,11 @@ WB registers (via PCI or VME). |
|
|
- [Statistics](/WR) Streamer statistics
|
|
|
(`xrtx_streamers_stats.vhd`)
|
|
|
- WB config and status register
|
|
|
(`wr_transmission_wb.vhd`)
|
|
|
(`wr_streamers_wb.vhd`)
|
|
|
|
|
|
![](/uploads/998ae788493b5ba43685d5611bd7ee37/xwr_streamers_small.png)
|
|
|
|
|
|
### **Interface of the `wr-streamers.vhd` module**
|
|
|
### **Interface of the `xwr_streamers.vhd` module**
|
|
|
|
|
|
- **Configuration**
|
|
|
|
... | ... | @@ -46,24 +47,33 @@ both TX and RX streamers (set to `TX_AND_RX`) or only one |
|
|
of them. An application that only receives or only transmits might want
|
|
|
to use `RX_ONLY` or `TX_ONLY` mode in order to save resources.
|
|
|
* `g_tx_streamer_params` - Transmission defaults for Tx streamer.
|
|
|
Corresponds to the Tx streamerngenerics stored in one record.
|
|
|
Corresponds to the Tx streamer generics stored in one record, see
|
|
|
[Transceiver configuration](TxRx-Streamers#transceiver-configuration)
|
|
|
for details.
|
|
|
* `g_rx_streamer_params` - Reception defaults for Rx streamer.
|
|
|
Corresponds to the Rx streamer generics stored in one record.
|
|
|
Corresponds to the Rx streamer generics stored in one record, see
|
|
|
[Transceiver configuration](TxRx-Streamers#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 32).
|
|
|
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](TxRx-Streamers#wr-timing-input)
|
|
|
- **WR timing input** - described in details here
|
|
|
[here](TxRx-Streamers#wr-timing-input)
|
|
|
- clk\_ref\_i
|
|
|
- tm\_time\_valid\_i
|
|
|
- tm\_tai\_i
|
|
|
- tm\_cycles\_i
|
|
|
- link\_ok\_i
|
|
|
|
|
|
<!-- end list -->
|
|
|
|
|
|
- [Interface with Tx and Rx
|
|
|
streamers](TxRx-Streamers#fifo-like-interface-\(tx-and-rx-streamer))
|
|
|
A subset of the interface available in Tx and Rx modules.
|
|
|
- **FIFO-like data interface** - described in details
|
|
|
[here](TxRx-Streamers#fifo-like-interface-\(tx-and-rx-streamer)).
|
|
|
|
|
|
* **Input to Tx**
|
|
|
*\* tx\_dreq\_o
|
... | ... | @@ -81,14 +91,21 @@ max 32). |
|
|
|
|
|
- **Interface for configuration and diagnostics**
|
|
|
|
|
|
* **Wishbone** Used to write Tx and Rx configuration (writes to
|
|
|
t\_tx\_streamer\_cfg and t\_rx\_streamer\_cfg) via the [WB memory
|
|
|
map](https://www.ohwr.org/project/wr-cores/uploads/123c8f37ddad8747f18e780978d7bc03/wr_streamers_wb.pdf) and to
|
|
|
read diagnostics.
|
|
|
* **Direct network configuration** using input signals organized in
|
|
|
records (see details
|
|
|
[here](TxRx-Streamers#networking-configuration-tx-and-rx-streamer)):
|
|
|
*\* 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,
|
|
|
see the [WB memory
|
|
|
map](https://www.ohwr.org/project/wr-cores/uploads/123c8f37ddad8747f18e780978d7bc03/wr_streamers_wb.pdf).
|
|
|
*\* wb\_slave\_i
|
|
|
*\* wb\_slave\_o
|
|
|
|
|
|
* **SNMP** Reads statistics for diagnostics
|
|
|
* **SNMP** Reads streamers statistics for diagnostics
|
|
|
*\* snmp\_array\_i
|
|
|
*\* snmp\_array\_o
|
|
|
|
... | ... | @@ -114,6 +131,10 @@ read diagnostics. |
|
|
<td>2016-03-31</td>
|
|
|
<td>Layout of streamer's frame modified slightly to make it backward compatible with the version used in B-train, wiki updated</td>
|
|
|
</tr>
|
|
|
<tr class="odd">
|
|
|
<td>2017-05-24</td>
|
|
|
<td>Major update, part of wrpc-v4.0 and wrbtrain-v1.0 releases: added statistics, top xwr_streamers module, VLAN support, override of configuration via WB, wiki updated</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
|
... | ... | |