Try this patch file.  I received from Ettus a long time ago (Oct 2019?) but
it appears that it is still not fixed.
Rob

On Tue, Jul 28, 2020 at 6:27 AM Jorge Arroyo Giganto via USRP-users <
[email protected]> wrote:

> Hi,
>
>
> I’m working on getting a solid workflow to build and use RFNoC blocks. I’m
> using branches UHD-3.15.LTS and GNU Radio’s maint-3.7 (also, packet
> gr-ettus from the master branch and uhd-fpga from the UHD-3.15.LTS branch).
> I’m using an E310 (SG1), with the SD image I get with
> ‘uhd_images_downloader -t e310 -t sdimg’ (usrp_e310_fs.sdimg). Also, I’m
> running Ubuntu 18.04 and I’ve got Vivado 2018.3 installed.
>
> A couple of weeks ago I started trying to follow the ‘Getting Started with
> RFNoC Development’ guide, and tried using rfnoc-devel and master branches,
> but it seems like this UHD-3.15.LTS is the one working the best for me, but
> I still have some issues.
>
> Following the guide, I built a custom block (gain), which I was able to
> get through the testbench (after quite a bit of attempts), but when trying
> to generate a bitstream (.bit file) with my gain block I got the following
> errors:
>
>
>     ~/rfnoc_UHD315/src/uhd-fpga/usrp3/tools/scripts$
> ./uhd_image_builder.py gain fft -I ~/rfnoc_UHD315/src/rfnoc-tutorial/ -d
> e31x -t E310_RFNOC -m 4 –fill-with-fifos
>
>      .
>
>      .
>
>      .
>
>      ERROR: [Synth 8-439] module 'noc_block_gain' not found
> [/home/jarroyo/rfnoc_UHD315/
> src/uhd-fpga/usrp3/top/e31x/rfnoc_ce_auto_inst_e31x.v:20]
>
>      ERROR: [Synth 8-6156] failed synthesizing module 'e31x_core'
> [/home/jarroyo/rfnoc_UHD315/src/uhd-fpga/usrp3/top/e31x/e31x_core.v:17]
>
>      ERROR: [Synth 8-6156] failed synthesizing module 'e31x'
> [/home/jarroyo/rfnoc_UHD315/src/uhd-fpga/usrp3/top/e31x/e31x.v:13]
>
>      [00:01:46] Current task: Synthesis +++ Current Phase: Starting
>
>      ERROR: [Common 17-69] Command failed: Synthesis failed - please see
> the console or run log file for details
>
>      [00:01:46] Current task: Synthesis +++ Current Phase: Finished
>
>      [00:01:46] Process terminated. Status: Failure
>
>
> If it is useful information, I was able to successfully generate a
> bitstream with existing RFNoC blocks (‘./uhd_image_builder.py window fft -d
> e31x -t E310_RFNOC -m 3 –fill-with-fifos’ for example, is working), so
> that’s why I guess my main issue is with the gain custom block.
>
>
> Also, another issue I’m having is using uhd_image_loader on the E310
> terminal when loading my own bitstreams:
>
>
>      root@ni-e31x:~# uhd_image_loader
> --args="type=e3xx,addr=192.168.10.2" --fpga-path
> /usr/share/uhd/images/e31x.bit
>
>      [INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106800;
> UHD_3.15.0.0-0-gaea0e2de
>
>      No applicable UHD devices found
>
>
> Is there anything I might be doing wrong? Or is this workflow with these
> branches and tool versions not the most appropiate currently?
>
>
> Thanks in advance,
>
>
> Jorge
> _______________________________________________
> USRP-users mailing list
> [email protected]
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
diff --git a/usrp3/tools/scripts/uhd_image_builder.py b/usrp3/tools/scripts/uhd_image_builder.py
index 23bfa2d9..1587dd25 100755
--- a/usrp3/tools/scripts/uhd_image_builder.py
+++ b/usrp3/tools/scripts/uhd_image_builder.py
@@ -303,24 +303,18 @@ def create_oot_include(device, include_dirs):
             currpath = os.path.abspath(str(dirs))
             if os.path.isdir(currpath) & (os.path.basename(currpath) == "rfnoc"):
                 # Case 1: Pointed directly to rfnoc directory
-                oot_path = currpath
+                oot_path = os.path.dirname(currpath)
             elif os.path.isdir(os.path.join(currpath, 'rfnoc')):
                 # Case 2: Pointed to top level rfnoc module directory
-                oot_path = os.path.join(currpath, 'rfnoc')
-            elif os.path.isfile(os.path.join(currpath, 'Makefile.inc')):
-                # Case 3: Pointed to a random directory with a Makefile.inc
                 oot_path = currpath
             else:
                 print('No RFNoC module found at ' + os.path.abspath(currpath))
                 continue
             if oot_path not in oot_dir_list:
                 oot_dir_list.append(oot_path)
-                named_path = os.path.join('$(BASE_DIR)', get_relative_path(get_basedir(), oot_path))
+                named_path = os.path.join('$(BASE_DIR)', get_relative_path(get_basedir(), oot_path), 'rfnoc')
                 incfile.write(OOT_DIR_TMPL.format(oot_dir=named_path))
-                if os.path.isfile(os.path.join(oot_path, 'Makefile.inc')):
-                    # Check for Makefile.inc
-                    incfile.write(OOT_INC_TMPL)
-                elif os.path.isfile(os.path.join(oot_path, 'rfnoc', 'Makefile.inc')):
+                if os.path.isfile(os.path.join(oot_path, 'rfnoc', 'Makefile.inc')):
                     # Check for Makefile.inc
                     incfile.write(OOT_INC_TMPL)
                 elif os.path.isfile(os.path.join(oot_path, 'rfnoc', 'fpga-src', 'Makefile.srcs')):
@@ -446,8 +440,7 @@ def device_dict(args):
         'e310':'e300',
         'e320':'e320',
         'n300':'n3xx',
-        'n310':'n3xx',
-        'n320':'n3xx'
+        'n310':'n3xx'
     }
     return build_dir[args]
 
diff --git a/usrp3/top/n3xx/Makefile.n3xx.inc b/usrp3/top/n3xx/Makefile.n3xx.inc
index 9a8e9ec1..ddfa6e5a 100644
--- a/usrp3/top/n3xx/Makefile.n3xx.inc
+++ b/usrp3/top/n3xx/Makefile.n3xx.inc
@@ -36,8 +36,8 @@ include $(LIB_DIR)/axi/Makefile.srcs
 include $(LIB_DIR)/radio/Makefile.srcs
 include $(LIB_DIR)/white_rabbit/wr_cores_v4_2/Makefile.srcs
 include $(LIB_DIR)/rfnoc/Makefile.srcs
-include $(BASE_DIR)/n3xx/Makefile.OOT.inc
 include $(BASE_DIR)/n3xx/Makefile.srcs
+include $(BASE_DIR)/n3xx/Makefile.OOT.inc
 include $(BASE_DIR)/n3xx/dboards/rh/Makefile.srcs
 include $(BASE_DIR)/n3xx/dboards/mg/Makefile.srcs
 include $(BASE_DIR)/n3xx/dboards/eiscat/Makefile.srcs
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to