usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

X410 FPGA build failure with UHD-4.4

RS
ryan.seal@dynetics.com
Thu, Aug 24, 2023 4:15 PM

I attempted to build an FPGA image on the UHD-4.4 branch with Vivado v2021.1_AR76780 (64-bit) using:

make X410_X4_200 SYNTH=1 GUI=1

When the IP cores are generated, the following folder is not pulled in properly:

uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports

As a temporary work-around, I was able to generate the example files from the xci file in

uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma

and then copied the imports into my build directory and kicked off synthesis once again via GUI.

There was also a syntax error in x410_200_rfnoc_image_core.v. The forward ticks on line 182 were causing an issue:

localparam EDGE_TBL_FILE = `"`RFNOC_EDGE_TBL_FILE`";

Can someone provide some guidance? I’m not sure if I made a mistake when I pulled something in, or I’m one of the few that attempted to build the image.

Going forward, I need to make clock modifications and wanted to get a look at the clock structure in vivado to find the best path forward. To summarize, I need to change the 245.76 clocks to 204.8. I would also like to use the RFDC directly if possible (static configuration is fine). That would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t feasible then I’ll need some rate-changing filters and additional clocks to adjust downstream.

- Ryan

I attempted to build an FPGA image on the UHD-4.4 branch with Vivado v2021.1_AR76780 (64-bit) using: **make X410_X4_200 SYNTH=1 GUI=1** When the IP cores are generated, the following folder is not pulled in properly: **uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports** As a temporary work-around, I was able to generate the example files from the xci file in **uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma** and then copied the imports into my build directory and kicked off synthesis once again via GUI. There was also a syntax error in x410_200_rfnoc_image_core.v. The forward ticks on line 182 were causing an issue: **localparam EDGE_TBL_FILE = \`"\`RFNOC_EDGE_TBL_FILE\`";** Can someone provide some guidance? I’m not sure if I made a mistake when I pulled something in, or I’m one of the few that attempted to build the image. Going forward, I need to make clock modifications and wanted to get a look at the clock structure in vivado to find the best path forward. To summarize, I need to change the 245.76 clocks to 204.8. I would also like to use the RFDC directly if possible (static configuration is fine). That would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t feasible then I’ll need some rate-changing filters and additional clocks to adjust downstream. \- Ryan
WF
Wade Fife
Fri, Aug 25, 2023 4:12 AM

Hi Ryan,

What was the problem/error message that suggested that folder wasn't being
pulled in properly? The "syntax error" implies that the
`RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the
makefile should pass that in based on the target you're building.

Did you make modifications to the repo or run rfnoc_image_builder? If so,
maybe try building the unmodified branch first to make sure everything is
working. For example:

source setupenv.sh
make cleanall
make X410_X4_200

Also, what OS are you using to build on?

Wade

On Thu, Aug 24, 2023 at 11:16 AM ryan.seal@dynetics.com wrote:

I attempted to build an FPGA image on the UHD-4.4 branch with Vivado
v2021.1_AR76780 (64-bit) using:

make X410_X4_200 SYNTH=1 GUI=1

When the IP cores are generated, the following folder is not pulled in
properly:

*uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports
*

As a temporary work-around, I was able to generate the example files from
the xci file in

uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma

and then copied the imports into my build directory and kicked off
synthesis once again via GUI.

There was also a syntax error in x410_200_rfnoc_image_core.v. The forward
ticks on line 182 were causing an issue:

localparam EDGE_TBL_FILE = "RFNOC_EDGE_TBL_FILE`";

Can someone provide some guidance? I’m not sure if I made a mistake when I
pulled something in, or I’m one of the few that attempted to build the
image.

Going forward, I need to make clock modifications and wanted to get a look
at the clock structure in vivado to find the best path forward. To
summarize, I need to change the 245.76 clocks to 204.8. I would also like
to use the RFDC directly if possible (static configuration is fine). That
would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t
feasible then I’ll need some rate-changing filters and additional clocks to
adjust downstream.

  • Ryan

USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

