AK
Adam Kurisko
Tue, Jan 2, 2018 4:56 PM
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
NF
Nick Foster
Tue, Jan 2, 2018 5:08 PM
The use of Gnuradio will not affect the FPGA design at all. If you supply
the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep
running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc
block WITHOUT using gnuradio? It seems that most information I am finding
online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the
noc_shell and axi_wrapper modules within my blocks. However, the errors I
am receiving are not stemming from the user code I have written, instead
the errors are coming from various design sources within the e310 fpga
source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
The use of Gnuradio will not affect the FPGA design at all. If you supply
the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
usrp-users@lists.ettus.com> wrote:
> Hello all,
>
>
> I am trying to design an RFNoC block using Vivado 2015.4, but I keep
> running into synthesis and implementation critical warnings.
>
>
> Can you explain to me step by step how to instantiate a working rfnoc
> block WITHOUT using gnuradio? It seems that most information I am finding
> online include the use of gnuradio.
>
>
> I believe I have my environment setup correctly and I am calling the
> noc_shell and axi_wrapper modules within my blocks. However, the errors I
> am receiving are not stemming from the user code I have written, instead
> the errors are coming from various design sources within the e310 fpga
> source code.
>
>
> Please help. Thank you
>
>
> -Adam
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
AK
Adam Kurisko
Tue, Jan 2, 2018 5:26 PM
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.commailto:USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com<mailto:USRP-users@lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
NF
Nick Foster
Tue, Jan 2, 2018 5:35 PM
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any
sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko adamkuri@outlook.com wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
with option '-group [get_clocks -include_generated_clocks clk0]'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply
the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep
running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc
block WITHOUT using gnuradio? It seems that most information I am finding
online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the
noc_shell and axi_wrapper modules within my blocks. However, the errors I
am receiving are not stemming from the user code I have written, instead
the errors are coming from various design sources within the e310 fpga
source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any
sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.com> wrote:
> Hi Nick,
>
>
> Thank you for your fast response.
>
>
> I am receiving the following errors:
>
>
> Synthesis
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[0]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[0]
>
> Implementation
> Design Initialization
> [Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
> will not be read for this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
> will not be read for any cell of this module.
> [Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
> with option '-group [get_clocks -include_generated_clocks clk0]'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
> [Common 17-161] Invalid option value '#' specified for 'objects'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
>
> Opt Design
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
>
> Place Design
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
>
>
> Please let me know what you think.
>
>
> Thank you,
>
> Adam
>
>
> ------------------------------
> *From:* Nick Foster <bistromath@gmail.com>
> *Sent:* Tuesday, January 2, 2018 12:08:20 PM
> *To:* Adam Kurisko
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* Re: [USRP-users] RFNOC Block design without GNU Radio
>
> The use of Gnuradio will not affect the FPGA design at all. If you supply
> the errors you're seeing we might be able to help further.
>
> Nick
>
> On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
> Hello all,
>
>
> I am trying to design an RFNoC block using Vivado 2015.4, but I keep
> running into synthesis and implementation critical warnings.
>
>
> Can you explain to me step by step how to instantiate a working rfnoc
> block WITHOUT using gnuradio? It seems that most information I am finding
> online include the use of gnuradio.
>
>
> I believe I have my environment setup correctly and I am calling the
> noc_shell and axi_wrapper modules within my blocks. However, the errors I
> am receiving are not stemming from the user code I have written, instead
> the errors are coming from various design sources within the e310 fpga
> source code.
>
>
> Please help. Thank you
>
>
> -Adam
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
AK
Adam Kurisko
Tue, Jan 2, 2018 6:58 PM
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.commailto:USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com<mailto:USRP-users@lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
NF
Nick Foster
Tue, Jan 2, 2018 7:28 PM
Yeah, ok. It's that multiple driver that's the problem. Can you post the
rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko adamkuri@outlook.com wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following
errors.
Most messages are the same as before, but take not of the errors present
under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver
pin
'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]'
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver
pin 'i_3847/O'
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
with option '-group [get_clocks -include_generated_clocks clk0]'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net
e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64]
has multiple drivers:
e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O,
e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
with option '-group [get_clocks -include_generated_clocks clk0]'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any
sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko adamkuri@outlook.com wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
with option '-group [get_clocks -include_generated_clocks clk0]'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply
the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep
running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc
block WITHOUT using gnuradio? It seems that most information I am finding
online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the
noc_shell and axi_wrapper modules within my blocks. However, the errors I
am receiving are not stemming from the user code I have written, instead
the errors are coming from various design sources within the e310 fpga
source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Yeah, ok. It's that multiple driver that's the problem. Can you post the
rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.com> wrote:
> Nick,
>
>
> I just attempted to generate a bitstream and it failed with the following
> errors.
>
>
> Most messages are the same as before, but take not of the errors present
> under "Opt Design"
>
>
> Vivado Commands
> General Messages
>
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[0]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[0]
>
> Synthesis
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[0]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[0]
> [Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver
> pin
> 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]'
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
> [Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver
> pin 'i_3847/O'
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
>
>
> Implementation
> Design Initialization
> [Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
> will not be read for this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
> will not be read for any cell of this module.
> [Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
> with option '-group [get_clocks -include_generated_clocks clk0]'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
> [Common 17-161] Invalid option value '#' specified for 'objects'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
>
> Opt Design
> [DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net
> e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64]
> has multiple drivers:
> e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O,
> e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
> [Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
>
> design_1
> General Messages
>
> [Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
> will not be read for this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
> will not be read for any cell of this module.
> [Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
> with option '-group [get_clocks -include_generated_clocks clk0]'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
> [Common 17-161] Invalid option value '#' specified for 'objects'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
>
>
> Thank you,
>
> Adam
> ------------------------------
> *From:* Nick Foster <bistromath@gmail.com>
> *Sent:* Tuesday, January 2, 2018 12:35:54 PM
>
> *To:* Adam Kurisko
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* Re: [USRP-users] RFNOC Block design without GNU Radio
>
> That all looks ok to me. Does it successfully generate a bitstream?
>
> There will virtually always be warnings, even some "critical" ones, in any
> sufficiently complex FPGA project.
>
> Nick
>
> On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.com> wrote:
>
> Hi Nick,
>
>
> Thank you for your fast response.
>
>
> I am receiving the following errors:
>
>
> Synthesis
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[0]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[0]
>
> Implementation
> Design Initialization
> [Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
> will not be read for this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
> will not be read for any cell of this module.
> [Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
> with option '-group [get_clocks -include_generated_clocks clk0]'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
> [Common 17-161] Invalid option value '#' specified for 'objects'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
>
> Opt Design
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
>
> Place Design
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
>
>
> Please let me know what you think.
>
>
> Thank you,
>
> Adam
>
>
> ------------------------------
> *From:* Nick Foster <bistromath@gmail.com>
> *Sent:* Tuesday, January 2, 2018 12:08:20 PM
> *To:* Adam Kurisko
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* Re: [USRP-users] RFNOC Block design without GNU Radio
>
> The use of Gnuradio will not affect the FPGA design at all. If you supply
> the errors you're seeing we might be able to help further.
>
> Nick
>
> On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
> Hello all,
>
>
> I am trying to design an RFNoC block using Vivado 2015.4, but I keep
> running into synthesis and implementation critical warnings.
>
>
> Can you explain to me step by step how to instantiate a working rfnoc
> block WITHOUT using gnuradio? It seems that most information I am finding
> online include the use of gnuradio.
>
>
> I believe I have my environment setup correctly and I am calling the
> noc_shell and axi_wrapper modules within my blocks. However, the errors I
> am receiving are not stemming from the user code I have written, instead
> the errors are coming from various design sources within the e310 fpga
> source code.
>
>
> Please help. Thank you
>
>
> -Adam
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
AK
Adam Kurisko
Tue, Jan 2, 2018 7:39 PM
Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code for noc_block_delay_fifo.v.
------------------------- rfnoc_ce_auto_inst.v ------------------------------
/////////////////////////////////////////////////////////
// Auto-generated by gen_rfnoc_inst.py! Any changes
// in this file will be overwritten the next time
// this script is run.
/////////////////////////////////////////////////////////
localparam NUM_CE = 6;
wire [NUM_CE64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast, ce_i_tvalid, ce_i_tready;
wire [63:0] ce_debug[0:NUM_CE-1];
// Flattern CE tdata arrays
genvar k;
generate
for (k = 0; k < NUM_CE; k = k + 1) begin
assign ce_o_tdata[k] = ce_flat_o_tdata[k64+63:k64];
assign ce_flat_i_tdata[k64+63:k*64] = ce_i_tdata[k];
end
endgenerate
wire ce_clk = radio_clk;
wire ce_rst = radio_rst;
noc_block_delay_fifo inst_delay_fifo (
//.bus_clk(bus_clk), .bus_rst(bus_rst),
//.ce_clk(ce_clk), .ce_rst(ce_rst),
.clk(clk), .reset(reset), .clear(clear),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]), .i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
.o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]), .o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
.debug(ce_debug[1])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]), .i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
.o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]), .o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
.debug(ce_debug[2])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]), .i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
.o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]), .o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
.debug(ce_debug[3])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]), .i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
.o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]), .o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
.debug(ce_debug[4])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]), .i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
.o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]), .o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
.debug(ce_debug[5])
);
------------------------- noc_block_delay_fifo.v -----------------------------------
module noc_block_delay_fifo #(
parameter NOC_ID = 64'hDE7A_0000_0000_0000,
parameter MAX_LEN_LOG2=10,
parameter STR_SINK_FIFOSIZE = 11,
parameter WIDTH=64)
(
// input bus_clk, input bus_rst,
// input ce_clk, input ce_rst,
input clk, input reset, input clear,
input [MAX_LEN_LOG2-1:0] len,
input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output i_tready,
output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input o_tready,
output [WIDTH-1:0] debug
);
////////////////////////////////////////////////////////////
//
// RFNoC Shell
//
////////////////////////////////////////////////////////////
wire [31:0] set_data;
wire [7:0] set_addr;
wire set_stb;
wire [63:0] cmdout_tdata, ackin_tdata;
wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast, ackin_tvalid, ackin_tready;
wire [63:0] str_sink_tdata, str_src_tdata;
wire str_sink_tlast, str_sink_tvalid, str_sink_tready, str_src_tlast, str_src_tvalid, str_src_tready;
wire clear_tx_seqnum;
wire [15:0] next_dst_sid;
noc_shell #(
.NOC_ID(NOC_ID),
.STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
noc_shell (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid), .i_tready(i_tready),
.o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid), .o_tready(o_tready),
// Computer Engine Clock Domain
.clk(ce_clk), .reset(ce_rst),
// Control Sink
.set_data(set_data), .set_addr(set_addr), .set_stb(set_stb), .set_time(),
.rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
// Control Source
.cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast), .cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
.ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast), .ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
// Stream Sink
.str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast), .str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
// Stream Source
.str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast), .str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
// Stream IDs set by host
.src_sid(), // SID of this block
.next_dst_sid(next_dst_sid), // Next destination SID
.resp_in_dst_sid(), // Response destination SID for input stream responses / errors
.resp_out_dst_sid(), // Response destination SID for output stream responses / errors
// Misc
.vita_time(64'd0),
.clear_tx_seqnum(clear_tx_seqnum),
.debug(debug));
////////////////////////////////////////////////////////////
//
// AXI Wrapper
// Convert RFNoC Shell interface into AXI stream interface
//
////////////////////////////////////////////////////////////
wire [31:0] m_axis_data_tdata;
wire m_axis_data_tlast;
wire m_axis_data_tvalid;
wire m_axis_data_tready;
wire [31:0] s_axis_data_tdata;
wire s_axis_data_tlast;
wire s_axis_data_tvalid;
wire s_axis_data_tready;
localparam AXI_WRAPPER_BASE = 128;
axi_wrapper #(
.SIMPLE_MODE(1))
inst_axi_wrapper (
.clk(ce_clk), .reset(ce_rst),
.clear_tx_seqnum(clear_tx_seqnum),
.next_dst(next_dst_sid),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
.i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast), .i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
.o_tdata(str_src_tdata), .o_tlast(str_src_tlast), .o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
.m_axis_data_tdata(m_axis_data_tdata),
.m_axis_data_tlast(m_axis_data_tlast),
.m_axis_data_tvalid(m_axis_data_tvalid),
.m_axis_data_tready(m_axis_data_tready),
.s_axis_data_tdata(s_axis_data_tdata),
.s_axis_data_tlast(s_axis_data_tlast),
.s_axis_data_tvalid(s_axis_data_tvalid),
.s_axis_data_tready(s_axis_data_tready),
.m_axis_config_tdata(),
.m_axis_config_tlast(),
.m_axis_config_tvalid(),
.m_axis_config_tready());
////////////////////////////////////////////////////////////
//
// User code
//
////////////////////////////////////////////////////////////
reg [MAX_LEN_LOG2-1:0] full_count;
wire full = full_count == len;
wire do_op = i_tvalid & o_tready;
assign i_tready = o_tready;
assign o_tvalid = i_tvalid;
wire [WIDTH-1:0] fifo_out;
axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
(.clk(clk), .reset(reset), .clear(clear),
.i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
.o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
always @(posedge clk)
if(reset | clear)
full_count <= 0;
else
if(do_op & ~full)
full_count <= full_count + 1;
assign o_tdata = full ? fifo_out : 0;
assign o_tlast = i_tlast;
endmodule // noc_block_delay_fifo
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 2:28:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Yeah, ok. It's that multiple driver that's the problem. Can you post the rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.commailto:USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code for noc_block_delay_fifo.v.
------------------------- rfnoc_ce_auto_inst.v ------------------------------
/////////////////////////////////////////////////////////
// Auto-generated by gen_rfnoc_inst.py! Any changes
// in this file will be overwritten the next time
// this script is run.
/////////////////////////////////////////////////////////
localparam NUM_CE = 6;
wire [NUM_CE*64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast, ce_i_tvalid, ce_i_tready;
wire [63:0] ce_debug[0:NUM_CE-1];
// Flattern CE tdata arrays
genvar k;
generate
for (k = 0; k < NUM_CE; k = k + 1) begin
assign ce_o_tdata[k] = ce_flat_o_tdata[k*64+63:k*64];
assign ce_flat_i_tdata[k*64+63:k*64] = ce_i_tdata[k];
end
endgenerate
wire ce_clk = radio_clk;
wire ce_rst = radio_rst;
noc_block_delay_fifo inst_delay_fifo (
//.bus_clk(bus_clk), .bus_rst(bus_rst),
//.ce_clk(ce_clk), .ce_rst(ce_rst),
.clk(clk), .reset(reset), .clear(clear),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]), .i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
.o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]), .o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
.debug(ce_debug[1])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]), .i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
.o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]), .o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
.debug(ce_debug[2])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]), .i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
.o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]), .o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
.debug(ce_debug[3])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]), .i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
.o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]), .o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
.debug(ce_debug[4])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]), .i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
.o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]), .o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
.debug(ce_debug[5])
);
---------------------------------------------------------------------------------------------
------------------------- noc_block_delay_fifo.v -----------------------------------
module noc_block_delay_fifo #(
parameter NOC_ID = 64'hDE7A_0000_0000_0000,
parameter MAX_LEN_LOG2=10,
parameter STR_SINK_FIFOSIZE = 11,
parameter WIDTH=64)
(
// input bus_clk, input bus_rst,
// input ce_clk, input ce_rst,
input clk, input reset, input clear,
input [MAX_LEN_LOG2-1:0] len,
input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output i_tready,
output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input o_tready,
output [WIDTH-1:0] debug
);
////////////////////////////////////////////////////////////
//
// RFNoC Shell
//
////////////////////////////////////////////////////////////
wire [31:0] set_data;
wire [7:0] set_addr;
wire set_stb;
wire [63:0] cmdout_tdata, ackin_tdata;
wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast, ackin_tvalid, ackin_tready;
wire [63:0] str_sink_tdata, str_src_tdata;
wire str_sink_tlast, str_sink_tvalid, str_sink_tready, str_src_tlast, str_src_tvalid, str_src_tready;
wire clear_tx_seqnum;
wire [15:0] next_dst_sid;
noc_shell #(
.NOC_ID(NOC_ID),
.STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
noc_shell (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid), .i_tready(i_tready),
.o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid), .o_tready(o_tready),
// Computer Engine Clock Domain
.clk(ce_clk), .reset(ce_rst),
// Control Sink
.set_data(set_data), .set_addr(set_addr), .set_stb(set_stb), .set_time(),
.rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
// Control Source
.cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast), .cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
.ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast), .ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
// Stream Sink
.str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast), .str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
// Stream Source
.str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast), .str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
// Stream IDs set by host
.src_sid(), // SID of this block
.next_dst_sid(next_dst_sid), // Next destination SID
.resp_in_dst_sid(), // Response destination SID for input stream responses / errors
.resp_out_dst_sid(), // Response destination SID for output stream responses / errors
// Misc
.vita_time(64'd0),
.clear_tx_seqnum(clear_tx_seqnum),
.debug(debug));
////////////////////////////////////////////////////////////
//
// AXI Wrapper
// Convert RFNoC Shell interface into AXI stream interface
//
////////////////////////////////////////////////////////////
wire [31:0] m_axis_data_tdata;
wire m_axis_data_tlast;
wire m_axis_data_tvalid;
wire m_axis_data_tready;
wire [31:0] s_axis_data_tdata;
wire s_axis_data_tlast;
wire s_axis_data_tvalid;
wire s_axis_data_tready;
localparam AXI_WRAPPER_BASE = 128;
axi_wrapper #(
.SIMPLE_MODE(1))
inst_axi_wrapper (
.clk(ce_clk), .reset(ce_rst),
.clear_tx_seqnum(clear_tx_seqnum),
.next_dst(next_dst_sid),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
.i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast), .i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
.o_tdata(str_src_tdata), .o_tlast(str_src_tlast), .o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
.m_axis_data_tdata(m_axis_data_tdata),
.m_axis_data_tlast(m_axis_data_tlast),
.m_axis_data_tvalid(m_axis_data_tvalid),
.m_axis_data_tready(m_axis_data_tready),
.s_axis_data_tdata(s_axis_data_tdata),
.s_axis_data_tlast(s_axis_data_tlast),
.s_axis_data_tvalid(s_axis_data_tvalid),
.s_axis_data_tready(s_axis_data_tready),
.m_axis_config_tdata(),
.m_axis_config_tlast(),
.m_axis_config_tvalid(),
.m_axis_config_tready());
////////////////////////////////////////////////////////////
//
// User code
//
////////////////////////////////////////////////////////////
reg [MAX_LEN_LOG2-1:0] full_count;
wire full = full_count == len;
wire do_op = i_tvalid & o_tready;
assign i_tready = o_tready;
assign o_tvalid = i_tvalid;
wire [WIDTH-1:0] fifo_out;
axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
(.clk(clk), .reset(reset), .clear(clear),
.i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
.o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
always @(posedge clk)
if(reset | clear)
full_count <= 0;
else
if(do_op & ~full)
full_count <= full_count + 1;
assign o_tdata = full ? fifo_out : 0;
assign o_tlast = i_tlast;
endmodule // noc_block_delay_fifo
-------------------------------------------------------------------------------------
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 2:28:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Yeah, ok. It's that multiple driver that's the problem. Can you post the rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com<mailto:USRP-users@lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
AK
Adam Kurisko
Tue, Jan 2, 2018 8:54 PM
Nick,
Haven't heard back from you yet and was just wondering if you were able to give it a look.
I have a feeling that i may have not instantiated the block correctly in rfnoc_ce_auto_inst.v, so I am currently attempting to figure out what might be wrong. Any help or insight into this scenario would be much appreciated.
Thank you,
Adam
From: Adam Kurisko
Sent: Tuesday, January 2, 2018 2:39:16 PM
To: Nick Foster
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code for noc_block_delay_fifo.v.
------------------------- rfnoc_ce_auto_inst.v ------------------------------
/////////////////////////////////////////////////////////
// Auto-generated by gen_rfnoc_inst.py! Any changes
// in this file will be overwritten the next time
// this script is run.
/////////////////////////////////////////////////////////
localparam NUM_CE = 6;
wire [NUM_CE64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast, ce_i_tvalid, ce_i_tready;
wire [63:0] ce_debug[0:NUM_CE-1];
// Flattern CE tdata arrays
genvar k;
generate
for (k = 0; k < NUM_CE; k = k + 1) begin
assign ce_o_tdata[k] = ce_flat_o_tdata[k64+63:k64];
assign ce_flat_i_tdata[k64+63:k*64] = ce_i_tdata[k];
end
endgenerate
wire ce_clk = radio_clk;
wire ce_rst = radio_rst;
noc_block_delay_fifo inst_delay_fifo (
//.bus_clk(bus_clk), .bus_rst(bus_rst),
//.ce_clk(ce_clk), .ce_rst(ce_rst),
.clk(clk), .reset(reset), .clear(clear),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]), .i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
.o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]), .o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
.debug(ce_debug[1])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]), .i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
.o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]), .o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
.debug(ce_debug[2])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]), .i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
.o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]), .o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
.debug(ce_debug[3])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]), .i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
.o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]), .o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
.debug(ce_debug[4])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]), .i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
.o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]), .o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
.debug(ce_debug[5])
);
------------------------- noc_block_delay_fifo.v -----------------------------------
module noc_block_delay_fifo #(
parameter NOC_ID = 64'hDE7A_0000_0000_0000,
parameter MAX_LEN_LOG2=10,
parameter STR_SINK_FIFOSIZE = 11,
parameter WIDTH=64)
(
// input bus_clk, input bus_rst,
// input ce_clk, input ce_rst,
input clk, input reset, input clear,
input [MAX_LEN_LOG2-1:0] len,
input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output i_tready,
output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input o_tready,
output [WIDTH-1:0] debug
);
////////////////////////////////////////////////////////////
//
// RFNoC Shell
//
////////////////////////////////////////////////////////////
wire [31:0] set_data;
wire [7:0] set_addr;
wire set_stb;
wire [63:0] cmdout_tdata, ackin_tdata;
wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast, ackin_tvalid, ackin_tready;
wire [63:0] str_sink_tdata, str_src_tdata;
wire str_sink_tlast, str_sink_tvalid, str_sink_tready, str_src_tlast, str_src_tvalid, str_src_tready;
wire clear_tx_seqnum;
wire [15:0] next_dst_sid;
noc_shell #(
.NOC_ID(NOC_ID),
.STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
noc_shell (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid), .i_tready(i_tready),
.o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid), .o_tready(o_tready),
// Computer Engine Clock Domain
.clk(ce_clk), .reset(ce_rst),
// Control Sink
.set_data(set_data), .set_addr(set_addr), .set_stb(set_stb), .set_time(),
.rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
// Control Source
.cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast), .cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
.ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast), .ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
// Stream Sink
.str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast), .str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
// Stream Source
.str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast), .str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
// Stream IDs set by host
.src_sid(), // SID of this block
.next_dst_sid(next_dst_sid), // Next destination SID
.resp_in_dst_sid(), // Response destination SID for input stream responses / errors
.resp_out_dst_sid(), // Response destination SID for output stream responses / errors
// Misc
.vita_time(64'd0),
.clear_tx_seqnum(clear_tx_seqnum),
.debug(debug));
////////////////////////////////////////////////////////////
//
// AXI Wrapper
// Convert RFNoC Shell interface into AXI stream interface
//
////////////////////////////////////////////////////////////
wire [31:0] m_axis_data_tdata;
wire m_axis_data_tlast;
wire m_axis_data_tvalid;
wire m_axis_data_tready;
wire [31:0] s_axis_data_tdata;
wire s_axis_data_tlast;
wire s_axis_data_tvalid;
wire s_axis_data_tready;
localparam AXI_WRAPPER_BASE = 128;
axi_wrapper #(
.SIMPLE_MODE(1))
inst_axi_wrapper (
.clk(ce_clk), .reset(ce_rst),
.clear_tx_seqnum(clear_tx_seqnum),
.next_dst(next_dst_sid),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
.i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast), .i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
.o_tdata(str_src_tdata), .o_tlast(str_src_tlast), .o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
.m_axis_data_tdata(m_axis_data_tdata),
.m_axis_data_tlast(m_axis_data_tlast),
.m_axis_data_tvalid(m_axis_data_tvalid),
.m_axis_data_tready(m_axis_data_tready),
.s_axis_data_tdata(s_axis_data_tdata),
.s_axis_data_tlast(s_axis_data_tlast),
.s_axis_data_tvalid(s_axis_data_tvalid),
.s_axis_data_tready(s_axis_data_tready),
.m_axis_config_tdata(),
.m_axis_config_tlast(),
.m_axis_config_tvalid(),
.m_axis_config_tready());
////////////////////////////////////////////////////////////
//
// User code
//
////////////////////////////////////////////////////////////
reg [MAX_LEN_LOG2-1:0] full_count;
wire full = full_count == len;
wire do_op = i_tvalid & o_tready;
assign i_tready = o_tready;
assign o_tvalid = i_tvalid;
wire [WIDTH-1:0] fifo_out;
axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
(.clk(clk), .reset(reset), .clear(clear),
.i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
.o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
always @(posedge clk)
if(reset | clear)
full_count <= 0;
else
if(do_op & ~full)
full_count <= full_count + 1;
assign o_tdata = full ? fifo_out : 0;
assign o_tlast = i_tlast;
endmodule // noc_block_delay_fifo
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 2:28:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Yeah, ok. It's that multiple driver that's the problem. Can you post the rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.commailto:USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Nick,
Haven't heard back from you yet and was just wondering if you were able to give it a look.
I have a feeling that i may have not instantiated the block correctly in rfnoc_ce_auto_inst.v, so I am currently attempting to figure out what might be wrong. Any help or insight into this scenario would be much appreciated.
Thank you,
Adam
________________________________
From: Adam Kurisko
Sent: Tuesday, January 2, 2018 2:39:16 PM
To: Nick Foster
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code for noc_block_delay_fifo.v.
------------------------- rfnoc_ce_auto_inst.v ------------------------------
/////////////////////////////////////////////////////////
// Auto-generated by gen_rfnoc_inst.py! Any changes
// in this file will be overwritten the next time
// this script is run.
/////////////////////////////////////////////////////////
localparam NUM_CE = 6;
wire [NUM_CE*64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast, ce_i_tvalid, ce_i_tready;
wire [63:0] ce_debug[0:NUM_CE-1];
// Flattern CE tdata arrays
genvar k;
generate
for (k = 0; k < NUM_CE; k = k + 1) begin
assign ce_o_tdata[k] = ce_flat_o_tdata[k*64+63:k*64];
assign ce_flat_i_tdata[k*64+63:k*64] = ce_i_tdata[k];
end
endgenerate
wire ce_clk = radio_clk;
wire ce_rst = radio_rst;
noc_block_delay_fifo inst_delay_fifo (
//.bus_clk(bus_clk), .bus_rst(bus_rst),
//.ce_clk(ce_clk), .ce_rst(ce_rst),
.clk(clk), .reset(reset), .clear(clear),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]), .i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
.o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]), .o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
.debug(ce_debug[1])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]), .i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
.o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]), .o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
.debug(ce_debug[2])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]), .i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
.o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]), .o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
.debug(ce_debug[3])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]), .i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
.o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]), .o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
.debug(ce_debug[4])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]), .i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
.o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]), .o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
.debug(ce_debug[5])
);
---------------------------------------------------------------------------------------------
------------------------- noc_block_delay_fifo.v -----------------------------------
module noc_block_delay_fifo #(
parameter NOC_ID = 64'hDE7A_0000_0000_0000,
parameter MAX_LEN_LOG2=10,
parameter STR_SINK_FIFOSIZE = 11,
parameter WIDTH=64)
(
// input bus_clk, input bus_rst,
// input ce_clk, input ce_rst,
input clk, input reset, input clear,
input [MAX_LEN_LOG2-1:0] len,
input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output i_tready,
output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input o_tready,
output [WIDTH-1:0] debug
);
////////////////////////////////////////////////////////////
//
// RFNoC Shell
//
////////////////////////////////////////////////////////////
wire [31:0] set_data;
wire [7:0] set_addr;
wire set_stb;
wire [63:0] cmdout_tdata, ackin_tdata;
wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast, ackin_tvalid, ackin_tready;
wire [63:0] str_sink_tdata, str_src_tdata;
wire str_sink_tlast, str_sink_tvalid, str_sink_tready, str_src_tlast, str_src_tvalid, str_src_tready;
wire clear_tx_seqnum;
wire [15:0] next_dst_sid;
noc_shell #(
.NOC_ID(NOC_ID),
.STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
noc_shell (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid), .i_tready(i_tready),
.o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid), .o_tready(o_tready),
// Computer Engine Clock Domain
.clk(ce_clk), .reset(ce_rst),
// Control Sink
.set_data(set_data), .set_addr(set_addr), .set_stb(set_stb), .set_time(),
.rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
// Control Source
.cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast), .cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
.ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast), .ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
// Stream Sink
.str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast), .str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
// Stream Source
.str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast), .str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
// Stream IDs set by host
.src_sid(), // SID of this block
.next_dst_sid(next_dst_sid), // Next destination SID
.resp_in_dst_sid(), // Response destination SID for input stream responses / errors
.resp_out_dst_sid(), // Response destination SID for output stream responses / errors
// Misc
.vita_time(64'd0),
.clear_tx_seqnum(clear_tx_seqnum),
.debug(debug));
////////////////////////////////////////////////////////////
//
// AXI Wrapper
// Convert RFNoC Shell interface into AXI stream interface
//
////////////////////////////////////////////////////////////
wire [31:0] m_axis_data_tdata;
wire m_axis_data_tlast;
wire m_axis_data_tvalid;
wire m_axis_data_tready;
wire [31:0] s_axis_data_tdata;
wire s_axis_data_tlast;
wire s_axis_data_tvalid;
wire s_axis_data_tready;
localparam AXI_WRAPPER_BASE = 128;
axi_wrapper #(
.SIMPLE_MODE(1))
inst_axi_wrapper (
.clk(ce_clk), .reset(ce_rst),
.clear_tx_seqnum(clear_tx_seqnum),
.next_dst(next_dst_sid),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
.i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast), .i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
.o_tdata(str_src_tdata), .o_tlast(str_src_tlast), .o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
.m_axis_data_tdata(m_axis_data_tdata),
.m_axis_data_tlast(m_axis_data_tlast),
.m_axis_data_tvalid(m_axis_data_tvalid),
.m_axis_data_tready(m_axis_data_tready),
.s_axis_data_tdata(s_axis_data_tdata),
.s_axis_data_tlast(s_axis_data_tlast),
.s_axis_data_tvalid(s_axis_data_tvalid),
.s_axis_data_tready(s_axis_data_tready),
.m_axis_config_tdata(),
.m_axis_config_tlast(),
.m_axis_config_tvalid(),
.m_axis_config_tready());
////////////////////////////////////////////////////////////
//
// User code
//
////////////////////////////////////////////////////////////
reg [MAX_LEN_LOG2-1:0] full_count;
wire full = full_count == len;
wire do_op = i_tvalid & o_tready;
assign i_tready = o_tready;
assign o_tvalid = i_tvalid;
wire [WIDTH-1:0] fifo_out;
axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
(.clk(clk), .reset(reset), .clear(clear),
.i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
.o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
always @(posedge clk)
if(reset | clear)
full_count <= 0;
else
if(do_op & ~full)
full_count <= full_count + 1;
assign o_tdata = full ? fifo_out : 0;
assign o_tlast = i_tlast;
endmodule // noc_block_delay_fifo
-------------------------------------------------------------------------------------
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 2:28:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Yeah, ok. It's that multiple driver that's the problem. Can you post the rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com<mailto:USRP-users@lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
NF
Nick Foster
Tue, Jan 2, 2018 10:09 PM
Why have you commented out bus_clk/rst and ce_clk/rst in favor of using
clk/reset? And where are clk/reset/clear being generated? What is being
used as bus_clk/rst in your block's noc_shell?
Nick
On Tue, Jan 2, 2018 at 12:54 PM Adam Kurisko adamkuri@outlook.com wrote:
Nick,
Haven't heard back from you yet and was just wondering if you were able to
give it a look.
I have a feeling that i may have not instantiated the block correctly in
rfnoc_ce_auto_inst.v, so I am currently attempting to figure out what might
be wrong. Any help or insight into this scenario would be much appreciated.
Thank you,
Adam
From: Adam Kurisko
Sent: Tuesday, January 2, 2018 2:39:16 PM
To: Nick Foster
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code
for noc_block_delay_fifo.v.
------------------------- rfnoc_ce_auto_inst.v
/////////////////////////////////////////////////////////
// Auto-generated by gen_rfnoc_inst.py! Any changes
// in this file will be overwritten the next time
// this script is run.
/////////////////////////////////////////////////////////
localparam NUM_CE = 6;
wire [NUM_CE64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast,
ce_i_tvalid, ce_i_tready;
wire [63:0] ce_debug[0:NUM_CE-1];
// Flattern CE tdata arrays
genvar k;
generate
for (k = 0; k < NUM_CE; k = k + 1) begin
assign ce_o_tdata[k] = ce_flat_o_tdata[k64+63:k64];
assign ce_flat_i_tdata[k64+63:k*64] = ce_i_tdata[k];
end
endgenerate
wire ce_clk = radio_clk;
wire ce_rst = radio_rst;
noc_block_delay_fifo inst_delay_fifo (
//.bus_clk(bus_clk), .bus_rst(bus_rst),
//.ce_clk(ce_clk), .ce_rst(ce_rst),
.clk(clk), .reset(reset), .clear(clear),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]),
.i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]),
.o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]),
.i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
.o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]),
.o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
.debug(ce_debug[1])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]),
.i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
.o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]),
.o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
.debug(ce_debug[2])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]),
.i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
.o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]),
.o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
.debug(ce_debug[3])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]),
.i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
.o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]),
.o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
.debug(ce_debug[4])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]),
.i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
.o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]),
.o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
.debug(ce_debug[5])
);
------------------------- noc_block_delay_fifo.v
module noc_block_delay_fifo #(
parameter NOC_ID = 64'hDE7A_0000_0000_0000,
parameter MAX_LEN_LOG2=10,
parameter STR_SINK_FIFOSIZE = 11,
parameter WIDTH=64)
(
// input bus_clk, input bus_rst,
// input ce_clk, input ce_rst,
input clk, input reset, input clear,
input [MAX_LEN_LOG2-1:0] len,
input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output
i_tready,
output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input
o_tready,
output [WIDTH-1:0] debug
);
////////////////////////////////////////////////////////////
//
// RFNoC Shell
//
////////////////////////////////////////////////////////////
wire [31:0] set_data;
wire [7:0] set_addr;
wire set_stb;
wire [63:0] cmdout_tdata, ackin_tdata;
wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast,
ackin_tvalid, ackin_tready;
wire [63:0] str_sink_tdata, str_src_tdata;
wire str_sink_tlast, str_sink_tvalid, str_sink_tready,
str_src_tlast, str_src_tvalid, str_src_tready;
wire clear_tx_seqnum;
wire [15:0] next_dst_sid;
noc_shell #(
.NOC_ID(NOC_ID),
.STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
noc_shell (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid),
.i_tready(i_tready),
.o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid),
.o_tready(o_tready),
// Computer Engine Clock Domain
.clk(ce_clk), .reset(ce_rst),
// Control Sink
.set_data(set_data), .set_addr(set_addr), .set_stb(set_stb),
.set_time(),
.rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
// Control Source
.cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast),
.cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
.ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast),
.ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
// Stream Sink
.str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast),
.str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
// Stream Source
.str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast),
.str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
// Stream IDs set by host
.src_sid(), // SID of this block
.next_dst_sid(next_dst_sid), // Next destination SID
.resp_in_dst_sid(), // Response destination SID for input
stream responses / errors
.resp_out_dst_sid(), // Response destination SID for output
stream responses / errors
// Misc
.vita_time(64'd0),
.clear_tx_seqnum(clear_tx_seqnum),
.debug(debug));
////////////////////////////////////////////////////////////
//
// AXI Wrapper
// Convert RFNoC Shell interface into AXI stream interface
//
////////////////////////////////////////////////////////////
wire [31:0] m_axis_data_tdata;
wire m_axis_data_tlast;
wire m_axis_data_tvalid;
wire m_axis_data_tready;
wire [31:0] s_axis_data_tdata;
wire s_axis_data_tlast;
wire s_axis_data_tvalid;
wire s_axis_data_tready;
localparam AXI_WRAPPER_BASE = 128;
axi_wrapper #(
.SIMPLE_MODE(1))
inst_axi_wrapper (
.clk(ce_clk), .reset(ce_rst),
.clear_tx_seqnum(clear_tx_seqnum),
.next_dst(next_dst_sid),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
.i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast),
.i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
.o_tdata(str_src_tdata), .o_tlast(str_src_tlast),
.o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
.m_axis_data_tdata(m_axis_data_tdata),
.m_axis_data_tlast(m_axis_data_tlast),
.m_axis_data_tvalid(m_axis_data_tvalid),
.m_axis_data_tready(m_axis_data_tready),
.s_axis_data_tdata(s_axis_data_tdata),
.s_axis_data_tlast(s_axis_data_tlast),
.s_axis_data_tvalid(s_axis_data_tvalid),
.s_axis_data_tready(s_axis_data_tready),
.m_axis_config_tdata(),
.m_axis_config_tlast(),
.m_axis_config_tvalid(),
.m_axis_config_tready());
////////////////////////////////////////////////////////////
//
// User code
//
////////////////////////////////////////////////////////////
reg [MAX_LEN_LOG2-1:0] full_count;
wire full = full_count == len;
wire do_op = i_tvalid & o_tready;
assign i_tready = o_tready;
assign o_tvalid = i_tvalid;
wire [WIDTH-1:0] fifo_out;
axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
(.clk(clk), .reset(reset), .clear(clear),
.i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
.o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
always @(posedge clk)
if(reset | clear)
full_count <= 0;
else
if(do_op & ~full)
full_count <= full_count + 1;
assign o_tdata = full ? fifo_out : 0;
assign o_tlast = i_tlast;
endmodule // noc_block_delay_fifo
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 2:28:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Yeah, ok. It's that multiple driver that's the problem. Can you post the
rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko adamkuri@outlook.com wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following
errors.
Most messages are the same as before, but take not of the errors present
under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver
pin
'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]'
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver
pin 'i_3847/O'
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
with option '-group [get_clocks -include_generated_clocks clk0]'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net
e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64]
has multiple drivers:
e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O,
e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
with option '-group [get_clocks -include_generated_clocks clk0]'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any
sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko adamkuri@outlook.com wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
with option '-group [get_clocks -include_generated_clocks clk0]'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing
'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
to this pin unless set_min_delay is used to constrain the paths.
["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply
the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep
running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc
block WITHOUT using gnuradio? It seems that most information I am finding
online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the
noc_shell and axi_wrapper modules within my blocks. However, the errors I
am receiving are not stemming from the user code I have written, instead
the errors are coming from various design sources within the e310 fpga
source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Why have you commented out bus_clk/rst and ce_clk/rst in favor of using
clk/reset? And where are clk/reset/clear being generated? What is being
used as bus_clk/rst in your block's noc_shell?
Nick
On Tue, Jan 2, 2018 at 12:54 PM Adam Kurisko <adamkuri@outlook.com> wrote:
> Nick,
>
>
> Haven't heard back from you yet and was just wondering if you were able to
> give it a look.
>
>
> I have a feeling that i may have not instantiated the block correctly in
> rfnoc_ce_auto_inst.v, so I am currently attempting to figure out what might
> be wrong. Any help or insight into this scenario would be much appreciated.
>
>
> Thank you,
>
> Adam
> ------------------------------
> *From:* Adam Kurisko
> *Sent:* Tuesday, January 2, 2018 2:39:16 PM
> *To:* Nick Foster
>
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* Re: [USRP-users] RFNOC Block design without GNU Radio
>
> Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code
> for noc_block_delay_fifo.v.
>
>
> ------------------------- rfnoc_ce_auto_inst.v
> ------------------------------
>
>
> /////////////////////////////////////////////////////////
> // Auto-generated by gen_rfnoc_inst.py! Any changes
> // in this file will be overwritten the next time
> // this script is run.
> /////////////////////////////////////////////////////////
> localparam NUM_CE = 6;
> wire [NUM_CE*64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
> wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
> wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast,
> ce_i_tvalid, ce_i_tready;
> wire [63:0] ce_debug[0:NUM_CE-1];
> // Flattern CE tdata arrays
> genvar k;
> generate
> for (k = 0; k < NUM_CE; k = k + 1) begin
> assign ce_o_tdata[k] = ce_flat_o_tdata[k*64+63:k*64];
> assign ce_flat_i_tdata[k*64+63:k*64] = ce_i_tdata[k];
> end
> endgenerate
> wire ce_clk = radio_clk;
> wire ce_rst = radio_rst;
>
> noc_block_delay_fifo inst_delay_fifo (
> //.bus_clk(bus_clk), .bus_rst(bus_rst),
> //.ce_clk(ce_clk), .ce_rst(ce_rst),
> .clk(clk), .reset(reset), .clear(clear),
> .i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]),
> .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
> .o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]),
> .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
> .debug(ce_debug[0])
> );
>
> noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
> .bus_clk(bus_clk), .bus_rst(bus_rst),
> .ce_clk(ce_clk), .ce_rst(ce_rst),
> .i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]),
> .i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
> .o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]),
> .o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
> .debug(ce_debug[1])
> );
>
> noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
> .bus_clk(bus_clk), .bus_rst(bus_rst),
> .ce_clk(ce_clk), .ce_rst(ce_rst),
> .i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]),
> .i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
> .o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]),
> .o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
> .debug(ce_debug[2])
> );
>
> noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
> .bus_clk(bus_clk), .bus_rst(bus_rst),
> .ce_clk(ce_clk), .ce_rst(ce_rst),
> .i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]),
> .i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
> .o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]),
> .o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
> .debug(ce_debug[3])
> );
>
> noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
> .bus_clk(bus_clk), .bus_rst(bus_rst),
> .ce_clk(ce_clk), .ce_rst(ce_rst),
> .i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]),
> .i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
> .o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]),
> .o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
> .debug(ce_debug[4])
> );
>
> noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
> .bus_clk(bus_clk), .bus_rst(bus_rst),
> .ce_clk(ce_clk), .ce_rst(ce_rst),
> .i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]),
> .i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
> .o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]),
> .o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
> .debug(ce_debug[5])
> );
>
>
>
> ---------------------------------------------------------------------------------------------
>
>
> ------------------------- noc_block_delay_fifo.v
> -----------------------------------
>
>
> module noc_block_delay_fifo #(
> parameter NOC_ID = 64'hDE7A_0000_0000_0000,
> parameter MAX_LEN_LOG2=10,
> parameter STR_SINK_FIFOSIZE = 11,
> parameter WIDTH=64)
> (
> // input bus_clk, input bus_rst,
> // input ce_clk, input ce_rst,
> input clk, input reset, input clear,
> input [MAX_LEN_LOG2-1:0] len,
> input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output
> i_tready,
> output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input
> o_tready,
> output [WIDTH-1:0] debug
> );
>
> ////////////////////////////////////////////////////////////
> //
> // RFNoC Shell
> //
> ////////////////////////////////////////////////////////////
> wire [31:0] set_data;
> wire [7:0] set_addr;
> wire set_stb;
>
> wire [63:0] cmdout_tdata, ackin_tdata;
> wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast,
> ackin_tvalid, ackin_tready;
>
> wire [63:0] str_sink_tdata, str_src_tdata;
> wire str_sink_tlast, str_sink_tvalid, str_sink_tready,
> str_src_tlast, str_src_tvalid, str_src_tready;
>
> wire clear_tx_seqnum;
> wire [15:0] next_dst_sid;
>
> noc_shell #(
> .NOC_ID(NOC_ID),
> .STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
> noc_shell (
> .bus_clk(bus_clk), .bus_rst(bus_rst),
> .i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid),
> .i_tready(i_tready),
> .o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid),
> .o_tready(o_tready),
> // Computer Engine Clock Domain
> .clk(ce_clk), .reset(ce_rst),
> // Control Sink
> .set_data(set_data), .set_addr(set_addr), .set_stb(set_stb),
> .set_time(),
> .rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
> // Control Source
> .cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast),
> .cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
> .ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast),
> .ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
> // Stream Sink
> .str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast),
> .str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
> // Stream Source
> .str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast),
> .str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
> // Stream IDs set by host
> .src_sid(), // SID of this block
> .next_dst_sid(next_dst_sid), // Next destination SID
> .resp_in_dst_sid(), // Response destination SID for input
> stream responses / errors
> .resp_out_dst_sid(), // Response destination SID for output
> stream responses / errors
> // Misc
> .vita_time(64'd0),
> .clear_tx_seqnum(clear_tx_seqnum),
> .debug(debug));
>
> ////////////////////////////////////////////////////////////
> //
> // AXI Wrapper
> // Convert RFNoC Shell interface into AXI stream interface
> //
> ////////////////////////////////////////////////////////////
> wire [31:0] m_axis_data_tdata;
> wire m_axis_data_tlast;
> wire m_axis_data_tvalid;
> wire m_axis_data_tready;
>
> wire [31:0] s_axis_data_tdata;
> wire s_axis_data_tlast;
> wire s_axis_data_tvalid;
> wire s_axis_data_tready;
>
> localparam AXI_WRAPPER_BASE = 128;
>
> axi_wrapper #(
> .SIMPLE_MODE(1))
> inst_axi_wrapper (
> .clk(ce_clk), .reset(ce_rst),
> .clear_tx_seqnum(clear_tx_seqnum),
> .next_dst(next_dst_sid),
> .set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
> .i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast),
> .i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
> .o_tdata(str_src_tdata), .o_tlast(str_src_tlast),
> .o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
> .m_axis_data_tdata(m_axis_data_tdata),
> .m_axis_data_tlast(m_axis_data_tlast),
> .m_axis_data_tvalid(m_axis_data_tvalid),
> .m_axis_data_tready(m_axis_data_tready),
> .s_axis_data_tdata(s_axis_data_tdata),
> .s_axis_data_tlast(s_axis_data_tlast),
> .s_axis_data_tvalid(s_axis_data_tvalid),
> .s_axis_data_tready(s_axis_data_tready),
> .m_axis_config_tdata(),
> .m_axis_config_tlast(),
> .m_axis_config_tvalid(),
> .m_axis_config_tready());
>
> ////////////////////////////////////////////////////////////
> //
> // User code
> //
> ////////////////////////////////////////////////////////////
>
> reg [MAX_LEN_LOG2-1:0] full_count;
> wire full = full_count == len;
>
> wire do_op = i_tvalid & o_tready;
>
> assign i_tready = o_tready;
> assign o_tvalid = i_tvalid;
>
> wire [WIDTH-1:0] fifo_out;
>
> axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
> (.clk(clk), .reset(reset), .clear(clear),
> .i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
> .o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
>
> always @(posedge clk)
> if(reset | clear)
> full_count <= 0;
> else
> if(do_op & ~full)
> full_count <= full_count + 1;
>
> assign o_tdata = full ? fifo_out : 0;
> assign o_tlast = i_tlast;
>
> endmodule // noc_block_delay_fifo
>
>
>
>
> -------------------------------------------------------------------------------------
>
>
> Thank you,
>
> Adam
> ------------------------------
> *From:* Nick Foster <bistromath@gmail.com>
> *Sent:* Tuesday, January 2, 2018 2:28:55 PM
> *To:* Adam Kurisko
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* Re: [USRP-users] RFNOC Block design without GNU Radio
>
>
> Yeah, ok. It's that multiple driver that's the problem. Can you post the
> rfnoc_ce_auto_inst.v you're using?
>
> Nick
>
> On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.com> wrote:
>
> Nick,
>
>
> I just attempted to generate a bitstream and it failed with the following
> errors.
>
>
> Most messages are the same as before, but take not of the errors present
> under "Opt Design"
>
>
> Vivado Commands
> General Messages
>
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[0]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[0]
>
> Synthesis
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[0]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[0]
> [Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver
> pin
> 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]'
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
> [Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver
> pin 'i_3847/O'
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
>
>
> Implementation
> Design Initialization
> [Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
> will not be read for this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
> will not be read for any cell of this module.
> [Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
> with option '-group [get_clocks -include_generated_clocks clk0]'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
> [Common 17-161] Invalid option value '#' specified for 'objects'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
>
> Opt Design
> [DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net
> e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64]
> has multiple drivers:
> e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O,
> e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
> [Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
>
> design_1
> General Messages
>
> [Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
> will not be read for this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
> will not be read for any cell of this module.
> [Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
> with option '-group [get_clocks -include_generated_clocks clk0]'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
> [Common 17-161] Invalid option value '#' specified for 'objects'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
>
>
> Thank you,
>
> Adam
> ------------------------------
> *From:* Nick Foster <bistromath@gmail.com>
> *Sent:* Tuesday, January 2, 2018 12:35:54 PM
>
> *To:* Adam Kurisko
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* Re: [USRP-users] RFNOC Block design without GNU Radio
>
> That all looks ok to me. Does it successfully generate a bitstream?
>
> There will virtually always be warnings, even some "critical" ones, in any
> sufficiently complex FPGA project.
>
> Nick
>
> On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.com> wrote:
>
> Hi Nick,
>
>
> Thank you for your fast response.
>
>
> I am receiving the following errors:
>
>
> Synthesis
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_awprot[0]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[2]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[1]
> [Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin
> s_axi_arprot[0]
>
> Implementation
> Design Initialization
> [Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc
> will not be read for this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc
> will not be read for any cell of this module.
> [Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file
> /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc
> will not be read for any cell of this module.
> [Vivado 12-1387] No valid object(s) found for set_clock_groups constraint
> with option '-group [get_clocks -include_generated_clocks clk0]'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
> [Common 17-161] Invalid option value '#' specified for 'objects'.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
> [Common 17-55] 'get_property' expects at least one object.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
>
> Opt Design
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
>
> Place Design
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
> [Constraints 18-514] set_max_delay: Path segmentation by forcing
> 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths
> to this pin unless set_min_delay is used to constrain the paths.
> ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
>
>
> Please let me know what you think.
>
>
> Thank you,
>
> Adam
>
>
> ------------------------------
> *From:* Nick Foster <bistromath@gmail.com>
> *Sent:* Tuesday, January 2, 2018 12:08:20 PM
> *To:* Adam Kurisko
> *Cc:* usrp-users@lists.ettus.com
> *Subject:* Re: [USRP-users] RFNOC Block design without GNU Radio
>
> The use of Gnuradio will not affect the FPGA design at all. If you supply
> the errors you're seeing we might be able to help further.
>
> Nick
>
> On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
> Hello all,
>
>
> I am trying to design an RFNoC block using Vivado 2015.4, but I keep
> running into synthesis and implementation critical warnings.
>
>
> Can you explain to me step by step how to instantiate a working rfnoc
> block WITHOUT using gnuradio? It seems that most information I am finding
> online include the use of gnuradio.
>
>
> I believe I have my environment setup correctly and I am calling the
> noc_shell and axi_wrapper modules within my blocks. However, the errors I
> am receiving are not stemming from the user code I have written, instead
> the errors are coming from various design sources within the e310 fpga
> source code.
>
>
> Please help. Thank you
>
>
> -Adam
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
AK
Adam Kurisko
Tue, Jan 2, 2018 10:57 PM
I actually found that too and reverted it back to the the original bus_clk/rst and ce_bus/clk such as below:
noc_block_delay_fifo inst_delay_fifo (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
I am unsure of why I changed that in the first place, but I think it may have been originally to route the ce_clk/rst to clk/rst as in .clk(ce_clk), .reset(ce_rst).
For my user code in the source file, should I just use ce_clk rather than generating a new clk?
Thank you,
Adam
From: Nick Foster bistromath@gmail.com
Sent: Tuesday, January 2, 2018 5:09:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Why have you commented out bus_clk/rst and ce_clk/rst in favor of using clk/reset? And where are clk/reset/clear being generated? What is being used as bus_clk/rst in your block's noc_shell?
Nick
On Tue, Jan 2, 2018 at 12:54 PM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Nick,
Haven't heard back from you yet and was just wondering if you were able to give it a look.
I have a feeling that i may have not instantiated the block correctly in rfnoc_ce_auto_inst.v, so I am currently attempting to figure out what might be wrong. Any help or insight into this scenario would be much appreciated.
Thank you,
Adam
From: Adam Kurisko
Sent: Tuesday, January 2, 2018 2:39:16 PM
To: Nick Foster
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code for noc_block_delay_fifo.v.
------------------------- rfnoc_ce_auto_inst.v ------------------------------
/////////////////////////////////////////////////////////
// Auto-generated by gen_rfnoc_inst.py! Any changes
// in this file will be overwritten the next time
// this script is run.
/////////////////////////////////////////////////////////
localparam NUM_CE = 6;
wire [NUM_CE64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast, ce_i_tvalid, ce_i_tready;
wire [63:0] ce_debug[0:NUM_CE-1];
// Flattern CE tdata arrays
genvar k;
generate
for (k = 0; k < NUM_CE; k = k + 1) begin
assign ce_o_tdata[k] = ce_flat_o_tdata[k64+63:k64];
assign ce_flat_i_tdata[k64+63:k*64] = ce_i_tdata[k];
end
endgenerate
wire ce_clk = radio_clk;
wire ce_rst = radio_rst;
noc_block_delay_fifo inst_delay_fifo (
//.bus_clk(bus_clk), .bus_rst(bus_rst),
//.ce_clk(ce_clk), .ce_rst(ce_rst),
.clk(clk), .reset(reset), .clear(clear),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]), .i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
.o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]), .o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
.debug(ce_debug[1])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]), .i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
.o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]), .o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
.debug(ce_debug[2])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]), .i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
.o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]), .o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
.debug(ce_debug[3])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]), .i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
.o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]), .o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
.debug(ce_debug[4])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]), .i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
.o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]), .o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
.debug(ce_debug[5])
);
------------------------- noc_block_delay_fifo.v -----------------------------------
module noc_block_delay_fifo #(
parameter NOC_ID = 64'hDE7A_0000_0000_0000,
parameter MAX_LEN_LOG2=10,
parameter STR_SINK_FIFOSIZE = 11,
parameter WIDTH=64)
(
// input bus_clk, input bus_rst,
// input ce_clk, input ce_rst,
input clk, input reset, input clear,
input [MAX_LEN_LOG2-1:0] len,
input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output i_tready,
output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input o_tready,
output [WIDTH-1:0] debug
);
////////////////////////////////////////////////////////////
//
// RFNoC Shell
//
////////////////////////////////////////////////////////////
wire [31:0] set_data;
wire [7:0] set_addr;
wire set_stb;
wire [63:0] cmdout_tdata, ackin_tdata;
wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast, ackin_tvalid, ackin_tready;
wire [63:0] str_sink_tdata, str_src_tdata;
wire str_sink_tlast, str_sink_tvalid, str_sink_tready, str_src_tlast, str_src_tvalid, str_src_tready;
wire clear_tx_seqnum;
wire [15:0] next_dst_sid;
noc_shell #(
.NOC_ID(NOC_ID),
.STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
noc_shell (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid), .i_tready(i_tready),
.o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid), .o_tready(o_tready),
// Computer Engine Clock Domain
.clk(ce_clk), .reset(ce_rst),
// Control Sink
.set_data(set_data), .set_addr(set_addr), .set_stb(set_stb), .set_time(),
.rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
// Control Source
.cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast), .cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
.ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast), .ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
// Stream Sink
.str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast), .str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
// Stream Source
.str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast), .str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
// Stream IDs set by host
.src_sid(), // SID of this block
.next_dst_sid(next_dst_sid), // Next destination SID
.resp_in_dst_sid(), // Response destination SID for input stream responses / errors
.resp_out_dst_sid(), // Response destination SID for output stream responses / errors
// Misc
.vita_time(64'd0),
.clear_tx_seqnum(clear_tx_seqnum),
.debug(debug));
////////////////////////////////////////////////////////////
//
// AXI Wrapper
// Convert RFNoC Shell interface into AXI stream interface
//
////////////////////////////////////////////////////////////
wire [31:0] m_axis_data_tdata;
wire m_axis_data_tlast;
wire m_axis_data_tvalid;
wire m_axis_data_tready;
wire [31:0] s_axis_data_tdata;
wire s_axis_data_tlast;
wire s_axis_data_tvalid;
wire s_axis_data_tready;
localparam AXI_WRAPPER_BASE = 128;
axi_wrapper #(
.SIMPLE_MODE(1))
inst_axi_wrapper (
.clk(ce_clk), .reset(ce_rst),
.clear_tx_seqnum(clear_tx_seqnum),
.next_dst(next_dst_sid),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
.i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast), .i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
.o_tdata(str_src_tdata), .o_tlast(str_src_tlast), .o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
.m_axis_data_tdata(m_axis_data_tdata),
.m_axis_data_tlast(m_axis_data_tlast),
.m_axis_data_tvalid(m_axis_data_tvalid),
.m_axis_data_tready(m_axis_data_tready),
.s_axis_data_tdata(s_axis_data_tdata),
.s_axis_data_tlast(s_axis_data_tlast),
.s_axis_data_tvalid(s_axis_data_tvalid),
.s_axis_data_tready(s_axis_data_tready),
.m_axis_config_tdata(),
.m_axis_config_tlast(),
.m_axis_config_tvalid(),
.m_axis_config_tready());
////////////////////////////////////////////////////////////
//
// User code
//
////////////////////////////////////////////////////////////
reg [MAX_LEN_LOG2-1:0] full_count;
wire full = full_count == len;
wire do_op = i_tvalid & o_tready;
assign i_tready = o_tready;
assign o_tvalid = i_tvalid;
wire [WIDTH-1:0] fifo_out;
axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
(.clk(clk), .reset(reset), .clear(clear),
.i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
.o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
always @(posedge clk)
if(reset | clear)
full_count <= 0;
else
if(do_op & ~full)
full_count <= full_count + 1;
assign o_tdata = full ? fifo_out : 0;
assign o_tlast = i_tlast;
endmodule // noc_block_delay_fifo
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 2:28:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Yeah, ok. It's that multiple driver that's the problem. Can you post the rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.commailto:adamkuri@outlook.com> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
From: Nick Foster <bistromath@gmail.commailto:bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.commailto:usrp-users@lists.ettus.com> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
USRP-users mailing list
USRP-users@lists.ettus.commailto:USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
I actually found that too and reverted it back to the the original bus_clk/rst and ce_bus/clk such as below:
noc_block_delay_fifo inst_delay_fifo (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
I am unsure of why I changed that in the first place, but I think it may have been originally to route the ce_clk/rst to clk/rst as in .clk(ce_clk), .reset(ce_rst).
For my user code in the source file, should I just use ce_clk rather than generating a new clk?
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com>
Sent: Tuesday, January 2, 2018 5:09:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Why have you commented out bus_clk/rst and ce_clk/rst in favor of using clk/reset? And where are clk/reset/clear being generated? What is being used as bus_clk/rst in your block's noc_shell?
Nick
On Tue, Jan 2, 2018 at 12:54 PM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Nick,
Haven't heard back from you yet and was just wondering if you were able to give it a look.
I have a feeling that i may have not instantiated the block correctly in rfnoc_ce_auto_inst.v, so I am currently attempting to figure out what might be wrong. Any help or insight into this scenario would be much appreciated.
Thank you,
Adam
________________________________
From: Adam Kurisko
Sent: Tuesday, January 2, 2018 2:39:16 PM
To: Nick Foster
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Okay, below I posted my rfnoc_ce_auto_inst.v, as well as, my source code for noc_block_delay_fifo.v.
------------------------- rfnoc_ce_auto_inst.v ------------------------------
/////////////////////////////////////////////////////////
// Auto-generated by gen_rfnoc_inst.py! Any changes
// in this file will be overwritten the next time
// this script is run.
/////////////////////////////////////////////////////////
localparam NUM_CE = 6;
wire [NUM_CE*64-1:0] ce_flat_o_tdata, ce_flat_i_tdata;
wire [63:0] ce_o_tdata[0:NUM_CE-1], ce_i_tdata[0:NUM_CE-1];
wire [NUM_CE-1:0] ce_o_tlast, ce_o_tvalid, ce_o_tready, ce_i_tlast, ce_i_tvalid, ce_i_tready;
wire [63:0] ce_debug[0:NUM_CE-1];
// Flattern CE tdata arrays
genvar k;
generate
for (k = 0; k < NUM_CE; k = k + 1) begin
assign ce_o_tdata[k] = ce_flat_o_tdata[k*64+63:k*64];
assign ce_flat_i_tdata[k*64+63:k*64] = ce_i_tdata[k];
end
endgenerate
wire ce_clk = radio_clk;
wire ce_rst = radio_rst;
noc_block_delay_fifo inst_delay_fifo (
//.bus_clk(bus_clk), .bus_rst(bus_rst),
//.ce_clk(ce_clk), .ce_rst(ce_rst),
.clk(clk), .reset(reset), .clear(clear),
.i_tdata(ce_o_tdata[0]), .i_tlast(ce_o_tlast[0]), .i_tvalid(ce_o_tvalid[0]), .i_tready(ce_o_tready[0]),
.o_tdata(ce_i_tdata[0]), .o_tlast(ce_i_tlast[0]), .o_tvalid(ce_i_tvalid[0]), .o_tready(ce_i_tready[0]),
.debug(ce_debug[0])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[1]), .i_tlast(ce_o_tlast[1]), .i_tvalid(ce_o_tvalid[1]), .i_tready(ce_o_tready[1]),
.o_tdata(ce_i_tdata[1]), .o_tlast(ce_i_tlast[1]), .o_tvalid(ce_i_tvalid[1]), .o_tready(ce_i_tready[1]),
.debug(ce_debug[1])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback2 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[2]), .i_tlast(ce_o_tlast[2]), .i_tvalid(ce_o_tvalid[2]), .i_tready(ce_o_tready[2]),
.o_tdata(ce_i_tdata[2]), .o_tlast(ce_i_tlast[2]), .o_tvalid(ce_i_tvalid[2]), .o_tready(ce_i_tready[2]),
.debug(ce_debug[2])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback3 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[3]), .i_tlast(ce_o_tlast[3]), .i_tvalid(ce_o_tvalid[3]), .i_tready(ce_o_tready[3]),
.o_tdata(ce_i_tdata[3]), .o_tlast(ce_i_tlast[3]), .o_tvalid(ce_i_tvalid[3]), .o_tready(ce_i_tready[3]),
.debug(ce_debug[3])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback4 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[4]), .i_tlast(ce_o_tlast[4]), .i_tvalid(ce_o_tvalid[4]), .i_tready(ce_o_tready[4]),
.o_tdata(ce_i_tdata[4]), .o_tlast(ce_i_tlast[4]), .o_tvalid(ce_i_tvalid[4]), .o_tready(ce_i_tready[4]),
.debug(ce_debug[4])
);
noc_block_axi_fifo_loopback inst_axi_fifo_loopback5 (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.ce_clk(ce_clk), .ce_rst(ce_rst),
.i_tdata(ce_o_tdata[5]), .i_tlast(ce_o_tlast[5]), .i_tvalid(ce_o_tvalid[5]), .i_tready(ce_o_tready[5]),
.o_tdata(ce_i_tdata[5]), .o_tlast(ce_i_tlast[5]), .o_tvalid(ce_i_tvalid[5]), .o_tready(ce_i_tready[5]),
.debug(ce_debug[5])
);
---------------------------------------------------------------------------------------------
------------------------- noc_block_delay_fifo.v -----------------------------------
module noc_block_delay_fifo #(
parameter NOC_ID = 64'hDE7A_0000_0000_0000,
parameter MAX_LEN_LOG2=10,
parameter STR_SINK_FIFOSIZE = 11,
parameter WIDTH=64)
(
// input bus_clk, input bus_rst,
// input ce_clk, input ce_rst,
input clk, input reset, input clear,
input [MAX_LEN_LOG2-1:0] len,
input [WIDTH-1:0] i_tdata, input i_tlast, input i_tvalid, output i_tready,
output [WIDTH-1:0] o_tdata, output o_tlast, output o_tvalid, input o_tready,
output [WIDTH-1:0] debug
);
////////////////////////////////////////////////////////////
//
// RFNoC Shell
//
////////////////////////////////////////////////////////////
wire [31:0] set_data;
wire [7:0] set_addr;
wire set_stb;
wire [63:0] cmdout_tdata, ackin_tdata;
wire cmdout_tlast, cmdout_tvalid, cmdout_tready, ackin_tlast, ackin_tvalid, ackin_tready;
wire [63:0] str_sink_tdata, str_src_tdata;
wire str_sink_tlast, str_sink_tvalid, str_sink_tready, str_src_tlast, str_src_tvalid, str_src_tready;
wire clear_tx_seqnum;
wire [15:0] next_dst_sid;
noc_shell #(
.NOC_ID(NOC_ID),
.STR_SINK_FIFOSIZE(STR_SINK_FIFOSIZE))
noc_shell (
.bus_clk(bus_clk), .bus_rst(bus_rst),
.i_tdata(i_tdata), .i_tlast(i_tlast), .i_tvalid(i_tvalid), .i_tready(i_tready),
.o_tdata(o_tdata), .o_tlast(o_tlast), .o_tvalid(o_tvalid), .o_tready(o_tready),
// Computer Engine Clock Domain
.clk(ce_clk), .reset(ce_rst),
// Control Sink
.set_data(set_data), .set_addr(set_addr), .set_stb(set_stb), .set_time(),
.rb_stb(1'b1), .rb_data(64'd0), .rb_addr(),
// Control Source
.cmdout_tdata(cmdout_tdata), .cmdout_tlast(cmdout_tlast), .cmdout_tvalid(cmdout_tvalid), .cmdout_tready(cmdout_tready),
.ackin_tdata(ackin_tdata), .ackin_tlast(ackin_tlast), .ackin_tvalid(ackin_tvalid), .ackin_tready(ackin_tready),
// Stream Sink
.str_sink_tdata(str_sink_tdata), .str_sink_tlast(str_sink_tlast), .str_sink_tvalid(str_sink_tvalid), .str_sink_tready(str_sink_tready),
// Stream Source
.str_src_tdata(str_src_tdata), .str_src_tlast(str_src_tlast), .str_src_tvalid(str_src_tvalid), .str_src_tready(str_src_tready),
// Stream IDs set by host
.src_sid(), // SID of this block
.next_dst_sid(next_dst_sid), // Next destination SID
.resp_in_dst_sid(), // Response destination SID for input stream responses / errors
.resp_out_dst_sid(), // Response destination SID for output stream responses / errors
// Misc
.vita_time(64'd0),
.clear_tx_seqnum(clear_tx_seqnum),
.debug(debug));
////////////////////////////////////////////////////////////
//
// AXI Wrapper
// Convert RFNoC Shell interface into AXI stream interface
//
////////////////////////////////////////////////////////////
wire [31:0] m_axis_data_tdata;
wire m_axis_data_tlast;
wire m_axis_data_tvalid;
wire m_axis_data_tready;
wire [31:0] s_axis_data_tdata;
wire s_axis_data_tlast;
wire s_axis_data_tvalid;
wire s_axis_data_tready;
localparam AXI_WRAPPER_BASE = 128;
axi_wrapper #(
.SIMPLE_MODE(1))
inst_axi_wrapper (
.clk(ce_clk), .reset(ce_rst),
.clear_tx_seqnum(clear_tx_seqnum),
.next_dst(next_dst_sid),
.set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
.i_tdata(str_sink_tdata), .i_tlast(str_sink_tlast), .i_tvalid(str_sink_tvalid), .i_tready(str_sink_tready),
.o_tdata(str_src_tdata), .o_tlast(str_src_tlast), .o_tvalid(str_src_tvalid), .o_tready(str_src_tready),
.m_axis_data_tdata(m_axis_data_tdata),
.m_axis_data_tlast(m_axis_data_tlast),
.m_axis_data_tvalid(m_axis_data_tvalid),
.m_axis_data_tready(m_axis_data_tready),
.s_axis_data_tdata(s_axis_data_tdata),
.s_axis_data_tlast(s_axis_data_tlast),
.s_axis_data_tvalid(s_axis_data_tvalid),
.s_axis_data_tready(s_axis_data_tready),
.m_axis_config_tdata(),
.m_axis_config_tlast(),
.m_axis_config_tvalid(),
.m_axis_config_tready());
////////////////////////////////////////////////////////////
//
// User code
//
////////////////////////////////////////////////////////////
reg [MAX_LEN_LOG2-1:0] full_count;
wire full = full_count == len;
wire do_op = i_tvalid & o_tready;
assign i_tready = o_tready;
assign o_tvalid = i_tvalid;
wire [WIDTH-1:0] fifo_out;
axi_fifo #(.WIDTH(WIDTH), .SIZE(MAX_LEN_LOG2)) sample_fifo
(.clk(clk), .reset(reset), .clear(clear),
.i_tdata(i_tdata), .i_tvalid(do_op), .i_tready(),
.o_tdata(fifo_out), .o_tvalid(), .o_tready(do_op&full));
always @(posedge clk)
if(reset | clear)
full_count <= 0;
else
if(do_op & ~full)
full_count <= full_count + 1;
assign o_tdata = full ? fifo_out : 0;
assign o_tlast = i_tlast;
endmodule // noc_block_delay_fifo
-------------------------------------------------------------------------------------
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 2:28:55 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
Yeah, ok. It's that multiple driver that's the problem. Can you post the rfnoc_ce_auto_inst.v you're using?
Nick
On Tue, Jan 2, 2018, 10:58 AM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Nick,
I just attempted to generate a bitstream and it failed with the following errors.
Most messages are the same as before, but take not of the errors present under "Opt Design"
Vivado Commands
General Messages
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 1st driver pin 'e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/dout[64]' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/fifo/axi_fifo_2clk.v":42]
[Synth 8-3352] multi-driven net e310_core0/ce_o_tlast[0] with 2nd driver pin 'i_3847/O' ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/lib/control/axi_crossbar.v":19]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[DRC 23-20] Rule violation (MDRV-1) Multiple Driver Nets - Net e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/dout[64] has multiple drivers: e310_core0/axi_crossbar/instantiate_slave_mux[2].axi_slave_mux_i/fifo_short_2clk_i_1__5/O, e310_core0/inst_delay_fifo/noc_shell/out_fifo/fifo_short_2clk/U0/inst_fifo_gen/gconvfifo.rf/grf.rf/gntv_or_sync_fifo.mem/goreg_dm.dout_i_reg[64]/Q.
[Vivado_Tcl 4-78] Error(s) found during DRC. Opt_design not run.
design_1
General Messages
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 12:35:54 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
That all looks ok to me. Does it successfully generate a bitstream?
There will virtually always be warnings, even some "critical" ones, in any sufficiently complex FPGA project.
Nick
On Tue, Jan 2, 2018, 9:26 AM Adam Kurisko <adamkuri@outlook.com<mailto:adamkuri@outlook.com>> wrote:
Hi Nick,
Thank you for your fast response.
I am receiving the following errors:
Synthesis
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_awprot[0]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[2]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[1]
[Synth 8-4442] BlackBox module inst_axi_interconnect has unconnected pin s_axi_arprot[0]
Implementation
Design Initialization
[Designutils 20-1281] Could not find module 'mig_7series_0'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/mig_7series_0/mig_7series_0/user_design/constraints/mig_7series_0.xdc will not be read for this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb31'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb31/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'axi_hb47'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/axi_hb47/fir_compiler_v7_2_5/constraints/fir_compiler_v7_2.xdc will not be read for any cell of this module.
[Designutils 20-1280] Could not find module 'fifo_4k_2clk'. The XDC file /home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_4k_2clk/fifo_4k_2clk/fifo_4k_2clk_clocks.xdc will not be read for any cell of this module.
[Vivado 12-1387] No valid object(s) found for set_clock_groups constraint with option '-group [get_clocks -include_generated_clocks clk0]'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":28]
[Common 17-161] Invalid option value '#' specified for 'objects'. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":53]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":61]
[Common 17-55] 'get_property' expects at least one object. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/build-ip/xc7z020clg484-1/fifo_short_2clk/fifo_short_2clk/fifo_short_2clk_clocks.xdc":63]
Opt Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Place Design
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I1' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/S' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
[Constraints 18-514] set_max_delay: Path segmentation by forcing 'CAT_SCLK_MUX/I0' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths. ["/home/kurisko/e300/src/uhd/fpga-src/usrp3/top/e300/e310_timing.xdc":58]
Please let me know what you think.
Thank you,
Adam
________________________________
From: Nick Foster <bistromath@gmail.com<mailto:bistromath@gmail.com>>
Sent: Tuesday, January 2, 2018 12:08:20 PM
To: Adam Kurisko
Cc: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNOC Block design without GNU Radio
The use of Gnuradio will not affect the FPGA design at all. If you supply the errors you're seeing we might be able to help further.
Nick
On Tue, Jan 2, 2018 at 8:57 AM Adam Kurisko via USRP-users <usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote:
Hello all,
I am trying to design an RFNoC block using Vivado 2015.4, but I keep running into synthesis and implementation critical warnings.
Can you explain to me step by step how to instantiate a working rfnoc block WITHOUT using gnuradio? It seems that most information I am finding online include the use of gnuradio.
I believe I have my environment setup correctly and I am calling the noc_shell and axi_wrapper modules within my blocks. However, the errors I am receiving are not stemming from the user code I have written, instead the errors are coming from various design sources within the e310 fpga source code.
Please help. Thank you
-Adam
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com<mailto:USRP-users@lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com