diff --git a/verilog/rtl/gps_engine/gps_multichannel.v b/verilog/rtl/gps_engine/gps_multichannel.v
index 4b50c21..56a419e 100644
--- a/verilog/rtl/gps_engine/gps_multichannel.v
+++ b/verilog/rtl/gps_engine/gps_multichannel.v
@@ -19,7 +19,7 @@
 	input        wb_rst_i,     // synchronous active high reset
 	input  [31:0] wb_adr_i,     // lower address bits
 	input  [31:0] wb_dat_i,     // databus input
-	output [31:0] wb_dat_o,     // databus output
+	output reg [31:0] wb_dat_o,     // databus output
 	input        wb_we_i,      // write enable input
 	input        wb_stb_i,     // stobe/core select signal
 	input        wb_cyc_i,     // valid bus cycle input
@@ -50,6 +50,7 @@
 
 wire [31:0] ch1_wb_dat_o, ch2_wb_dat_o, ch3_wb_dat_o, ch4_wb_dat_o;
 wire [31:0] ch5_wb_dat_o, ch6_wb_dat_o, ch7_wb_dat_o, ch8_wb_dat_o;
+reg [31:0] count32;
 
    // Module Address Select Logic
    assign ch1_select = (wb_adr_i[31:8] == 24'h00000A) ;
@@ -94,7 +95,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch1_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch1_wb_ack_o)
+	.wb_ack_o(ch1_wb_ack_o),
+	.count32(count32)
 );
 
 gps_single_channel ch2(
@@ -116,7 +118,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch2_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch2_wb_ack_o)
+	.wb_ack_o(ch2_wb_ack_o),
+	.count32(count32)
 );
 gps_single_channel ch3(
 	.mclr(mclr),
@@ -137,7 +140,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch3_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch3_wb_ack_o)
+	.wb_ack_o(ch3_wb_ack_o),
+	.count32(count32)
 );
 gps_single_channel ch4(
 	.mclr(mclr),
@@ -158,7 +162,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch4_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch4_wb_ack_o)
+	.wb_ack_o(ch4_wb_ack_o),
+	.count32(count32)
 );
 gps_single_channel ch5(
 	.mclr(mclr),
@@ -179,7 +184,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch5_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch5_wb_ack_o)
+	.wb_ack_o(ch5_wb_ack_o),
+	.count32(count32)
 );
 gps_single_channel ch6(
 	.mclr(mclr),
@@ -200,7 +206,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch6_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch6_wb_ack_o)
+	.wb_ack_o(ch6_wb_ack_o),
+	.count32(count32)
 );
 gps_single_channel ch7(
 	.mclr(mclr),
@@ -221,7 +228,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch7_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch7_wb_ack_o)
+	.wb_ack_o(ch7_wb_ack_o),
+	.count32(count32)
 );
 gps_single_channel ch8(
 	.mclr(mclr),
@@ -242,7 +250,8 @@
 	.wb_we_i(wb_we_i), 
 	.wb_stb_i(ch8_wb_stb_i), 
 	.wb_cyc_i(wb_cyc_i), 
-	.wb_ack_o(ch8_wb_ack_o)
+	.wb_ack_o(ch8_wb_ack_o),
+	.count32(count32)
 );
 
 
@@ -261,4 +270,13 @@
 	endcase
 end
 
+always @(negedge mclk or negedge mclr) begin
+	if (mclr==1'b0) begin
+		count32 <= 32'd0 ;
+	end
+	else begin
+		count32 <= count32 + 32'd1 ;
+	end
+end
+
 endmodule
diff --git a/verilog/rtl/gps_engine/gps_single_channel.v b/verilog/rtl/gps_engine/gps_single_channel.v
index f90341a..0dff273 100644
--- a/verilog/rtl/gps_engine/gps_single_channel.v
+++ b/verilog/rtl/gps_engine/gps_single_channel.v
@@ -28,7 +28,8 @@
 dll_sel1,
 fll_enabl,
 costas_enabl,
-select_qmaxim
+select_qmaxim,
+count32
 );
 
 input mclr, mclk;
