[USRP-users] Error creating RFNoC FPGA image with OOT module

EJ Kreinar ejkreinar at gmail.com
Wed Oct 4 19:19:55 EDT 2017


Hi Jose,

You've encountered a new feature of the uhd-fpga build process. If your OOT
repo has a Makefile.inc, the uhd_image_builder.py script will point to
those makefiles in the OOT repo. This is especially useful for synthesizing
Xilinx IP or HLS cores. (See the Makefile.inc files here for a dummy
example: https://github.com/ejk43/rfnoc-ootexample/tree/master/rfnoc) This
is a feature that is (as of today, Oct 2017) not currently supported with
rfnocmodtool, so it's somewhat "advanced", but we'd like to add this
capability to rfnocmodtool soon :)

It looks like your noc_block_twochannelsiggen is just not getting found.
This is probably an issue with the Makefiles in your OOT repo.

For example, this configuration might work:

1. <gnuradio-source>/rfnoc-siggench2/rfnoc/Makefile.inc:

RFNOC_SIGGEN2CH_DIR := $(OOT_DIR)
include $(abspath $(RFNOC_SIGGEN2CH_DIR)/fpga-src/Makefile.inc)


2. <gnuradio-source>/rfnoc-siggench2/rfnoc/fpga-src/Makefile.inc:

RFNOC_SRCS += $(addprefix $(RFNOC_SIGGEN2CH_DIR)/fpga-src/, \
noc_block_twochannelsiggen.v \
)

A side note, it's important to use "<something> := $(OOT_DIR)" to define a
unique variable that represent the out-of-tree directory-- this reads the
value of the OOT_DIR immediately, rather than deferring evaluation until
later, a nagging "feature" of the make process.



Of course, if you have no need of IP cores or HLS, you can happily delete
all the Makefile.inc files in your repo and use the Makefile.srcs format
that's supported via rfnocmodtool. Perhaps it's the easiest solution.

EJ


On Tue, Oct 3, 2017 at 4:52 PM, Nicolas Cuervo via USRP-users <
usrp-users at lists.ettus.com> wrote:

