uhd/host/python
Wade Fife 85f71cda7b rfnoc: Support multiple CHDR widths in RFNoC image builder
This adds support for different CHDR widths in the RFNoC image builder
and allows you to specify which crossbar paths to enable in the CHDR
crossbar.

In the HDL, a different CHDR width can be specified for each transport
adapter using Verilog parameters. In the RFNoC image YAML, the width of
each stream endpoint can be specified using the chdr_width parameter,
and the width for all blocks can be specified using the
block_chdr_width parameter.

With this change, the existing top-level "chdr_width" setting is now
effectively the default when not otherwise specified.

The crossbar_routes parameter can be provided using an NxN array where
N is the number of transport adapters + stream endpoints for the image
being built. For example, on X310 the following could be used:

crossbar_routes:
  #  eth0  pcie  ep1   ep3   ep5
  #     eth1  ep0   ep2   ep4
  - [ 1, 0, 0, 1, 1, 1, 1, 1, 1 ] # eth0 (10/1 GbE/Aurora)
  - [ 0, 1, 0, 1, 1, 1, 1, 1, 1 ] # eth1 (10 GbE/Aurora)
  - [ 0, 0, 1, 1, 1, 1, 1, 1, 1 ] # pcie
  - [ 1, 1, 1, 0, 0, 0, 0, 1, 1 ] # ep0 (radio0.0)
  - [ 1, 1, 1, 0, 0, 0, 0, 1, 1 ] # ep1 (radio0.1)
  - [ 1, 1, 1, 0, 0, 0, 0, 1, 1 ] # ep2 (radio1.0)
  - [ 1, 1, 1, 0, 0, 0, 0, 1, 1 ] # ep3 (radio1.1)
  - [ 1, 1, 1, 1, 1, 1, 1, 0, 0 ] # ep4 (replay0.0)
  - [ 1, 1, 1, 1, 1, 1, 1, 0, 0 ] # ep5 (replay0.1)

This would disable loopback paths between transport adapters, between
radio ports, and between replay ports.

Note that these features should be used with care. Removing some
crossbar routes may prevent the USRP from functioning correctly.
Specifying improper CHDR widths may lead to streaming issues.
2023-02-24 08:07:17 -06:00
..
uhd rfnoc: Support multiple CHDR widths in RFNoC image builder 2023-02-24 08:07:17 -06:00
CMakeLists.txt fixup! mpm: Add CompatNumber utility class 2022-07-20 17:08:33 -05:00
pyuhd.cpp n310: Add Filter API to n310 2022-04-07 13:28:02 -07:00
setup.py.in python: Fix pyuhd to include subpackages 2020-08-04 07:43:48 -05:00