Hi Ryan, What was the problem/error message that suggested that folder wasn't being pulled in properly? The "syntax error" implies that the `RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the makefile should pass that in based on the target you're building. Did you make modifications to the repo or run rfnoc_image_builder? If so, maybe try building the unmodified branch first to make sure everything is working. For example: source setupenv.sh make cleanall make X410_X4_200 Also, what OS are you using to build on? Wade On Thu, Aug 24, 2023 at 11:16 AM <ryan.seal@dynetics.com> wrote: > I attempted to build an FPGA image on the UHD-4.4 branch with Vivado > v2021.1_AR76780 (64-bit) using: > > *make X410_X4_200 SYNTH=1 GUI=1* > > When the IP cores are generated, the following folder is not pulled in > properly: > > *uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports > * > > As a temporary work-around, I was able to generate the example files from > the xci file in > > *uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma* > > and then copied the imports into my build directory and kicked off > synthesis once again via GUI. > > There was also a syntax error in x410_200_rfnoc_image_core.v. The forward > ticks on line 182 were causing an issue: > > *localparam EDGE_TBL_FILE = `"`RFNOC_EDGE_TBL_FILE`";* > > Can someone provide some guidance? I’m not sure if I made a mistake when I > pulled something in, or I’m one of the few that attempted to build the > image. > > Going forward, I need to make clock modifications and wanted to get a look > at the clock structure in vivado to find the best path forward. To > summarize, I need to change the 245.76 clocks to 204.8. I would also like > to use the RFDC directly if possible (static configuration is fine). That > would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t > feasible then I’ll need some rate-changing filters and additional clocks to > adjust downstream. > > - Ryan > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com >
SR
Seal, Ryan L. [US-US]
Fri, Aug 25, 2023 2:48 PM

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content.

Hey Wade,

Here is the sequence of events:

  • git clone from github
  • git checkout UHD-4.4
  • cd to x400 folder
  • source setupenv.sh  (vivado 2021.1 with the AR patch applied)
  • make cleanall
  • make X410_X4_200 SYNTH=1 GUI=1  (<-- added those options so I could open the block design and take a peek at the clocks and RFDC config)

I am building on Linux Mint 20.3 Una, which is essentially Ubuntu 20.04 from a package perspective. I cut/pasted the dependency list from one of the setup docs, all of the packages were pulled in correctly, and I can talk to the X410 and run some of the example files.

I didn't make any modifications to the repo,  I want to get a default image successfully built before going any further. I've gotten through synthesis now, but haven't tried implementation and bitstream generation yet. I'm working from the GUI, so let me go back and check the RFNOC_EDGE_TBL_FILE definition and see exactly what's going on there.

Also, the "dev_config.json" file was missing from the x400 folder, not sure if that's another generated file, or just missing from the branch.  I copied that from the x300 folder.

Thanks,

Ryan


From: Wade Fife wade.fife@ettus.com
Sent: Thursday, August 24, 2023 11:12 PM
To: Seal, Ryan L. [US-US] ryan.seal@dynetics.com
Cc: usrp-users@lists.ettus.com usrp-users@lists.ettus.com
Subject: EXTERNAL: Re: [USRP-users] X410 FPGA build failure with UHD-4.4

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content.

Hi Ryan,

What was the problem/error message that suggested that folder wasn't being pulled in properly? The "syntax error" implies that the `RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the makefile should pass that in based on the target you're building.

Did you make modifications to the repo or run rfnoc_image_builder? If so, maybe try building the unmodified branch first to make sure everything is working. For example:

source setupenv.sh
make cleanall
make X410_X4_200

Also, what OS are you using to build on?

Wade

On Thu, Aug 24, 2023 at 11:16 AM <ryan.seal@dynetics.commailto:ryan.seal@dynetics.com> wrote:

I attempted to build an FPGA image on the UHD-4.4 branch with Vivado v2021.1_AR76780 (64-bit) using:

make X410_X4_200 SYNTH=1 GUI=1

When the IP cores are generated, the following folder is not pulled in properly:

uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports

As a temporary work-around, I was able to generate the example files from the xci file in

uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma

and then copied the imports into my build directory and kicked off synthesis once again via GUI.

There was also a syntax error in x410_200_rfnoc_image_core.v. The forward ticks on line 182 were causing an issue:

localparam EDGE_TBL_FILE = "RFNOC_EDGE_TBL_FILE`";

Can someone provide some guidance? I’m not sure if I made a mistake when I pulled something in, or I’m one of the few that attempted to build the image.

Going forward, I need to make clock modifications and wanted to get a look at the clock structure in vivado to find the best path forward. To summarize, I need to change the 245.76 clocks to 204.8. I would also like to use the RFDC directly if possible (static configuration is fine). That would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t feasible then I’ll need some rate-changing filters and additional clocks to adjust downstream.

  • Ryan

