Commit Graph

10055 Commits

Author SHA1 Message Date
Steven Koo
1f8fd3457d uhd: Prepare branch for 4.3.0.0 release
- Updated CHANGELOG
 - Updated Debian-related files
 - Updated images package

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-14 09:19:33 -05:00
Steven Koo
9413b6780f fixup! ci: set required capability for windows builds
The previous commit set a demand on a pool that doesn't
support it. This removes the rfsdr-build demand from it.
2022-09-13 13:28:01 -05:00
mattprost
9547b69ee8 images: Update filesystem images to point to 4.3.0.0-rc2
After bumping the release candidate, the filesystem images are now
renamed.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-09-13 10:52:38 -05:00
Steven Koo
fbcc8a642e Prepare branch for 4.3.0.0-rc2 release
- Updated CHANGELOG
 - Updated Debian-related files
 - Updated images package

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-12 17:27:49 -05:00
Steven Koo
6cb1dcca83 uhd: Revert Raw UDP Host Changes
This reverts the Raw UDP host changes which is breaking
multiple interface streaming.

Commits addb81aa5d2d6adcd3a0c7a8d59fcd96af0c1ec4^..b1ca51f97aaa2226ed6ef339fb26fbea54ab7593
are reverted.

Reverts:
doc: Update manual on streaming
examples: Add remote RX streaming example
rfnoc: Enable remote UDP streaming
mpm: e320: Enable raw UDP streaming
mpm: n3xx: Enable raw UDP streaming
mpm: x4xx: Enable transport manager adapter
mpm: Enable opt-in transport adapter control
rfnoc: Transition stream managers and mgmt_portal to topo_graph_t
rfnoc: Add topology graph object
uhd/mpm: Add API to set remote routes
mpm: xports: Add XportAdapterMgr class
2022-09-12 17:00:19 -05:00
Steven Koo
e7a067c068 host: if monotonic don't run monotonic algo
In some cases the input is already monotonic and we shouldn't
try to make it monotonic again.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-09 16:17:41 -05:00
Wade Fife
5f1a0166bf docs: Add known issue for Xilinx AR 76681 2022-09-08 11:53:44 -05:00
Wade Fife
b5f324f1df fpga: Fix Vivado version check in viv_hardware_utils 2022-09-08 11:53:44 -05:00
Steven Koo
3fb2626303 ci: Add XQ testing to n321
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-08 11:53:07 -05:00
Steven Koo
a2cd8e9fa1 uhd: Enable branch naming on Azure Pipelines
Azure Piplines uses git detached HEAD so it cannot read
the active branch from git. Instead get the branch from
$BUILD_SOURCEBRANCH, which gets set by Pipelines.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-08 11:52:21 -05:00
Steven Koo
2a5711712d ci: set required capability for windows builds
Some machines on the agent pool don't support rfsdr builds. Set
a required demand to avoid them.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-07 23:11:34 -05:00
Steven Koo
2c96e57f1f uhd: Prepare for 4.3.0.0-rc1 release
- images: update manifest
- uhd: update changelog and version string
- debian: update changelog and installer version

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-06 15:09:25 -05:00
Steven Koo
7313d28b2b changelog: forward port 4.2.0.1 changes 2022-09-06 15:09:25 -05:00
Steven Koo
754fa30d49 ci: Workaround Ubuntu 18.04 systemd bug 1988563
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-06 11:02:28 -05:00
Steven Koo
6d718562a0 images: update fpgas for mtu cleanup changes
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-02 21:11:16 -05:00
Humberto Jimenez
ab9f88abb9 fpga: docs: Document known issue in Vivado 2021.1 2022-09-02 15:48:02 -05:00
Steven Koo
dd757ac221 docs: Clarify live install and remove version
uhd doesn't support live installs of ubuntu because
the universe repository isn't enabled by default. Also remove
the versioned libuhdx.y.z since it's not required. It will get
pulled in from libuhd-dev and uhd-host deps.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-09-02 08:36:08 -05:00
michael-west
85acf241bb MPMD: Limit 1GbE MTU discovery to 1500
The MTU discovery over 1GbE would sometimes detect an MTU that was
larger than the MTU set on the NIC and result in errors.  This limits
the maximum MTU to the default 1GbE MTU value of 1500 bytes.

