Hi Yunxi, 1. As of UHD 4.8, the rfnoc_image_builder resolves the path relative to the path of the image core .yml files. This means you have to create a copy of the x410_radio_base.yml and x4xx_x4_base.yml files and place them at \~/rfnoc-mymodule/icores/yaml_include/.
2. Absolute paths are not supported/recommended. Please use relative paths. 3. We are currently working on providing better documentation for generating custom RFNoC IP. As a starting point we did the following: * We created the https://github.com/EttusResearch/rfnoc-oot-blocks repository to give an example of an out-of-tree module. * We improved the rfnoc_modtool. It now offers an interactive mode for generating rfnoc blocks:\ $ rfnoc_modtool create mymodule ✅ Created new module template at location /home/user/rfnoc-mymodule... ✅ Renamed symbols to match module name ('mymodule'). Module creation complete. $ cd rfnoc-mymodule/ $ rfnoc_modtool add myblock01 Block descriptor file None does not exist. Would you like to run the YAML creation wizard? (y/n) y Choose NoC-ID (e.g., 0x1234ABCD): 0x1234 Provide comma-separated list of additional clocks (e.g., 'ce', leave blank for none): Specify control FIFO depth: \[32\] Specify clock domain for control interface (leave blank for default): \[rfnoc_chdr\] Specify data interface type (axis_chdr, axis_pyld_ctxt, axis_data, none): \[axis_data\] Specify clock domain for data interface (leave blank for default): \[rfnoc_chdr\] Specify number of input ports: \[1\] Specify number of output ports: \[1\] Specify input data type: \[sc16\] Specify output data type: \[sc16\] ✅ Generated rfnoc/blocks/myblock01.yml. Open the file and make any necessary changes before proceeding! ⚠ Skipping block generation -- re-run 'rfnoc_modtool add' after editing the block descriptor file. $ rfnoc_modtool add myblock01 ✅ Using block descriptor file: rfnoc/blocks/myblock01.yml ⚙️ Parsing block descriptor file rfnoc/blocks/myblock01.yml... ✅ Parsed block descriptor file rfnoc/blocks/myblock01.yml. ✅ Added gateware templates to fpga/mymodule/rfnoc_block_myblock01. ✅ Added testbench templates. ✅ Added C++ block controller templates. ✅ Added Python binding templates. ✅ Done: Added block myblock01 to module mymodule. * We improved the rfnoc_image_builder: it now performs additional checks on the RFNoC image core .yml file. E.g. if there are invalid connections, it will generate appropriate errors. Also running rfnoc_image_builder with debug logging might be helpful in case you see issues: rfnoc_image_builder -l debug (…) Kind regards,\ Jörg
_______________________________________________ USRP-users mailing list -- [email protected] To unsubscribe send an email to [email protected]