> Hello Jose,
>
> please try running the following:
>
>     $ ./uhd_image_builder.py twochannelsiggen duc fft *-I
> /home/joseavila/Documents/gnuradio_source/rfnoc-siggen2ch/* -d x310 -t
> X310_RFNOC_HG -m 6 --fill-with-fifos
>
> which means pointing to the top OOT directory instead to directly the
> fpga-srcs directory. This small change was recently introduced and might be
> the source of your issue. I just modified the guide accordingly.
>
> Also, there is a possibility that you will face another path problem that
> has already been fixed, but is yet to be pushed into the repository. To
> avoid it, before running the uhd_image_builder, please go into the
> uhd_image_builder.py file and modify the L239 from:
>
> -                    curr_srcs = curr_srcs.replace('SOURCES_PATH',
> os.path.join(oot_path, 'rfnoc', 'fpga-src'))
>
> to:
>
> +                    curr_srcs = curr_srcs.replace('SOURCES_PATH',
> os.path.join(oot_path, 'rfnoc', 'fpga-src', ''))
>
> As said, this fix will be pushed soon, but for now you can avoid problems
> by doing it manually.
>
> Regards,
> - Nicolas
>
> On Tue, Oct 3, 2017 at 9:21 PM, Avila, Jose A via USRP-users <
> usrp-users at lists.ettus.com> wrote:
>
>> We are currently getting an error attempting to build a fpga image when
>> running the following which points to the OOT module using the -I option
>>
>>
>>
>> *./uhd_image_builder.py twochannelsiggen duc fft -I
>> /home/joseavila/Documents/gnuradio_source/rfnoc-siggen2ch/rfnoc/fpga-src/
>> -d x310 -t X310_RFNOC_HG -m 6 --fill-with-fifos*
>>
>>
>>
>> The testbench ran successfully but now the image builder is giving an
>> error saying module *noc_block_twochannelsiggen not found
>> [.../top/x300/rfnoc_ce_auto_inst_x310.v]*
>>
>> twochannelsiggen is the OOT module created with rfnocmodtool in the
>> rfnoc-siggen2ch directory.  We tried editing the Makefile.OOT.inc in
>> /…/top/x300 with the following two lines
>>
>>
>>
>> *OOT_DIR =
>> /home/joseavila/Documents/gnuradio_source/rfnoc-siggen2ch/rfnoc*
>>
>> *include $(OOT_DIR)/Makefile.inc*
>>
>>
>>
>> As well as editing the subsequent makefiles in the OOT rfnoc directory.
>> We did notice that the Makefile.OOT.inc would get erased after running the
>> image builder and it erroring out.  The following is the error
>> encountered with the image builder
>>
>>
>>
>>
>>     Parameter my_addr bound to: 237 - type: integer
>>
>>
>>
>>     Parameter awidth bound to: 8 - type: integer
>>
>>
>>
>>     Parameter width bound to: 32 - type: integer
>>
>>
>>
>>     Parameter at_reset bound to: 0 - type: integer
>>
>>
>>
>> INFO: [Synth 8-256] done synthesizing module
>> 'setting_reg__parameterized18' (136#1) [/home/joseavila/Documents/gnu
>> radio_source/fpga/usrp3/lib/control/setting_reg.v:12]
>>
>>
>>
>> INFO: [Synth 8-256] done synthesizing module 'rx_frontend_gen3' (137#1)
>> [/home/joseavila/Documents/gnuradio_source/fpga/usrp3/lib/ra
>> dio/rx_frontend_gen3.v:5]
>>
>>
>>
>> ERROR: [Synth 8-439] module 'noc_block_twochannelsiggen' not found
>> [/home/joseavila/Documents/gnuradio_source/fpga/usrp3/top/x3
>> 00/rfnoc_ce_auto_inst_x310.v:22]
>>
>>
>>
>> ERROR: [Synth 8-285] failed synthesizing module 'x300_core'
>> [/home/joseavila/Documents/gnuradio_source/fpga/usrp3/top/x3
>> 00/x300_core.v:2]
>>
>>
>>
>> ERROR: [Synth 8-285] failed synthesizing module 'x300'
>> [/home/joseavila/Documents/gnuradio_source/fpga/usrp3/top/x300/x300.v:15]
>>
>>
>>
>> ------------------------------------------------------------
>> ---------------------
>>
>>
>>
>> Finished RTL Elaboration : Time (s): cpu = 00:01:44 ; elapsed = 00:01:44
>> . Memory (MB): peak = 1351.676 ; gain = 517.594 ; free physical = 4123 ;
>> free virtual = 14654
>>
>>
>>
>> ------------------------------------------------------------
>> ---------------------
>>
>>
>>
>> RTL Elaboration failed
>>
>>
>>
>> INFO: [Common 17-83] Releasing license: Synthesis
>>
>>
>>
>> 552 Infos, 57 Warnings, 0 Critical Warnings and 4 Errors encountered.
>>
>>
>>
>> synth_design failed
>>
>>
>>
>> ERROR: [Common 17-69] Command failed: Synthesis failed - please see the
>> console or run log file for details
>>
>>
>>
>> INFO: [Common 17-206] Exiting Vivado at Mon Oct  2 15:23:15 2017...
>>
>>
>>
>> make[1]: *** [bin] Error 1
>>
>>
>>
>> make[1]: Leaving directory `/home/joseavila/Documents/gnu
>> radio_source/fpga/usrp3/top/x300'
>>
>>
>>
>> make: *** [X310_RFNOC_HG] Error 2
>>
>>
>>
>>
>>
>> Thank you
>>
>>
>> _______________________________________________
>> USRP-users mailing list
>> USRP-users at lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>
>>
>
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20171004/196d4edf/attachment-0002.html>


More information about the USRP-users mailing list