USRP-users mailing list -- usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.commailto:usrp-users-leave@lists.ettus.com

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content. Hey Wade, Here is the sequence of events: * git clone from github * git checkout UHD-4.4 * cd to x400 folder * source setupenv.sh (vivado 2021.1 with the AR patch applied) * make cleanall * make X410_X4_200 SYNTH=1 GUI=1 (<-- added those options so I could open the block design and take a peek at the clocks and RFDC config) I am building on Linux Mint 20.3 Una, which is essentially Ubuntu 20.04 from a package perspective. I cut/pasted the dependency list from one of the setup docs, all of the packages were pulled in correctly, and I can talk to the X410 and run some of the example files. I didn't make any modifications to the repo, I want to get a default image successfully built before going any further. I've gotten through synthesis now, but haven't tried implementation and bitstream generation yet. I'm working from the GUI, so let me go back and check the RFNOC_EDGE_TBL_FILE definition and see exactly what's going on there. Also, the "dev_config.json" file was missing from the x400 folder, not sure if that's another generated file, or just missing from the branch. I copied that from the x300 folder. Thanks, Ryan ________________________________ From: Wade Fife <wade.fife@ettus.com> Sent: Thursday, August 24, 2023 11:12 PM To: Seal, Ryan L. [US-US] <ryan.seal@dynetics.com> Cc: usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> Subject: EXTERNAL: Re: [USRP-users] X410 FPGA build failure with UHD-4.4 CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content. Hi Ryan, What was the problem/error message that suggested that folder wasn't being pulled in properly? The "syntax error" implies that the `RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the makefile should pass that in based on the target you're building. Did you make modifications to the repo or run rfnoc_image_builder? If so, maybe try building the unmodified branch first to make sure everything is working. For example: source setupenv.sh make cleanall make X410_X4_200 Also, what OS are you using to build on? Wade On Thu, Aug 24, 2023 at 11:16 AM <ryan.seal@dynetics.com<mailto:ryan.seal@dynetics.com>> wrote: I attempted to build an FPGA image on the UHD-4.4 branch with Vivado v2021.1_AR76780 (64-bit) using: make X410_X4_200 SYNTH=1 GUI=1 When the IP cores are generated, the following folder is not pulled in properly: uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports As a temporary work-around, I was able to generate the example files from the xci file in uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma and then copied the imports into my build directory and kicked off synthesis once again via GUI. There was also a syntax error in x410_200_rfnoc_image_core.v. The forward ticks on line 182 were causing an issue: localparam EDGE_TBL_FILE = `"`RFNOC_EDGE_TBL_FILE`"; Can someone provide some guidance? I’m not sure if I made a mistake when I pulled something in, or I’m one of the few that attempted to build the image. Going forward, I need to make clock modifications and wanted to get a look at the clock structure in vivado to find the best path forward. To summarize, I need to change the 245.76 clocks to 204.8. I would also like to use the RFDC directly if possible (static configuration is fine). That would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t feasible then I’ll need some rate-changing filters and additional clocks to adjust downstream. - Ryan _______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com> To unsubscribe send an email to usrp-users-leave@lists.ettus.com<mailto:usrp-users-leave@lists.ettus.com>
P
perper@o2.pl
Fri, Aug 25, 2023 2:52 PM

Hello,

The undefined RFNOC_EDGE_TBL_FILE macro is a typical error when you try to build a Vivado project generated for X410.

The reason is that the macro is not passed correctly when synthesizing the Vivado project. My workaround was to use synth_design command generated by UHD X410 Makefile. An example:

synth_design -top x4xx -part xczu28dr-ffvg1517-2-e -verilog_define QSFP0_0=2 -verilog_define QSFP0_1=2 -verilog_define QSFP0_2=2 -verilog_define QSFP0_3=2 -verilog_define RFBW_200M=1 -verilog_define X410=1 -verilog_define GIT_HASH=32'hfbf186b7 -verilog_define RFNOC_EDGE_TBL_FILE=/home/user/RFSoC/uhd/fpga/usrp3/top/x400/x410_200_static_router.hex -verilog_define RFNOC_IMAGE_CORE_HDR=x410_200_rfnoc_image_core.vh -verilog_define UHD_FPGA_DIR=/home/user/RFSoC/uhd/fpga/usrp3/top/../.

I don’t remember exactly how I obtained it.

Best Regards,
Piotr Krysik

Hello, The undefined **RFNOC_EDGE_TBL_FILE** macro is a typical error when you try to build a Vivado project generated for X410. The reason is that the macro is not passed correctly when synthesizing the Vivado project. My workaround was to use synth_design command generated by UHD X410 Makefile. An example: synth_design -top x4xx -part xczu28dr-ffvg1517-2-e -verilog_define QSFP0_0=2 -verilog_define QSFP0_1=2 -verilog_define QSFP0_2=2 -verilog_define QSFP0_3=2 -verilog_define RFBW_200M=1 -verilog_define X410=1 -verilog_define GIT_HASH=32'hfbf186b7 -verilog_define RFNOC_EDGE_TBL_FILE=/home/user/RFSoC/uhd/fpga/usrp3/top/x400/x410_200_static_router.hex -verilog_define RFNOC_IMAGE_CORE_HDR=x410_200_rfnoc_image_core.vh -verilog_define UHD_FPGA_DIR=/home/user/RFSoC/uhd/fpga/usrp3/top/../. I don’t remember exactly how I obtained it. Best Regards,\ Piotr Krysik
SR
Seal, Ryan L. [US-US]
Fri, Aug 25, 2023 3:12 PM

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content.

I went back and manually restored the RFNOC_EDGE_TBL_FILE in my open design. The error went away, just a non-portable warning now, and it points to X410_200_static_router.hex. When the build initially bailed it probably had not put everything together yet, I think this issue is resolved.

The xge_pcs_pma_ex  example project did not create the imports folder when it was generated, I think that may be the root cause.

When I get a chance I'll make a new clone and build the IP cores and see if I can pinpoint that issue.

Thanks again,

Ryan


From: Seal, Ryan L. [US-US] RYAN.SEAL@dynetics.com
Sent: Friday, August 25, 2023 9:48 AM
To: Wade Fife wade.fife@ettus.com
Cc: usrp-users@lists.ettus.com usrp-users@lists.ettus.com
Subject: [USRP-users] Re: EXTERNAL: Re: X410 FPGA build failure with UHD-4.4

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content.

Hey Wade,

Here is the sequence of events:

  • git clone from github
  • git checkout UHD-4.4
  • cd to x400 folder
  • source setupenv.sh  (vivado 2021.1 with the AR patch applied)
  • make cleanall
  • make X410_X4_200 SYNTH=1 GUI=1  (<-- added those options so I could open the block design and take a peek at the clocks and RFDC config)

I am building on Linux Mint 20.3 Una, which is essentially Ubuntu 20.04 from a package perspective. I cut/pasted the dependency list from one of the setup docs, all of the packages were pulled in correctly, and I can talk to the X410 and run some of the example files.

I didn't make any modifications to the repo,  I want to get a default image successfully built before going any further. I've gotten through synthesis now, but haven't tried implementation and bitstream generation yet. I'm working from the GUI, so let me go back and check the RFNOC_EDGE_TBL_FILE definition and see exactly what's going on there.

Also, the "dev_config.json" file was missing from the x400 folder, not sure if that's another generated file, or just missing from the branch.  I copied that from the x300 folder.

Thanks,

Ryan


From: Wade Fife wade.fife@ettus.com
Sent: Thursday, August 24, 2023 11:12 PM
To: Seal, Ryan L. [US-US] ryan.seal@dynetics.com
Cc: usrp-users@lists.ettus.com usrp-users@lists.ettus.com
Subject: EXTERNAL: Re: [USRP-users] X410 FPGA build failure with UHD-4.4

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content.

Hi Ryan,

What was the problem/error message that suggested that folder wasn't being pulled in properly? The "syntax error" implies that the `RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the makefile should pass that in based on the target you're building.

