mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-16 21:10:10 +00:00
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. |
||
|---|---|---|
| .. | ||
| uhd | ||
| CMakeLists.txt | ||
| pyuhd.cpp | ||
| setup.py.in | ||