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 <adamk...@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 <bistrom...@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 <adamk...@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 <bistrom...@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 <adamk...@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 <bistrom...@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
>
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to