Did you make modifications to the repo or run rfnoc_image_builder? If so, maybe try building the unmodified branch first to make sure everything is working. For example:

source setupenv.sh
make cleanall
make X410_X4_200

Also, what OS are you using to build on?

Wade

On Thu, Aug 24, 2023 at 11:16 AM <ryan.seal@dynetics.commailto:ryan.seal@dynetics.com> wrote:

I attempted to build an FPGA image on the UHD-4.4 branch with Vivado v2021.1_AR76780 (64-bit) using:

make X410_X4_200 SYNTH=1 GUI=1

When the IP cores are generated, the following folder is not pulled in properly:

uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports

As a temporary work-around, I was able to generate the example files from the xci file in

uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma

and then copied the imports into my build directory and kicked off synthesis once again via GUI.

There was also a syntax error in x410_200_rfnoc_image_core.v. The forward ticks on line 182 were causing an issue:

localparam EDGE_TBL_FILE = "RFNOC_EDGE_TBL_FILE`";

Can someone provide some guidance? I’m not sure if I made a mistake when I pulled something in, or I’m one of the few that attempted to build the image.

Going forward, I need to make clock modifications and wanted to get a look at the clock structure in vivado to find the best path forward. To summarize, I need to change the 245.76 clocks to 204.8. I would also like to use the RFDC directly if possible (static configuration is fine). That would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t feasible then I’ll need some rate-changing filters and additional clocks to adjust downstream.

  • Ryan

