Go to file
Wade Fife bdcde92afa fpga: rfnoc: Fix EOB loss in DUC
There were some rare corner cases where the EOB could get lost in the
DUC due to the dds_timed logic not always passing it through as it
should. This resulted in an underflow error message at the end of
transmission.

This commit also fixes an issue where part of the last packet
used a frequency shift of 0 instead of the requested frequency
shift, and an issue where the first few samples of a burst used the
wrong frequency shift value.

Part of the fix includes adding a TUSER port to dds_sin_cos_lut_only.
The TUSER port is built into the IP but was disabled. It is now
enabled and set to 1 bit wide. This has a very small effect on
resource usage and can be left unconnected when not needed.

The dds_freq_tune block was shared by the DUC and DDC. To avoid
affecting the DDC, a new version, dds_freq_tune_duc, is being
added for the DUC to use that has the necessary fixes.

The new dds_wrapper.v is a wrapper for the dds_sin_cos_lut_only IP.
This IP has the undesirable behavior that new inputs must be provided
to push previous outputs through the IP. This wrapper hides that
complexity by adding some logic to ensure all data gets pushed through
automatically. This logic uses the TUSER port on the IP.

Finally, a testbench for dds_timed was added.
2021-08-19 16:01:40 -05:00
.github github: comment out instructions in Issue Template 2019-03-18 08:55:39 -07:00
firmware firmware: b2xx: Update to newer Cypress FX3 SDK 2020-08-25 07:28:22 -05:00
fpga fpga: rfnoc: Fix EOB loss in DUC 2021-08-19 16:01:40 -05:00
host cmake: Fix VS names and use relative for images 2021-08-09 12:23:26 -05:00
images images: Update B2xx firmware 2021-02-03 17:17:11 -08:00
mpm mpm: tests: Add lib/ to library load path 2021-07-27 12:47:59 -05:00
tools tools: Add bool-property-set ability to rx_settling_time.py 2021-06-04 13:51:35 -05:00
.clang-format clang-format: Break after templates 2019-03-21 09:50:09 -07:00
.clang-tidy Add clang-tidy file 2021-03-04 08:32:57 -06:00
.gitignore uhd: gitignore .DS_Store for our macOS friends 2021-03-31 14:20:28 -05:00
.gitmodules Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
CHANGELOG Prepare branch for release 2020-09-13 12:14:04 -07:00
CODING.md Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
CONTRIBUTING.md Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
LICENSE.md Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
README.md README.md: Fix REDHAWK link 2020-08-13 15:02:20 -05:00

USRP Hardware Driver (UHD™) Software

Welcome to the UHD™ software distribution! UHD is the free & open-source software driver and API for the Universal Software Radio Peripheral (USRP™) SDR platform, created and sold by Ettus Research.

UHD supports all Ettus Research USRP™ hardware, including all motherboards and daughterboards, and the combinations thereof.

Documentation

For technical documentation related to USRP™ hardware or UHD system design, check out the UHD and USRP Manual. That is where you can find Installation Instructions, help on how to build UHD from source on different platforms, development guidelines and reference documentation as well as device usage guidance.

Additionally, be sure to check out the Ettus Research FAQ, and the Knowledge Base for useful application notes and tutorials.

OS Support

UHD is primarily developed on Linux, but we also test and support the following operating systems.

  • Linux (Fedora and Ubuntu)
  • Mac OS X (Intel)
  • Windows 10

Other operating systems will most likely work, too, but are not officially supported.

Applications

UHD can be used to build stand-alone applications with USRP™ hardware, or with third-party applications. Some common toolkits / frameworks are:

Directories

host/

The source code for the user-space driver.

mpm/

The source code for the module peripheral manager (MPM). This is code that is run on embedded devices.

firmware/

The source code for all microprocessors in USRP hardware.

fpga/

The source code for the UHD FPGA images.

images/

This contains the package builder for FPGA and firmware images. We provide other tools to download image packages, the scripts in here are mainly relevant for UHD maintainers and -developers.

tools/

Additional tools, mainly for debugging purposes. See the readme-file in that directory for more details on the individual tools.