FPGA: Synchronize X300 RX frontends on time change

The frontend synchronization upon time change was removed, but is
required to synchronize the RX frontend modules when sharing LOs on
TwinRX.  This change restores the behavior.

Signed-off-by: michael-west <michael.west@ettus.com>


Original-commit: c70b479007ab9f578577dfb5c2de6660e877d9a3
This commit is contained in:
michael-west
2023-05-10 14:22:42 -05:00
committed by Wade Fife
parent d6bcab7c8c
commit e9a6fe4e2e
6 changed files with 14 additions and 6 deletions
+2 -1
View File
@@ -683,7 +683,8 @@ module e31x_core #(
.pps (pps_radioclk),
.tb_timestamp (radio_time),
.tb_timestamp_last_pps (),
.tb_period_ns_q32 ()
.tb_period_ns_q32 (),
.tb_changed ()
);
/////////////////////////////////////////////////////////////////////////////
+2 -1
View File
@@ -1021,7 +1021,8 @@ module e320_core #(
.pps (pps_radioclk),
.tb_timestamp (radio_time),
.tb_timestamp_last_pps (),
.tb_period_ns_q32 ()
.tb_period_ns_q32 (),
.tb_changed ()
);
+2 -1
View File
@@ -1109,7 +1109,8 @@ module n3xx_core #(
.pps (pps),
.tb_timestamp (radio_time),
.tb_timestamp_last_pps (),
.tb_period_ns_q32 ()
.tb_period_ns_q32 (),
.tb_changed ()
);
+3 -1
View File
@@ -22,6 +22,7 @@ module bus_int #(
output [3:0] sw_rst,
// Timekeeper
input pps,
output time_sync,
// Block connections
input ce_clk,
input ce_rst,
@@ -545,7 +546,8 @@ module bus_int #(
.pps (pps),
.tb_timestamp (radio_time_tb),
.tb_timestamp_last_pps (radio_time_last_pps_tb),
.tb_period_ns_q32 (period_ns_q32_tb)
.tb_period_ns_q32 (period_ns_q32_tb),
.tb_changed (time_sync)
);
// Latch state changes to SFP0+ pins.
+3 -1
View File
@@ -250,6 +250,7 @@ module x300_core #(
wire [63:0] s00_axi_rdata, s01_axi_rdata;
wire [1:0] s00_axi_rresp, s01_axi_rresp;
wire [0:0] s00_axi_ruser, s01_axi_ruser;
wire time_sync;
/////////////////////////////////////////////////////////////////////////////////
@@ -287,6 +288,7 @@ module x300_core #(
.leds(led_misc), .sw_rst(sw_rst),
// Timekeeper
.pps(pps_rclk),
.time_sync(time_sync),
// Block connections
.ce_clk (ce_clk),
.ce_rst (ce_rst),
@@ -609,7 +611,7 @@ module x300_core #(
) x300_fe_core_i (
.clk(radio_clk), .reset(radio_rst),
.set_stb(db_fe_set_stb[i]), .set_addr(db_fe_set_addr[i]), .set_data(db_fe_set_data[i]),
.time_sync(),
.time_sync(time_sync),
.tx_stb(tx_stb_r[i]), .tx_data_in(tx_data_r[i]), .tx_data_out(tx_data_out_r[i]),
.rx_stb(rx_stb_r[i]), .rx_data_in(rx_data_in_r[i]), .rx_data_out(rx_data_r[i])
);
+2 -1
View File
@@ -339,7 +339,8 @@ module x4xx_core_common #(
.pps (pps_radioclk),
.tb_timestamp (radio_time),
.tb_timestamp_last_pps (),
.tb_period_ns_q32 ()
.tb_period_ns_q32 (),
.tb_changed ()
);