USRP-users mailing list -- usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.commailto:usrp-users-leave@lists.ettus.com

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content. I went back and manually restored the RFNOC_EDGE_TBL_FILE in my open design. The error went away, just a non-portable warning now, and it points to X410_200_static_router.hex. When the build initially bailed it probably had not put everything together yet, I think this issue is resolved. The xge_pcs_pma_ex example project did not create the imports folder when it was generated, I think that may be the root cause. When I get a chance I'll make a new clone and build the IP cores and see if I can pinpoint that issue. Thanks again, Ryan ________________________________ From: Seal, Ryan L. [US-US] <RYAN.SEAL@dynetics.com> Sent: Friday, August 25, 2023 9:48 AM To: Wade Fife <wade.fife@ettus.com> Cc: usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> Subject: [USRP-users] Re: EXTERNAL: Re: X410 FPGA build failure with UHD-4.4 CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content. Hey Wade, Here is the sequence of events: * git clone from github * git checkout UHD-4.4 * cd to x400 folder * source setupenv.sh (vivado 2021.1 with the AR patch applied) * make cleanall * make X410_X4_200 SYNTH=1 GUI=1 (<-- added those options so I could open the block design and take a peek at the clocks and RFDC config) I am building on Linux Mint 20.3 Una, which is essentially Ubuntu 20.04 from a package perspective. I cut/pasted the dependency list from one of the setup docs, all of the packages were pulled in correctly, and I can talk to the X410 and run some of the example files. I didn't make any modifications to the repo, I want to get a default image successfully built before going any further. I've gotten through synthesis now, but haven't tried implementation and bitstream generation yet. I'm working from the GUI, so let me go back and check the RFNOC_EDGE_TBL_FILE definition and see exactly what's going on there. Also, the "dev_config.json" file was missing from the x400 folder, not sure if that's another generated file, or just missing from the branch. I copied that from the x300 folder. Thanks, Ryan ________________________________ From: Wade Fife <wade.fife@ettus.com> Sent: Thursday, August 24, 2023 11:12 PM To: Seal, Ryan L. [US-US] <ryan.seal@dynetics.com> Cc: usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> Subject: EXTERNAL: Re: [USRP-users] X410 FPGA build failure with UHD-4.4 CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content. Hi Ryan, What was the problem/error message that suggested that folder wasn't being pulled in properly? The "syntax error" implies that the `RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the makefile should pass that in based on the target you're building. Did you make modifications to the repo or run rfnoc_image_builder? If so, maybe try building the unmodified branch first to make sure everything is working. For example: source setupenv.sh make cleanall make X410_X4_200 Also, what OS are you using to build on? Wade On Thu, Aug 24, 2023 at 11:16 AM <ryan.seal@dynetics.com<mailto:ryan.seal@dynetics.com>> wrote: I attempted to build an FPGA image on the UHD-4.4 branch with Vivado v2021.1_AR76780 (64-bit) using: make X410_X4_200 SYNTH=1 GUI=1 When the IP cores are generated, the following folder is not pulled in properly: uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports As a temporary work-around, I was able to generate the example files from the xci file in uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma and then copied the imports into my build directory and kicked off synthesis once again via GUI. There was also a syntax error in x410_200_rfnoc_image_core.v. The forward ticks on line 182 were causing an issue: localparam EDGE_TBL_FILE = `"`RFNOC_EDGE_TBL_FILE`"; Can someone provide some guidance? I’m not sure if I made a mistake when I pulled something in, or I’m one of the few that attempted to build the image. Going forward, I need to make clock modifications and wanted to get a look at the clock structure in vivado to find the best path forward. To summarize, I need to change the 245.76 clocks to 204.8. I would also like to use the RFDC directly if possible (static configuration is fine). That would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t feasible then I’ll need some rate-changing filters and additional clocks to adjust downstream. - Ryan _______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com> To unsubscribe send an email to usrp-users-leave@lists.ettus.com<mailto:usrp-users-leave@lists.ettus.com>
SR
Seal, Ryan L. [US-US]
Fri, Aug 25, 2023 3:17 PM

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content.

Hi Piotr,

That's exactly what I was attempting to do, build a Vivado project. I'll make a note of this.

Thanks for the tip.

Ryan


From: perper@o2.pl perper@o2.pl
Sent: Friday, August 25, 2023 9:52 AM
To: usrp-users@lists.ettus.com usrp-users@lists.ettus.com
Subject: EXTERNAL: [USRP-users] Re: X410 FPGA build failure with UHD-4.4

Hello,

The undefined RFNOC_EDGE_TBL_FILE macro is a typical error when you try to build a Vivado project generated for X410.

The reason is that the macro is not passed correctly when synthesizing the Vivado project. My workaround was to use synth_design command generated by UHD X410 Makefile. An example:

synth_design -top x4xx -part xczu28dr-ffvg1517-2-e -verilog_define QSFP0_0=2 -verilog_define QSFP0_1=2 -verilog_define QSFP0_2=2 -verilog_define QSFP0_3=2 -verilog_define RFBW_200M=1 -verilog_define X410=1 -verilog_define GIT_HASH=32'hfbf186b7 -verilog_define RFNOC_EDGE_TBL_FILE=/home/user/RFSoC/uhd/fpga/usrp3/top/x400/x410_200_static_router.hex -verilog_define RFNOC_IMAGE_CORE_HDR=x410_200_rfnoc_image_core.vh -verilog_define UHD_FPGA_DIR=/home/user/RFSoC/uhd/fpga/usrp3/top/../.

