aboutsummaryrefslogtreecommitdiffstats
path: root/host/examples/rfnoc-example/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'host/examples/rfnoc-example/README.md')
-rw-r--r--host/examples/rfnoc-example/README.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/host/examples/rfnoc-example/README.md b/host/examples/rfnoc-example/README.md
new file mode 100644
index 000000000..608c54745
--- /dev/null
+++ b/host/examples/rfnoc-example/README.md
@@ -0,0 +1,28 @@
+# RFNoC: An example out-of-tree module
+
+This directory contains a fully functional out-of-tree module with a gain block.
+It serves as an example for OOT modules with UHD 4.0 and above.
+
+## Directory Structure
+
+* `blocks`: This directory contains all the block definitions. These block
+ definitions can be read by the RFNoC tools, and will get installed into the
+ system for use by other out-of-tree modules.
+
+* `cmake`: This directory only needs to be modified if this OOT module will
+ come with its own custom CMake modules.
+
+* `fpga`: This directory contains the source code for the HDL modules of the
+ individual RFNoC blocks, along with their testbenches, and additional modules
+ required to build the blocks. There is one subdirectory for every block.
+
+* `include/rfnoc/example`: Here, all the header files for the block controllers
+ are stored, along with any other include files that should be installed when
+ installing this OOT module.
+
+* `lib`: Here, all the non-header source files for the block controllers are stored,
+ along with any other include file that should be installed when installing
+ this OOT module. This includes the block controller cpp files.
+
+* `apps`: This contains an example application that links against UHD and this
+ OOT module. The app does not get installed, it resides in the build directory.