Hi Martin, I had another issue once I resolved the YML problem. I start the synthesis with this command:
rfnoc_image_builder -y x440_200_nbc_rfnoc_image_core.yml -d x440 -t X440_X4_200 --fpga-dir ~/rfnoc/uhd/fpga/ But Vivado can't find my OOT block: ERROR: [Synth 8-439] module 'rfnoc_block_nbcv2' not found [~/rfnoc/gr-ettus/rfnoc-nbc_v2/rfnoc/icores/x440_200_rfnoc_image_core.v:1512] I've used the x440_200_nbc_rfnoc_image_core.yml example in uhd/fpga/usrp3/top/x400/ but added a new EP to connect my block. I've also reviewed the x440_200_rfnoc_image_core.v generated and it instance my module name correctly. As it is my first time using UHD 4.6 (I usually use 4.0) I don't know if I need to do any other modifications to Makefiles to find my block. I tried to indicate the OOT folder with the -I option in rfnoc_image_builder, but I got the same error. What I usually do with 4.0 is the following: 1) Generate block with rfnocmodtool 2) Modify grc, lib, include, FPGA, block, and icore folders to include my block code. Add to the fpga/Makefile.srcs all the vhdl/verilog sources for my FPGA code. 3) Build my block 4) Move to the icore folder of my block and run the rfnoc_image_builder command. Is there something that I'm missing for the 4.6 version? Kind Regards, Maria El mié, 17 jul 2024 a las 13:13, Martin Braun (<martin.br...@ettus.com>) escribió: > In that case you can just do > > apt install python3-ruamel.yaml > > and make sure you have no other version installed. > > --M > > On Wed, Jul 17, 2024 at 12:22 PM Maria Muñoz <mamuk...@gmail.com> wrote: > >> Hi Martin, >> . >> Thanks for your answer. I will do the workaround. >> By the way, I'm using Ubuntu 20.04. >> >> Kind Regards, >> >> El mié, 17 jul 2024 a las 12:07, Martin Braun (<martin.br...@ettus.com>) >> escribió: >> >>> Quick addendum: If you do update to 4.7, you will need to update some >>> image core files, because we changed stuff for X410 and X440. Best to go >>> back to the YAML files we provide in-tree and add your OOT blocks to those. >>> >>> --M >>> >>> On Wed, Jul 17, 2024 at 12:05 PM Martin Braun <martin.br...@ettus.com> >>> wrote: >>> >>>> Hey Maria, >>>> >>>> thanks for reporting this issue. Some pointers: >>>> - As a workaround, you can install ruamel.yaml 0.17. I don't know how >>>> you installed it before, but you can do `pip install "ruamel.yaml<0.18.0"` >>>> if you used pip before. >>>> - I need to double-check this, but I think UHD 4.7 has a fix for this. >>>> If not, we will need to fix this ASAP (note to myself) >>>> >>>> >>>> Can you provide some info on your system (OS, distribution, etc.)? Many >>>> thanks, >>>> >>>> Martin >>>> >>>> On Wed, Jul 17, 2024 at 11:05 AM Maria Muñoz <mamuk...@gmail.com> >>>> wrote: >>>> >>>>> Hi all, >>>>> >>>>> I'm trying to use the UHD 4.6 version with RFNoC to build an image for >>>>> the x440 USRP device. I used UHD 4.0 for USRP E320 without a problem, but >>>>> now I have an issue with the YML files for the X440 image building. >>>>> I have installed UHD 4.6, GNURadio 3.8, and gr-ettus (to have the >>>>> rfnocmodtool command). >>>>> I can build my block in software without issues but when I try to >>>>> create the FPGA image with rfnoc_image_builder an error occurs: >>>>> >>>>> >> *rfnoc_image_builder -y block_x440_rfnoc_image_core.yml -d x440 -t >>>>> X4_400 --fpga-dir ~/rfnoc/uhd/fpga/* >>>>> *[WAR] Module jsonschema is not installed. Configuration files will >>>>> not be validated against their schema.* >>>>> *[WAR] Skip schema validation (missing module jsonschema).* >>>>> *[INF] Using FPGA directory /home/satmotion/rfnoc/uhd/fpga* >>>>> *[INF] Selected device x440* >>>>> *[INF] Using io_signatures.yml from /usr/local/share/uhd/rfnoc/core.* >>>>> *Traceback (most recent call last):* >>>>> * File "/usr/local/bin/rfnoc_image_builder", line 240, in <module>* >>>>> * sys.exit(main())* >>>>> * File "/usr/local/bin/rfnoc_image_builder", line 219, in main* >>>>> * image_builder.build_image(* >>>>> * File >>>>> "/usr/local/lib/python3.8/site-packages/uhd/imgbuilder/image_builder.py", >>>>> line 1112, in build_image* >>>>> * signatures_conf = io_signatures(core_config_path)* >>>>> * File >>>>> "/usr/local/lib/python3.8/site-packages/uhd/imgbuilder/image_builder.py", >>>>> line 666, in io_signatures* >>>>> * return load_config(os.path.join(config_path, >>>>> "io_signatures.yml"))* >>>>> * File >>>>> "/usr/local/lib/python3.8/site-packages/uhd/imgbuilder/image_builder.py", >>>>> line 640, in load_config* >>>>> * config = ordered_load(stream)* >>>>> * File >>>>> "/usr/local/lib/python3.8/site-packages/uhd/imgbuilder/image_builder.py", >>>>> line 115, in ordered_load* >>>>> * return yaml.load(stream, OrderedLoader)* >>>>> * File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", >>>>> line 1085, in load* >>>>> * error_deprecation('load', 'load', arg=_error_dep_arg, >>>>> comment=_error_dep_comment)* >>>>> * File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", >>>>> line 1037, in error_deprecation* >>>>> * raise AttributeError(s)* >>>>> *AttributeError: * >>>>> *"load()" has been removed, use* >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> * yaml = YAML(typ='rt') yaml.load(...)and register any classes that >>>>> you use, or check the tag attribute on the loaded data,instead of file >>>>> "/usr/local/lib/python3.8/site-packages/uhd/imgbuilder/image_builder.py", >>>>> line 115 return yaml.load(stream, OrderedLoader)* >>>>> >>>>> Do you know how I can solve this problem? >>>>> >>>>> Kind, Regards, >>>>> >>>>> Maria >>>>> _______________________________________________ >>>>> USRP-users mailing list -- usrp-users@lists.ettus.com >>>>> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >>>>> >>>>
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com