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

Reply via email to