The RFNoC FPGA IP blocks that ship with UHD are listed below. These blocks can be incorporated into a custom FPGA design by instantiating them in the respective image core yaml file that defines that FPGA design.
The list of RFNoC IP blocks that are maintained within the UHD repository are listed below.
| Name (Link to Documentation) | File Name | Description |
|---|---|---|
| Add / Subtract (Manual) | addsub | Computes the sum and the difference of two input streams |
| Digital Down Conversion (Manual) | ddc | Frequency shift and integer sample rate down conversion |
| RAM FIFO (Manual) | axi_ram_fifo | A large FIFO buffer that uses DRAM on the USRP for storage. |
| Digital Up Conversion (Manual) | duc | Integer sample rate upconversion and frequency shift |
| FFT (Manual) | fft | (i)FFT with cyclic prefix insertion and removal |
| FIR Filter (Manual) | fir_filter | FIR filter with compile time configurable length and run time configurable filter coefficients |
| Fosphor (Manual) | fosphor | Computes histogram and waterfall of FFT-converted input packets |
| Keep One in N (Manual) | keep_one_in_n | Keeps 1 sample or packet and drops the following N-1 samples or packets |
| License Checker (Manual) | license_check | Reads and evaluates license keys |
| Log Power (Manual) | logpwr | Computes an estimate for 1024 * log2(i^2 + q^2) of a complex-valued input sample |
| Moving Average (Manual) | moving_avg | Computes the moving average of an input stream. |
| Null Source / Sink(Manual) | null_src_sink | Acts as FPGA data source, sink or input-output loopback |
| Radio (Manual) | radio | Interface between RFNoC framework and RF hardware, providing radio control and data streaming capabilities |
| Replay (Manual) | replay | Records data to DRAM memory or plays data back from DRAM memory |
| Signal Generation (Manual) | siggen | Generates constant, sinusoidal or uniformly distributed noise signals |
| Split Stream (Manual) | split_stream | Replicates a single input stream into multiple output streams |
| Switchboard (Manual) | switchboard | Routes any single input to any single output |
| Vector IIR (Manual) | vector_iir | IIR filter with a single feedforward and feedback tap and a variable delay |
| Window (Manual) | window | Multiplies an input signal by a shaping function (window) |
Out-of-tree blocks are RFNoC blocks that are developed and maintained outside of the main UHD repository here: https://github.com/EttusResearch/rfnoc-oot-blocks
| Name (Link to Documentation) | File Name | Description |
|---|---|---|
| Aurora (Manual, Getting Started) | aurora | Remote Tx / Rx streaming between X4xx and non-UHD (FPGA) devices using the Aurora protocol |