Signed-off-by: michael-west <michael.west@ettus.com>
2022-09-01 15:25:29 -05:00
Wade Fife
c781f753d6 fpga: x300: Cleanup MTU parameters 2022-09-01 14:41:55 -05:00
Wade Fife
9e4c8cbbbb fpga: n3xx: Cleanup MTU parameters 2022-09-01 14:41:55 -05:00
Wade Fife
a6a76002ea fpga: e320: Cleanup MTU parameters 2022-09-01 14:41:55 -05:00
Wade Fife
55a1ef7e50 fpga: e31x: Cleanup MTU parameters 2022-09-01 14:41:55 -05:00
Wade Fife
2745b6c01b fpga: lib: Add MTU parameter to eth_internal 2022-09-01 14:41:55 -05:00
Wade Fife
936965c104 fpga: n3xx: Add PROTOVER to n3xx_mgt_wrapper 2022-09-01 14:41:55 -05:00
Wade Fife
4d85a77d5f fpga: e31x: Add PROTOVER to eth_internal 2022-09-01 14:41:55 -05:00
Wade Fife
244b0a575f fpga: n3xx: Remove unused USE_REPLAY parameter 2022-09-01 14:41:55 -05:00
Michael Dickens
5a12365632 uhd: update to uniform SPDX license identifier 2022-09-01 14:16:30 -05:00
Steven Koo
01170bc8c5 mpm: bump fpga compat for raw udp streaming
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-08-30 13:43:36 -05:00
Steven Koo
b82f053ac5 images: update manifest for raw udp streaming
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-08-30 13:43:36 -05:00
Martin Braun
b1ca51f97a doc: Update manual on streaming
- Update out-of-date sections
- Add sections on remote UDP streaming
2022-08-30 13:43:36 -05:00
Martin Braun
d31e4a4ffe examples: Add remote RX streaming example
Co-authored-by: Virendra Kakade <virendra.kakade@ni.com>
2022-08-30 13:43:36 -05:00
Martin Braun
8eafdc9f08 rfnoc: Enable remote UDP streaming
This amends the link_stream_manager with functionalities to enable UDP
streaming. When the correct stream arguments are given, instead of
streaming data back into the streamer object, it is streamed to a remote
UDP port.
2022-08-30 13:43:36 -05:00
Martin Braun
7dbfca44f7 mpm: e320: Enable raw UDP streaming
- Checks FPGA compat number is 6.1
- If so, it enables the transport adapter manager
- Note that E320 may still have raw UDP streaming feature disabled. In
  that case, it simply doesn't report that capability.
2022-08-30 13:43:36 -05:00
Martin Braun
a6ec732b0a mpm: n3xx: Enable raw UDP streaming
- Checks if the compat number is at least 8.1
- If so, enables the transport adapter managers
- Note N3xx FPGA may still not have raw UDP streaming enabled, in which
  case that capability is simply not reported.
2022-08-30 13:43:36 -05:00
Martin Braun
3eef5f8cc5 mpm: x4xx: Enable transport manager adapter
This checks if the FPGA compat number is at least 7.9, and if yes,
enables the 'remote_streaming' FPGA feature.
2022-08-30 13:43:36 -05:00
Martin Braun
10c54be063 mpm: Enable opt-in transport adapter control
N3xx and E320 (although potentially other USRPs too) don't always enable
the raw UDP streaming capabilities. This change updates the transport
adapter control to not provide access to any registers or features that
are unavailable to the transport adapter. This way, the FPGA bitfile can
be kept minimal (by not providing raw UDP streaming capabilities) and
software can determine those capabilities easily.
2022-08-30 13:43:36 -05:00
Martin Braun
8b0d627a54 rfnoc: Transition stream managers and mgmt_portal to topo_graph_t
This is an invasive change in how the management portal stores routes.
Previously, it would store all the shortest routes from its respective
local SEP to all the nodes in the graph. The key change here is to
replace mgmt_portal_impl::_node_addr_map with mgmt_portal_impl::_tgraph.