I don’t remember exactly how I obtained it.

Best Regards,
Piotr Krysik

CAUTION: This email originated from outside of Leidos. Be cautious when clicking or opening content. Hi Piotr, That's exactly what I was attempting to do, build a Vivado project. I'll make a note of this. Thanks for the tip. Ryan ________________________________ From: perper@o2.pl <perper@o2.pl> Sent: Friday, August 25, 2023 9:52 AM To: usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> Subject: EXTERNAL: [USRP-users] Re: X410 FPGA build failure with UHD-4.4 Hello, The undefined RFNOC_EDGE_TBL_FILE macro is a typical error when you try to build a Vivado project generated for X410. The reason is that the macro is not passed correctly when synthesizing the Vivado project. My workaround was to use synth_design command generated by UHD X410 Makefile. An example: synth_design -top x4xx -part xczu28dr-ffvg1517-2-e -verilog_define QSFP0_0=2 -verilog_define QSFP0_1=2 -verilog_define QSFP0_2=2 -verilog_define QSFP0_3=2 -verilog_define RFBW_200M=1 -verilog_define X410=1 -verilog_define GIT_HASH=32'hfbf186b7 -verilog_define RFNOC_EDGE_TBL_FILE=/home/user/RFSoC/uhd/fpga/usrp3/top/x400/x410_200_static_router.hex -verilog_define RFNOC_IMAGE_CORE_HDR=x410_200_rfnoc_image_core.vh -verilog_define UHD_FPGA_DIR=/home/user/RFSoC/uhd/fpga/usrp3/top/../. I don’t remember exactly how I obtained it. Best Regards, Piotr Krysik
WF
Wade Fife
Fri, Aug 25, 2023 9:23 PM

For reference, I typically install the dependencies for building UHD as
described here:
https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux#Update_and_Install_dependencies

Can you check which version of make you're using? I'm using GNU Make 4.2.1
on Ubuntu 20.04.

Perhaps you could post the console output somewhere and the build.log file?
I'm still not clear on the initial problem.

The dev_config.json file isn't required.

Wade

On Fri, Aug 25, 2023 at 9:50 AM Seal, Ryan L. [US-US] <
RYAN.SEAL@dynetics.com> wrote:

  • CAUTION: *This email originated from outside of Leidos. Be cautious
    when clicking or opening content.

Hey Wade,

Here is the sequence of events:

- git clone from github
- git checkout UHD-4.4
- cd to x400 folder
- source setupenv.sh   (vivado 2021.1 with the AR patch applied)
- make cleanall
- make X410_X4_200 SYNTH=1 GUI=1   (<-- added those options so I could
open the block design and take a peek at the clocks and RFDC config)

I am building on Linux Mint 20.3 Una, which is essentially Ubuntu 20.04
from a package perspective. I cut/pasted the dependency list from one of
the setup docs, all of the packages were pulled in correctly, and I can
talk to the X410 and run some of the example files.

I didn't make any modifications to the repo,  I want to get a default
image successfully built before going any further. I've gotten through
synthesis now, but haven't tried implementation and bitstream generation
yet. I'm working from the GUI, so let me go back and check the
RFNOC_EDGE_TBL_FILE definition and see exactly what's going on there.

Also, the "dev_config.json" file was missing from the x400 folder, not
sure if that's another generated file, or just missing from the branch.  I
copied that from the x300 folder.

Thanks,

Ryan


From: Wade Fife wade.fife@ettus.com
Sent: Thursday, August 24, 2023 11:12 PM
To: Seal, Ryan L. [US-US] ryan.seal@dynetics.com
Cc: usrp-users@lists.ettus.com usrp-users@lists.ettus.com
Subject: EXTERNAL: Re: [USRP-users] X410 FPGA build failure with UHD-4.4

*CAUTION: *This email originated from outside of Leidos. Be cautious when
clicking or opening content.

Hi Ryan,

