aboutsummaryrefslogtreecommitdiffstats
path: root/fpga/usrp3/top/x400/rfdc_timing_control.v
diff options
context:
space:
mode:
Diffstat (limited to 'fpga/usrp3/top/x400/rfdc_timing_control.v')
-rw-r--r--fpga/usrp3/top/x400/rfdc_timing_control.v101
1 files changed, 11 insertions, 90 deletions
diff --git a/fpga/usrp3/top/x400/rfdc_timing_control.v b/fpga/usrp3/top/x400/rfdc_timing_control.v
index f1f1cfad1..6177505f7 100644
--- a/fpga/usrp3/top/x400/rfdc_timing_control.v
+++ b/fpga/usrp3/top/x400/rfdc_timing_control.v
@@ -8,10 +8,7 @@
// Description:
//
// This module handles timed register writes for the RFDC, such as NCO reset
-// control. It takes the CtrlPort master from each radio block and splits it
-// into a CtrlPort bus for the associated daughter board and another CtrlPort
-// bus for the RFDC timing control. Timed commands on the RF timing bus are
-// handled by the ctrlport_timer module.
+// control. Timed commands are handled by the ctrlport_timer module.
//
// Parameters:
//
@@ -45,18 +42,6 @@ module rfdc_timing_control #(
output wire [ 2*NUM_DBOARDS-1:0] s_ctrlport_resp_status,
output wire [ 32*NUM_DBOARDS-1:0] s_ctrlport_resp_data,
- // CtrlPort Master (to Daughter Boards)
- output wire [ 1*NUM_DBOARDS-1:0] m_ctrlport_req_wr,
- output wire [ 1*NUM_DBOARDS-1:0] m_ctrlport_req_rd,
- output wire [ 20*NUM_DBOARDS-1:0] m_ctrlport_req_addr,
- output wire [ 32*NUM_DBOARDS-1:0] m_ctrlport_req_data,
- output wire [ 4*NUM_DBOARDS-1:0] m_ctrlport_req_byte_en,
- output wire [ 1*NUM_DBOARDS-1:0] m_ctrlport_req_has_time,
- output wire [ 64*NUM_DBOARDS-1:0] m_ctrlport_req_time,
- input wire [ 1*NUM_DBOARDS-1:0] m_ctrlport_resp_ack,
- input wire [ 2*NUM_DBOARDS-1:0] m_ctrlport_resp_status,
- input wire [ 32*NUM_DBOARDS-1:0] m_ctrlport_resp_data,
-
// RF Reset Control
output reg start_nco_reset,
input wire nco_reset_done,
@@ -64,7 +49,6 @@ module rfdc_timing_control #(
output reg dac_reset_pulse
);
- `include "regmap/radio_ctrlport_regmap_utils.vh"
`include "regmap/rfdc_timing_regmap_utils.vh"
// Reset registers
@@ -77,54 +61,6 @@ module rfdc_timing_control #(
for (db = 0; db < NUM_DBOARDS; db = db+1) begin : gen_db_ctrlport
//-----------------------------------------------------------------------
- // CtrlPort Splitter
- //-----------------------------------------------------------------------
-
- wire [ 1-1:0] rf_ctrlport_req_wr;
- wire [ 1-1:0] rf_ctrlport_req_rd;
- wire [ 20-1:0] rf_ctrlport_req_addr;
- wire [ 32-1:0] rf_ctrlport_req_data;
- wire [ 4-1:0] rf_ctrlport_req_byte_en;
- wire [ 1-1:0] rf_ctrlport_req_has_time;
- wire [ 64-1:0] rf_ctrlport_req_time;
- wire [ 1-1:0] rf_ctrlport_resp_ack;
- wire [ 2-1:0] rf_ctrlport_resp_status;
- wire [ 32-1:0] rf_ctrlport_resp_data;
-
- localparam [31:0] RFDC_TIMING_WINDOW_SIZE_W = $clog2(RFDC_TIMING_WINDOW_SIZE);
- localparam [31:0] DB_WINDOW_SIZE_W = $clog2(DB_WINDOW_SIZE);
-
- ctrlport_decoder_param #(
- .NUM_SLAVES (2),
- .PORT_BASE ({ RFDC_TIMING_WINDOW[19:0], DB_WINDOW[19:0] }),
- .PORT_ADDR_W ({ RFDC_TIMING_WINDOW_SIZE_W, DB_WINDOW_SIZE_W })
- ) ctrlport_decoder_param_i (
- .ctrlport_clk (clk),
- .ctrlport_rst (rst),
- .s_ctrlport_req_wr (s_ctrlport_req_wr [ 1*db+: 1]),
- .s_ctrlport_req_rd (s_ctrlport_req_rd [ 1*db+: 1]),
- .s_ctrlport_req_addr (s_ctrlport_req_addr [20*db+:20]),
- .s_ctrlport_req_data (s_ctrlport_req_data [32*db+:32]),
- .s_ctrlport_req_byte_en (s_ctrlport_req_byte_en [ 4*db+: 4]),
- .s_ctrlport_req_has_time (s_ctrlport_req_has_time [ 1*db+: 1]),
- .s_ctrlport_req_time (s_ctrlport_req_time [64*db+:64]),
- .s_ctrlport_resp_ack (s_ctrlport_resp_ack [ 1*db+: 1]),
- .s_ctrlport_resp_status (s_ctrlport_resp_status [ 2*db+: 2]),
- .s_ctrlport_resp_data (s_ctrlport_resp_data [32*db+:32]),
- .m_ctrlport_req_wr ({ rf_ctrlport_req_wr, m_ctrlport_req_wr [ 1*db+: 1] }),
- .m_ctrlport_req_rd ({ rf_ctrlport_req_rd, m_ctrlport_req_rd [ 1*db+: 1] }),
- .m_ctrlport_req_addr ({ rf_ctrlport_req_addr, m_ctrlport_req_addr [20*db+:20] }),
- .m_ctrlport_req_data ({ rf_ctrlport_req_data, m_ctrlport_req_data [32*db+:32] }),
- .m_ctrlport_req_byte_en ({ rf_ctrlport_req_byte_en, m_ctrlport_req_byte_en [ 4*db+: 4] }),
- .m_ctrlport_req_has_time ({ rf_ctrlport_req_has_time, m_ctrlport_req_has_time [ 1*db+: 1] }),
- .m_ctrlport_req_time ({ rf_ctrlport_req_time, m_ctrlport_req_time [64*db+:64] }),
- .m_ctrlport_resp_ack ({ rf_ctrlport_resp_ack, m_ctrlport_resp_ack [ 1*db+: 1] }),
- .m_ctrlport_resp_status ({ rf_ctrlport_resp_status, m_ctrlport_resp_status [ 2*db+: 2] }),
- .m_ctrlport_resp_data ({ rf_ctrlport_resp_data, m_ctrlport_resp_data [32*db+:32] })
- );
-
-
- //-----------------------------------------------------------------------
// RF Reset Control
//-----------------------------------------------------------------------
@@ -143,16 +79,16 @@ module rfdc_timing_control #(
.time_now (time_now),
.time_now_stb (time_now_stb),
.time_ignore_bits (time_ignore_bits),
- .s_ctrlport_req_wr (rf_ctrlport_req_wr),
- .s_ctrlport_req_rd (rf_ctrlport_req_rd),
- .s_ctrlport_req_addr (rf_ctrlport_req_addr),
- .s_ctrlport_req_data (rf_ctrlport_req_data),
- .s_ctrlport_req_byte_en (rf_ctrlport_req_byte_en),
- .s_ctrlport_req_has_time (rf_ctrlport_req_has_time),
- .s_ctrlport_req_time (rf_ctrlport_req_time),
- .s_ctrlport_resp_ack (rf_ctrlport_resp_ack),
- .s_ctrlport_resp_status (rf_ctrlport_resp_status),
- .s_ctrlport_resp_data (rf_ctrlport_resp_data),
+ .s_ctrlport_req_wr (s_ctrlport_req_wr [ 1*db+: 1]),
+ .s_ctrlport_req_rd (s_ctrlport_req_rd [ 1*db+: 1]),
+ .s_ctrlport_req_addr (s_ctrlport_req_addr [20*db+:20]),
+ .s_ctrlport_req_data (s_ctrlport_req_data [32*db+:32]),
+ .s_ctrlport_req_byte_en (s_ctrlport_req_byte_en [ 4*db+: 4]),
+ .s_ctrlport_req_has_time (s_ctrlport_req_has_time [ 1*db+: 1]),
+ .s_ctrlport_req_time (s_ctrlport_req_time [64*db+:64]),
+ .s_ctrlport_resp_ack (s_ctrlport_resp_ack [ 1*db+: 1]),
+ .s_ctrlport_resp_status (s_ctrlport_resp_status [ 2*db+: 2]),
+ .s_ctrlport_resp_data (s_ctrlport_resp_data [32*db+:32]),
.m_ctrlport_req_wr (nco_ctrlport_req_wr),
.m_ctrlport_req_rd (nco_ctrlport_req_rd),
.m_ctrlport_req_addr (nco_ctrlport_req_addr),
@@ -240,21 +176,6 @@ endmodule
//XmlParse xml_on
//
-//<regmap name="RADIO_CTRLPORT_REGMAP" readablestrobes="false" generatevhdl="true" ettusguidelines="true">
-// <group name="RADIO_CTRLPORT_WINDOWS">
-// <info>Each radio's CtrlPort peripheral interface is divided into the
-// following memory spaces. Note that the CtrlPort peripheral interface
-// starts at offset 0x80000 in the RFNoC Radio block's register space.</info>
-// <window name="DB_WINDOW" offset="0x00000" size="0x08000">
-// <info>Daughterboard GPIO interface. Register access within this space
-// is directed to the associated daughterboard CPLD.</info>
-// </window>
-// <window name="RFDC_TIMING_WINDOW" offset="0x08000" size="0x08000" targetregmap="RFDC_TIMING_REGMAP">
-// <info>RFDC timing control interface.</info>
-// </window>
-// </group>
-//</regmap>
-//
//<regmap name="RFDC_TIMING_REGMAP" readablestrobes="false" generatevhdl="true" ettusguidelines="true">
// <group name="RFDC_TIMING_REGS">
// <register name="NCO_RESET_REG" offset="0x00" size="32" readable="true" writable="true">