diff options
Diffstat (limited to 'fpga/usrp3/top/x400/x4xx_core.v')
| -rw-r--r-- | fpga/usrp3/top/x400/x4xx_core.v | 202 |
1 files changed, 95 insertions, 107 deletions
diff --git a/fpga/usrp3/top/x400/x4xx_core.v b/fpga/usrp3/top/x400/x4xx_core.v index e099b0c25..c02596e27 100644 --- a/fpga/usrp3/top/x400/x4xx_core.v +++ b/fpga/usrp3/top/x400/x4xx_core.v @@ -230,69 +230,107 @@ module x4xx_core #( .reset_out (ctrlport_rst) ); + wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_req_wr; + wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_req_rd; + wire [ 20*NUM_DBOARDS-1:0] ctrlport_radio_req_addr; + wire [ 32*NUM_DBOARDS-1:0] ctrlport_radio_req_data; + wire [ 4*NUM_DBOARDS-1:0] ctrlport_radio_req_byte_en; + wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_req_has_time; + wire [ 64*NUM_DBOARDS-1:0] ctrlport_radio_req_time; + wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_resp_ack; + wire [ 2*NUM_DBOARDS-1:0] ctrlport_radio_resp_status; + wire [ 32*NUM_DBOARDS-1:0] ctrlport_radio_resp_data; + + x4xx_core_common #( .CHDR_CLK_RATE (CHDR_CLK_RATE), .CHDR_W (CHDR_W), .RFNOC_PROTOVER (RFNOC_PROTOVER), + .NUM_DBOARDS (NUM_DBOARDS), .PCIE_PRESENT (0) ) x4xx_core_common_i ( - .radio_clk (radio_clk), - .radio_rst (radio_rst), - .rfnoc_chdr_clk (rfnoc_chdr_clk), - .rfnoc_chdr_rst (rfnoc_chdr_rst), - .rfnoc_ctrl_clk (rfnoc_ctrl_clk), - .rfnoc_ctrl_rst (rfnoc_ctrl_rst), - .ctrlport_clk (s_axi_aclk), - .ctrlport_rst (ctrlport_rst), - .s_ctrlport_req_wr (ctrlport_req_wr), - .s_ctrlport_req_rd (ctrlport_req_rd), - .s_ctrlport_req_addr (ctrlport_req_addr), - .s_ctrlport_req_portid (ctrlport_req_portid), - .s_ctrlport_req_rem_epid (ctrlport_req_rem_epid), - .s_ctrlport_req_rem_portid (ctrlport_req_rem_portid), - .s_ctrlport_req_data (ctrlport_req_data), - .s_ctrlport_req_byte_en (ctrlport_req_byte_en), - .s_ctrlport_req_has_time (ctrlport_req_has_time), - .s_ctrlport_req_time (ctrlport_req_time), - .s_ctrlport_resp_ack (ctrlport_resp_ack), - .s_ctrlport_resp_status (ctrlport_resp_status), - .s_ctrlport_resp_data (ctrlport_resp_data), - .pps_radioclk (pps_radioclk), - .pps_select (pps_select), - .trig_io_select (trig_io_select), - .pll_sync_trigger (pll_sync_trigger), - .pll_sync_delay (pll_sync_delay), - .pll_sync_done (pll_sync_done), - .pps_brc_delay (pps_brc_delay), - .pps_prc_delay (pps_prc_delay), - .prc_rc_divider (prc_rc_divider), - .pps_rc_enabled (pps_rc_enabled), - .radio_spc (RADIO_SPC), - .radio_time (radio_time), - .sample_rx_stb (radio_time_stb), - .gpio_in_a (gpio_in_a), - .gpio_in_b (gpio_in_b), - .gpio_out_a (gpio_out_a), - .gpio_out_b (gpio_out_b), - .gpio_en_a (gpio_en_a), - .gpio_en_b (gpio_en_b), - .gpio_in_fabric_a (), - .gpio_in_fabric_b (), - .gpio_out_fabric_a (12'b0), - .gpio_out_fabric_b (12'b0), - .qsfp_port_0_0_info (qsfp_port_0_0_info), - .qsfp_port_0_1_info (qsfp_port_0_1_info), - .qsfp_port_0_2_info (qsfp_port_0_2_info), - .qsfp_port_0_3_info (qsfp_port_0_3_info), - .qsfp_port_1_0_info (qsfp_port_1_0_info), - .qsfp_port_1_1_info (qsfp_port_1_1_info), - .qsfp_port_1_2_info (qsfp_port_1_2_info), - .qsfp_port_1_3_info (qsfp_port_1_3_info), - .device_id (device_id), - .mfg_test_en_fabric_clk (mfg_test_en_fabric_clk), - .mfg_test_en_gty_rcv_clk (mfg_test_en_gty_rcv_clk), - .fpga_aux_ref (fpga_aux_ref), - .version_info (version_info) + .radio_clk (radio_clk), + .radio_rst (radio_rst), + .rfnoc_chdr_clk (rfnoc_chdr_clk), + .rfnoc_chdr_rst (rfnoc_chdr_rst), + .rfnoc_ctrl_clk (rfnoc_ctrl_clk), + .rfnoc_ctrl_rst (rfnoc_ctrl_rst), + .ctrlport_clk (s_axi_aclk), + .ctrlport_rst (ctrlport_rst), + .s_ctrlport_req_wr (ctrlport_req_wr), + .s_ctrlport_req_rd (ctrlport_req_rd), + .s_ctrlport_req_addr (ctrlport_req_addr), + .s_ctrlport_req_portid (ctrlport_req_portid), + .s_ctrlport_req_rem_epid (ctrlport_req_rem_epid), + .s_ctrlport_req_rem_portid (ctrlport_req_rem_portid), + .s_ctrlport_req_data (ctrlport_req_data), + .s_ctrlport_req_byte_en (ctrlport_req_byte_en), + .s_ctrlport_req_has_time (ctrlport_req_has_time), + .s_ctrlport_req_time (ctrlport_req_time), + .s_ctrlport_resp_ack (ctrlport_resp_ack), + .s_ctrlport_resp_status (ctrlport_resp_status), + .s_ctrlport_resp_data (ctrlport_resp_data), + .pps_radioclk (pps_radioclk), + .pps_select (pps_select), + .trig_io_select (trig_io_select), + .pll_sync_trigger (pll_sync_trigger), + .pll_sync_delay (pll_sync_delay), + .pll_sync_done (pll_sync_done), + .pps_brc_delay (pps_brc_delay), + .pps_prc_delay (pps_prc_delay), + .prc_rc_divider (prc_rc_divider), + .pps_rc_enabled (pps_rc_enabled), + .radio_spc (RADIO_SPC), + .radio_time (radio_time), + .sample_rx_stb (radio_time_stb), + .time_ignore_bits ($clog2(RADIO_SPC)), + .gpio_in_a (gpio_in_a), + .gpio_in_b (gpio_in_b), + .gpio_out_a (gpio_out_a), + .gpio_out_b (gpio_out_b), + .gpio_en_a (gpio_en_a), + .gpio_en_b (gpio_en_b), + .gpio_in_fabric_a (), + .gpio_in_fabric_b (), + .gpio_out_fabric_a (12'b0), + .gpio_out_fabric_b (12'b0), + .s_radio_ctrlport_req_wr (ctrlport_radio_req_wr), + .s_radio_ctrlport_req_rd (ctrlport_radio_req_rd), + .s_radio_ctrlport_req_addr (ctrlport_radio_req_addr), + .s_radio_ctrlport_req_data (ctrlport_radio_req_data), + .s_radio_ctrlport_req_byte_en (ctrlport_radio_req_byte_en), + .s_radio_ctrlport_req_has_time (ctrlport_radio_req_has_time), + .s_radio_ctrlport_req_time (ctrlport_radio_req_time), + .s_radio_ctrlport_resp_ack (ctrlport_radio_resp_ack), + .s_radio_ctrlport_resp_status (ctrlport_radio_resp_status), + .s_radio_ctrlport_resp_data (ctrlport_radio_resp_data), + .m_radio_ctrlport_req_wr (m_ctrlport_radio_req_wr), + .m_radio_ctrlport_req_rd (m_ctrlport_radio_req_rd), + .m_radio_ctrlport_req_addr (m_ctrlport_radio_req_addr), + .m_radio_ctrlport_req_data (m_ctrlport_radio_req_data), + .m_radio_ctrlport_req_byte_en (m_ctrlport_radio_req_byte_en), + .m_radio_ctrlport_req_has_time (m_ctrlport_radio_req_has_time), + .m_radio_ctrlport_req_time (m_ctrlport_radio_req_time), + .m_radio_ctrlport_resp_ack (m_ctrlport_radio_resp_ack), + .m_radio_ctrlport_resp_status (m_ctrlport_radio_resp_status), + .m_radio_ctrlport_resp_data (m_ctrlport_radio_resp_data), + .start_nco_reset (start_nco_reset), + .nco_reset_done (nco_reset_done), + .adc_reset_pulse (adc_reset_pulse), + .dac_reset_pulse (dac_reset_pulse), + .qsfp_port_0_0_info (qsfp_port_0_0_info), + .qsfp_port_0_1_info (qsfp_port_0_1_info), + .qsfp_port_0_2_info (qsfp_port_0_2_info), + .qsfp_port_0_3_info (qsfp_port_0_3_info), + .qsfp_port_1_0_info (qsfp_port_1_0_info), + .qsfp_port_1_1_info (qsfp_port_1_1_info), + .qsfp_port_1_2_info (qsfp_port_1_2_info), + .qsfp_port_1_3_info (qsfp_port_1_3_info), + .device_id (device_id), + .mfg_test_en_fabric_clk (mfg_test_en_fabric_clk), + .mfg_test_en_gty_rcv_clk (mfg_test_en_gty_rcv_clk), + .fpga_aux_ref (fpga_aux_ref), + .version_info (version_info) ); // Provide information for ctrlport timed commands @@ -306,17 +344,6 @@ module x4xx_core #( // Calculate how may bits wide each channel is localparam CHAN_W = 32 * RADIO_SPC; - wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_req_wr; - wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_req_rd; - wire [ 20*NUM_DBOARDS-1:0] ctrlport_radio_req_addr; - wire [ 32*NUM_DBOARDS-1:0] ctrlport_radio_req_data; - wire [ 4*NUM_DBOARDS-1:0] ctrlport_radio_req_byte_en; - wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_req_has_time; - wire [ 64*NUM_DBOARDS-1:0] ctrlport_radio_req_time; - wire [ 1*NUM_DBOARDS-1:0] ctrlport_radio_resp_ack; - wire [ 2*NUM_DBOARDS-1:0] ctrlport_radio_resp_status; - wire [ 32*NUM_DBOARDS-1:0] ctrlport_radio_resp_data; - rfnoc_image_core #( .CHDR_W (CHDR_W), .MTU (MTU), @@ -412,43 +439,4 @@ module x4xx_core #( .m_dma_tready (dmao_tready) ); - - //------------------------------------------------------------------------- - // RF Timing Reset Control - //------------------------------------------------------------------------- - - rfdc_timing_control #( - .NUM_DBOARDS (NUM_DBOARDS) - ) rfdc_timing_control_i ( - .clk (radio_clk), - .rst (radio_rst), - .time_now (radio_time), - .time_now_stb (radio_time_stb), - .time_ignore_bits ($clog2(RADIO_SPC)), - .s_ctrlport_req_wr (ctrlport_radio_req_wr), - .s_ctrlport_req_rd (ctrlport_radio_req_rd), - .s_ctrlport_req_addr (ctrlport_radio_req_addr), - .s_ctrlport_req_data (ctrlport_radio_req_data), - .s_ctrlport_req_byte_en (ctrlport_radio_req_byte_en), - .s_ctrlport_req_has_time (ctrlport_radio_req_has_time), - .s_ctrlport_req_time (ctrlport_radio_req_time), - .s_ctrlport_resp_ack (ctrlport_radio_resp_ack), - .s_ctrlport_resp_status (ctrlport_radio_resp_status), - .s_ctrlport_resp_data (ctrlport_radio_resp_data), - .m_ctrlport_req_wr (m_ctrlport_radio_req_wr), - .m_ctrlport_req_rd (m_ctrlport_radio_req_rd), - .m_ctrlport_req_addr (m_ctrlport_radio_req_addr), - .m_ctrlport_req_data (m_ctrlport_radio_req_data), - .m_ctrlport_req_byte_en (m_ctrlport_radio_req_byte_en), - .m_ctrlport_req_has_time (m_ctrlport_radio_req_has_time), - .m_ctrlport_req_time (m_ctrlport_radio_req_time), - .m_ctrlport_resp_ack (m_ctrlport_radio_resp_ack), - .m_ctrlport_resp_status (m_ctrlport_radio_resp_status), - .m_ctrlport_resp_data (m_ctrlport_radio_resp_data), - .start_nco_reset (start_nco_reset), - .nco_reset_done (nco_reset_done), - .adc_reset_pulse (adc_reset_pulse), - .dac_reset_pulse (dac_reset_pulse) - ); - endmodule |