What was the problem/error message that suggested that folder wasn't being
pulled in properly? The "syntax error" implies that the
`RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the
makefile should pass that in based on the target you're building.

Did you make modifications to the repo or run rfnoc_image_builder? If so,
maybe try building the unmodified branch first to make sure everything is
working. For example:

source setupenv.sh
make cleanall
make X410_X4_200

Also, what OS are you using to build on?

Wade

On Thu, Aug 24, 2023 at 11:16 AM ryan.seal@dynetics.com wrote:

I attempted to build an FPGA image on the UHD-4.4 branch with Vivado
v2021.1_AR76780 (64-bit) using:

make X410_X4_200 SYNTH=1 GUI=1

When the IP cores are generated, the following folder is not pulled in
properly:

*uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports
*

As a temporary work-around, I was able to generate the example files from
the xci file in

uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma

and then copied the imports into my build directory and kicked off
synthesis once again via GUI.

There was also a syntax error in x410_200_rfnoc_image_core.v. The forward
ticks on line 182 were causing an issue:

localparam EDGE_TBL_FILE = "RFNOC_EDGE_TBL_FILE`";

Can someone provide some guidance? I’m not sure if I made a mistake when I
pulled something in, or I’m one of the few that attempted to build the
image.

Going forward, I need to make clock modifications and wanted to get a look
at the clock structure in vivado to find the best path forward. To
summarize, I need to change the 245.76 clocks to 204.8. I would also like
to use the RFDC directly if possible (static configuration is fine). That
would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t
feasible then I’ll need some rate-changing filters and additional clocks to
adjust downstream.

  • Ryan

USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

For reference, I typically install the dependencies for building UHD as described here: https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux#Update_and_Install_dependencies Can you check which version of make you're using? I'm using GNU Make 4.2.1 on Ubuntu 20.04. Perhaps you could post the console output somewhere and the build.log file? I'm still not clear on the initial problem. The dev_config.json file isn't required. Wade On Fri, Aug 25, 2023 at 9:50 AM Seal, Ryan L. [US-US] < RYAN.SEAL@dynetics.com> wrote: > * CAUTION: *This email originated from outside of Leidos. Be cautious > when clicking or opening content. > > Hey Wade, > > Here is the sequence of events: > > - git clone from github > - git checkout UHD-4.4 > - cd to x400 folder > - source setupenv.sh (vivado 2021.1 with the AR patch applied) > - make cleanall > - make X410_X4_200 SYNTH=1 GUI=1 (<-- added those options so I could > open the block design and take a peek at the clocks and RFDC config) > > I am building on Linux Mint 20.3 Una, which is essentially Ubuntu 20.04 > from a package perspective. I cut/pasted the dependency list from one of > the setup docs, all of the packages were pulled in correctly, and I can > talk to the X410 and run some of the example files. > > I didn't make any modifications to the repo, I want to get a default > image successfully built before going any further. I've gotten through > synthesis now, but haven't tried implementation and bitstream generation > yet. I'm working from the GUI, so let me go back and check the > RFNOC_EDGE_TBL_FILE definition and see exactly what's going on there. > > Also, the "dev_config.json" file was missing from the x400 folder, not > sure if that's another generated file, or just missing from the branch. I > copied that from the x300 folder. > > Thanks, > > Ryan > > ------------------------------ > *From:* Wade Fife <wade.fife@ettus.com> > *Sent:* Thursday, August 24, 2023 11:12 PM > *To:* Seal, Ryan L. [US-US] <ryan.seal@dynetics.com> > *Cc:* usrp-users@lists.ettus.com <usrp-users@lists.ettus.com> > *Subject:* EXTERNAL: Re: [USRP-users] X410 FPGA build failure with UHD-4.4 > > > *CAUTION: *This email originated from outside of Leidos. Be cautious when > clicking or opening content. > > Hi Ryan, > > What was the problem/error message that suggested that folder wasn't being > pulled in properly? The "syntax error" implies that the > `RFNOC_EDGE_TBLE_FILE definition isn't being set correctly, but the > makefile should pass that in based on the target you're building. > > Did you make modifications to the repo or run rfnoc_image_builder? If so, > maybe try building the unmodified branch first to make sure everything is > working. For example: > > source setupenv.sh > make cleanall > make X410_X4_200 > > Also, what OS are you using to build on? > > Wade > > On Thu, Aug 24, 2023 at 11:16 AM <ryan.seal@dynetics.com> wrote: > > I attempted to build an FPGA image on the UHD-4.4 branch with Vivado > v2021.1_AR76780 (64-bit) using: > > *make X410_X4_200 SYNTH=1 GUI=1* > > When the IP cores are generated, the following folder is not pulled in > properly: > > *uhd/fpga/usrp3/top/x400/build-ip/xczu28drffvg1517-1e/xge_pcs_pma_ex/imports > * > > As a temporary work-around, I was able to generate the example files from > the xci file in > > *uhd/fpga/usrp3/top/x400/ip/xge_pcs_pma* > > and then copied the imports into my build directory and kicked off > synthesis once again via GUI. > > There was also a syntax error in x410_200_rfnoc_image_core.v. The forward > ticks on line 182 were causing an issue: > > *localparam EDGE_TBL_FILE = `"`RFNOC_EDGE_TBL_FILE`";* > > Can someone provide some guidance? I’m not sure if I made a mistake when I > pulled something in, or I’m one of the few that attempted to build the > image. > > Going forward, I need to make clock modifications and wanted to get a look > at the clock structure in vivado to find the best path forward. To > summarize, I need to change the 245.76 clocks to 204.8. I would also like > to use the RFDC directly if possible (static configuration is fine). That > would give me what I need without the DUC/DDC RFNoC blocks. If this isn’t > feasible then I’ll need some rate-changing filters and additional clocks to > adjust downstream. > > - Ryan > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com > >
WF
Wade Fife
Fri, Aug 25, 2023 9:29 PM

