Skip to content

UHD 4.7.0.0-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@joergho joergho released this 19 Jun 11:30
· 11 commits to uhd-4.7/kirkstone since this release

UHD 4.7.0.0

Highlights / Main Changes

  • Major updates to rfnoc_image_builder (a98ce26). This change adds support for
    defining transport adapters in the image builder YAML files, adding custom
    modules, and more.
  • Updated embedded OS on file system images for E3xx, N3xx, and X4xx devices
    to Yocto 4.0 (kirkstone).

New Features

  • General
    • Allow installing only Python-based utilities (e.g., rfnoc_image_builder)
      by adding the ENABLE_PYMOD_UTILS option to CMake.
    • Added ability to query dot representation of RFNoC graph
  • Python support
    • Added DRAMReceiver class and amend rx_to_file.py example to use new class.
      This supplements the DRAMTransmitter class and simplifies using the DRAM-backed
      RFNoC replay block to when signal bandwidth exceeds available streaming bandwidth.
  • CMake
    • We now search for a system version of Pybind11 before falling back to the
      bundled version. The system version is preferred, and the bundled version
      may be removed in a future release.
  • RFNoC
    - Image builder: Major update, which adds support for defining transport
    adapters in the image builder YAML files, adding custom modules, choosing
    custom directories for build, IP, and intermediate files, building IP
    only, saving Vivado projects, and more. Image core YAML files created with
    this version are not compatible with previous versions, and vice versa!
    - Added support for defining custom register spaces in RFNoC blocks.
    - Added license checking subsystem. This allows creating RFNoC blocks that
    require a license key to operate.
    - Add device DNA feature for X310, X410, X440. This allows reading back the
    FPGA's DNA, which is a unique identifier.
  • X440
    • Added new guided log info mode to provide more information about the Nyquist
      zone in which the chosen frequency is located. These additional info logs
      are enabled by default. For disabling the guided mode, add the entry
      guided_mode=false to the UHD config file in the "Global" section.
  • Examples
    • rfnoc-example now also generates Python bindings for OOT block control functions.

Dependencies changes

  • Increase minimum required version
    • Python to 3.7.0
    • Pybind11 to 2.7.0

Bug Fixes

  • General UHD
    • Fix issue with undefined HOME or XDG_CONFIG_HOME
    • Fix compilation error with boost 1.85.0 (closed issue 740)
    • Fixed cmake find_library for UHD to fail if the library is not found
    • Fixed setters for ALL_CHANS in multi_usrp
    • Demote safe call logging to warning
    • Fix outstanding clang-format issues
    • fix compiling with gcc 13.2
  • Python support
    • YAML files are now listed as part of the package
    • Fix setting start_time having no effect
  • RFNoC
    • Add EOB to source port of null_src_sink block
    • Fix RFNoC graph action queue lockup on action exceptions
    • FIR filters now uses newer IP revisions
    • Reverse FIR filter coefficients now get embedded in DSPE48
  • B2xx
    • Fixed FRAC2 calculation (closed issue 684).
    • Fix DC truncation bias by adding rounding to DDC chain
  • X310
    • Fix warning about duplicate reg
    • ubx
      • update ubx xcvr mode options
      • write output power to correct LO
      • Fix width of gain register
  • MPM
    • Deactivate explicit DAD (Duplicate Address Detection) on int0 interface
      since this is the default behavior of systemd v250.5 (Yocto release kirkstone)
      for static IPv4 addresses if the IP address is a link local address.
    • Correct outdated mender command in prints of usrp_update_fs utility
    • No longer import from from rpc_server when already importing usrp_mpm
  • X400 Platform
    • Add PPS interface to X410/X440 BSP
    • Add netlist make flow
    • Update PS DRAM speed bin
    • Replace Ethernet transport adapter
  • X410
    • Set Locale for ZBX Lattice build
    • Improve Lattice make flow
  • X440
    • Fix error in master clock table for 1000MHz mcr.
    • Place SPI into IOB on X440
    • mpm
      • Add error for recurring TA node inst values
      • Fix warning about different converter rates
      • Fix MTS skip for dual-rate
      • Use greatest converter rate for sysref rate
      • Add warning for bad conv rate order
      • Enable multiple LMK VCO rates per MCR
  • Examples
    • Fix rx_samples_to_file failure for multichannel fullpath.
    • Fixed bugs observing cmd argument -c in remote_rx.py example.
    • Updated tx_waveforms examples now also use timed commands during frequency tuning.
      On X440 this allows reproducing specified channel to channel phase alignments.
  • Validated OS Environments
    (Versions for build and runtime dependencies can be determined from the
    docker container definitions in the UHD repository at .ci/docker/...)
    • Linux
      • Ubuntu: bionic (18.04), focal (20.04), jammy (22.04), noble (24.04)
      • Fedora: 34, 35, 36
    • Windows: 10 21H2, 11 21H2
    • MacOS: Monterey (12.6)