However, this has a lot of downstream effects. mgmt_portal_impl itself
required a lot of changes to make use of _tgraph instead of
_node_addr_map. Some changes to graph_stream_manager.cpp and
link_stream_manager.cpp were also required. Note that there is a single
instance of a topology graph within an rfnoc_graph, and it is owned by
the graph_stream_manager.
A less invasive change was the removal of the _epid_addr_map cache
object, since the topology graph stores EPIDs itself, it was a redundant
data structure.

This change by itself offers no new features or functionality, and has
no API changes beyond the graph stream manager. However, it is the basis
for enabling more features down the line.
2022-08-30 13:43:36 -05:00
Martin Braun
0c2888a897 rfnoc: Add topology graph object
This is a class that stores the topology of RFNoC devices in a session
in a graph object. Nodes in such a graph include crossbars, transport
adapters, and stream endpoints. They are statically defined by the
underlying hardware.

This graph is different from the detail::graph, which stores the
configuration of the RFNoC blocks that the user chooses at runtime.

The main purpose of this graph is to keep track of and manage available
routes within the RFNoC devices. The intention of this object is that
every rfnoc_graph owns exactly one of these graphs, where it can store
all the routing information.
2022-08-30 13:43:36 -05:00
Martin Braun
40b66c9e56 uhd/mpm: Add API to set remote routes
This is an addition to both PeriphManagerBase (MPM) and mb_iface (UHD).
Main changes:

- Addition of mb_iface::add_remote_chdr_route() and
  mb_iface::get_chdr_xport_adapters()
- In X3x0, these APIs are stubbed out.
- In mpmd, these APIs are implemented and call the new MPM APIs (see
  below)
- Addition of PeriphManagerBase.add_remote_chdr_route() and
  PeriphManagerBase.get_chdr_xport_adapters()
- The PeriphManagerBase implements these APIs fully when the
  'remote_udp_streaming' FPGA feature is detected.
- The MPM compat number is bumped to 4.3. UHD will continue to work with
  lower compat numbers. It will query the compat number and act
  accordingly.
2022-08-30 13:43:36 -05:00
Martin Braun
addb81aa5d mpm: xports: Add XportAdapterMgr class
This provides an API to program remote streams from a transport adapter.
2022-08-30 13:43:36 -05:00
Martin Anderseck
6caed8a956 extension: Add Extension Framework documentation
Added documentation on how the Extension Framework can be used.
2022-08-30 08:49:26 -05:00
Martin Anderseck
4f993faf13 extension: Add extension example
Added example for extension framework which can be used as template for
own extensions.
2022-08-30 08:49:26 -05:00
Martin Anderseck
4789c32f40 extension: Add extension framework
This change adds the extension framwork that enables external libraries
to extend the UHD functionality in MultiUSRP and RFNoC. Its main purpose
is to be able to use external frontend modules, signal conditioning
modules etc. and to control them together with the USRP device. To make
it easier to install into the correct directory the UHD_MODULE_PATH gets
exported in CMake.
2022-08-30 08:49:26 -05:00
Wade Fife
4f9a71f122 fpga: lib: Add eth_ipv4_interface_tb 2022-08-29 17:01:45 -05:00
Wade Fife
d628c136a0 fpga: lib: Add RegPort SystemVerilog interface 2022-08-29 17:01:45 -05:00
Wade Fife
0af84329a7 fpga: sim: Support unused tkeep in AxiStreamPacket::dump_bytes() 2022-08-29 17:01:45 -05:00
Wade Fife
65671437c8 fpga: n3xx: Bump FPGA compat to 8.1 2022-08-29 17:01:45 -05:00
Wade Fife
50949d28d4 fpga: e320: Bump FPGA compat to 6.1 2022-08-29 17:01:45 -05:00
Wade Fife
e716c8c720 fpga: lib: Add compat to Verilog transport adapter 2022-08-29 17:01:45 -05:00
Wade Fife
0114e108af fpga: e320: Support advanced transport adapter
- Fix NODE_INST
- Fix RFNOC_PROTOVER
- Add option to use SystemVerilog transport adapter for raw UDP
2022-08-29 17:01:45 -05:00