@@ -51,6 +52,7 @@
 input fll_enabl;
 input costas_enabl;
 input select_qmaxim; // to be given as GPIO
+input [31:0] count32 ;
 
 wire mclr;
 wire mclk;
@@ -64,6 +66,8 @@
 wire costas_enabl;
 wire irnss_sel;
 wire [10:1] irnss_code;
+wire [31:0] count32 ;
+reg [31:0] timestamp_latch;
 
 
 wire [29:0] code_frequency ;
@@ -85,6 +89,7 @@
 
 
 reg [29:0] coffset; 
+reg sat_change;
 wire [29:0] coffset_costas;
 
 
@@ -134,7 +139,6 @@
 wire [2:0] adc3bit_qsel;
 
 reg enable = 1'b 0;
-reg sat_change;
 
 wire nco_car_clk1p4m;
 wire nco_cod_clk1p0m;
@@ -205,7 +209,8 @@
 	.acq_complete (acq),
   .irnss_sel(irnss_sel),
   .irnss_code(irnss_code),
-  .sat_change(sat_change)
+  .sat_change(sat_change),
+  .timestamp_latch(timestamp_latch)
  ); 
 
 // 2 to 3 bit conv for I-channel IF Input
@@ -465,22 +470,31 @@
   end
 
   integer count_sat = 0;
+  //reg sat_change;
 
   always @(posedge tr_epoclk_clk1ms or negedge mclr) begin
     if(mclr==1'b0) begin
-      count_sat = 0 ;
-      sat_change = 1'b0;
+      count_sat <= 0 ;
+      sat_change <= 1'b0;
     end
     else begin
       if (acq==1'b0 && count_sat<40920) begin
-        count_sat = count_sat + 1;
+        count_sat <= count_sat + 1;
       end else if(acq==1'b0 && count_sat==40920) begin
-        sat_change = ~sat_change ;
-        count_sat = 0;
+        sat_change <= ~sat_change ;
+        count_sat <= 0;
       end
     end
   end
 
+  always @(negedge tr_epoclk_clk1ms or negedge mclr) begin
+    if(mclr==1'b0) begin
+      timestamp_latch <= 32'd0 ;
+    end else begin
+      timestamp_latch <= count32;
+    end
+  end
+
   assign satellite_id = sat_change == 1'b0 ? satellite_id1 : satellite_id2;
 
 
diff --git a/verilog/rtl/gps_engine/wb_interface.v b/verilog/rtl/gps_engine/wb_interface.v
index 8205b62..7e89e06 100644
--- a/verilog/rtl/gps_engine/wb_interface.v
+++ b/verilog/rtl/gps_engine/wb_interface.v
@@ -20,7 +20,8 @@
 	acq_complete,
 	irnss_sel,
 	irnss_code,
-	sat_change
+	sat_change,
+	timestamp_latch
 );
 
 
@@ -54,6 +55,7 @@
 input acq_complete;
 output reg [10:1] irnss_code;
 output reg irnss_sel;
+input [31:0] timestamp_latch ;
 
 parameter CODE_FREQUENCY_REG_ADDR = 8'h00 ;
 parameter CARR_FREQUENCY_REG_ADDR = 8'h04 ;
@@ -70,6 +72,7 @@
 parameter STATUS_REG_ADDR      = 8'h30;
 parameter IRNSS_REG_ADDR       = 8'h34;
 parameter SAT_REG_ADDR         = 8'h38;
+parameter TIMESTAMP_LATCH_ADDR = 8'h3C;
 
 reg intg_ready_reg ;	
 reg intg_ready_ff1 ,intg_ready_ff2 ,intg_ready_ff3 ;	
@@ -158,6 +161,7 @@
 			EARLY_QDATA_REG_ADDR : wb_dat_o <=  { {12{1'b0}},early_qdata};
 			STATUS_REG_ADDR      : wb_dat_o <= { {30{1'b0}},acq_complete,intg_ready_reg};  
 			SAT_REG_ADDR         : wb_dat_o <= {{26{1'b0}},sat_change,satellite_id2};
+			TIMESTAMP_LATCH_ADDR : wb_dat_o <= timestamp_latch ;
 			default: ;
 		endcase
 	end
