---
name: "rfnoc_modtool"
section: "1"
platform: "linux"
package: "libuhd"
version: "4.9.0.1-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/rfnoc_modtool"
---

# rfnoc\_modtool(1)

RFNoC OOT module management tool

## NAME

rfnoc\_modtool - RFNoC OOT module management tool

## DESCRIPTION

Create and manage RFNoC OOT modules.

## SYNOPSIS

**rfnoc\_modtool \[COMMAND\] \[OPTIONS\]**

## COMMANDS

Run rfnoc\_modtool COMMAND --help for more information on a specific command.

- create

  Create a new RFNoC OOT module.

- add

  Add a new block to an existing RFNoC OOT module.

- add-gr-oot

  Add GNU Radio OOT Module.

- add-gr-block

  Add GNU Radio block to an existing GNU Radio OOT module.

- add-grc

  Add GNU Radio GRC bindings for an existing block in this RFNoC OOT module.

- make-yaml

  YAML Creation Wizard -- Generate an RFNoC block YAML descriptor file based on user input.

## CREATING NEW MODULES

When running rfnoc\_modtool create, a new directory will be created that contains the necessary files for a new RFNoC OOT module. This directory will only contain boilerplate code, and the user will need to add their own blocks to the module.

By calling 'rfnoc\_modtool add-gr-oot', the user can add a GNU Radio OOT module inside the RFNoC OOT module.

## ADDING BLOCKS

When running rfnoc\_modtool add, a new block will be added to an existing RFNoC OOT module. This requires previously having run rfnoc\_modtool create to create the module.

Note that in order for 'rfnoc\_modtool add' to succeed, the user must provide a block descriptor file in YAML format. This file describes the block and its parameters. The user can create this file manually, or use the YAML Creation Wizard by running rfnoc\_modtool make-yaml. The wizard will prompt the user for the necessary information to create a valid YAML file.

Once blocks have been created, the user can add native GNU Radio blocks to enable more precise control over RFNoC blocks from GNU Radio by running 'rfnoc\_modtool add-gr-block'.

To add GNU Radio GRC bindings for the blocks, call 'rfnoc\_modtool add-grc'.

## EXAMPLES

### Create a new RFNoC OOT module called filter

```
rfnoc_modtool create filter
cd rfnoc-filter
```

### Use the YAML Creation Wizard to create a block descriptor file

```
rfnoc_modtool make-yaml
```

### After editing the fir.yml file to describe the FIR filter block, add a block called fir to the filter module

```
rfnoc_modtool add fir
```

### Now add a GNU Radio OOT module

```
rfnoc_modtool add-gr-oot
```

### Add a GNU Radio block to the filter module to control the FIR RFNoC block (e.g., for better integration into the GNU Radio filter design tool)

```
rfnoc_modtool add-gr-block --gr-blockname rfnoc_fir fir
```

### Expose this new block into GRC

```
rfnoc_modtool add-grc --binding-type native fir
```

## SEE ALSO

UHD documentation: **http://files.ettus.com/manual/**

GR-UHD documentation: **http://gnuradio.org/doc/doxygen/page\_uhd.html**

Other UHD programs:

[rfnoc\_image\_builder(1)](/rfnoc_image_builder/1.md)

## AUTHOR

This manual page was written by Martin Braun.

## COPYRIGHT

Copyright (c) 2015-2022 Ettus Research, A National Instruments Brand

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