Oh, interesting. I'd like to understand why it doesn't work for some
people. This FPGA gets built quite regularly by myself and others without
this issue.

Wade

On Fri, Aug 25, 2023 at 9:53 AM perper@o2.pl wrote:

Hello,

The undefined RFNOC_EDGE_TBL_FILE macro is a typical error when you try
to build a Vivado project generated for X410.

The reason is that the macro is not passed correctly when synthesizing the
Vivado project. My workaround was to use synth_design command generated by
UHD X410 Makefile. An example:

synth_design -top x4xx -part xczu28dr-ffvg1517-2-e -verilog_define
QSFP0_0=2 -verilog_define QSFP0_1=2 -verilog_define QSFP0_2=2
-verilog_define QSFP0_3=2 -verilog_define RFBW_200M=1 -verilog_define
X410=1 -verilog_define GIT_HASH=32'hfbf186b7 -verilog_define
RFNOC_EDGE_TBL_FILE=/home/user/RFSoC/uhd/fpga/usrp3/top/x400/x410_200_static_router.hex
-verilog_define RFNOC_IMAGE_CORE_HDR=x410_200_rfnoc_image_core.vh
-verilog_define UHD_FPGA_DIR=/home/user/RFSoC/uhd/fpga/usrp3/top/../.

I don’t remember exactly how I obtained it.

Best Regards,
Piotr Krysik


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

Oh, interesting. I'd like to understand why it doesn't work for some people. This FPGA gets built quite regularly by myself and others without this issue. Wade On Fri, Aug 25, 2023 at 9:53 AM <perper@o2.pl> wrote: > Hello, > > The undefined *RFNOC_EDGE_TBL_FILE* macro is a typical error when you try > to build a Vivado project generated for X410. > > The reason is that the macro is not passed correctly when synthesizing the > Vivado project. My workaround was to use synth_design command generated by > UHD X410 Makefile. An example: > > synth_design -top x4xx -part xczu28dr-ffvg1517-2-e -verilog_define > QSFP0_0=2 -verilog_define QSFP0_1=2 -verilog_define QSFP0_2=2 > -verilog_define QSFP0_3=2 -verilog_define RFBW_200M=1 -verilog_define > X410=1 -verilog_define GIT_HASH=32'hfbf186b7 -verilog_define > RFNOC_EDGE_TBL_FILE=/home/user/RFSoC/uhd/fpga/usrp3/top/x400/x410_200_static_router.hex > -verilog_define RFNOC_IMAGE_CORE_HDR=x410_200_rfnoc_image_core.vh > -verilog_define UHD_FPGA_DIR=/home/user/RFSoC/uhd/fpga/usrp3/top/../. > > I don’t remember exactly how I obtained it. > > Best Regards, > Piotr Krysik > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com >
P
perper@o2.pl
Sun, Aug 27, 2023 5:19 PM

Hello Wade,

The key is that Ryan tried to run synthesis again via Vivado gui.
From my experience this won’t work because some build parameters (like the mentioned macro definition) are passed together with synthesis command (synth_design).
If there is another way to make it work other than running the synth_design command with proper parameters manually - please tell how.

The project workflow with Vivado gui sometimes makes sense - i.e. when you want to experiment with modifications of block designs without having to export them for each synthesis run.

I also remember now one way to obtain the command that I shown in the previous post: you can find it by looking for “Command: synth_design“ in build.log that is in build-X410_X4_200 directory.

Best Regards,
Piotr Krysik

Hello Wade, The key is that Ryan tried to run synthesis again via Vivado gui.\ From my experience this won’t work because some build parameters (like the mentioned macro definition) are passed together with synthesis command (synth_design).\ If there is another way to make it work other than running the synth_design command with proper parameters manually - please tell how. The project workflow with Vivado gui sometimes makes sense - i.e. when you want to experiment with modifications of block designs without having to export them for each synthesis run. I also remember now one way to obtain the command that I shown in the previous post: you can find it by looking for “Command: synth_design“ in build.log that is in build-X410_X4_200 directory. Best Regards,\ Piotr Krysik