diff --git a/verilog/rtl/gps_engine/codectrllogic.v b/verilog/rtl/gps_engine/codectrllogic.v
index 293ddd8..3f07daa 100644
--- a/verilog/rtl/gps_engine/codectrllogic.v
+++ b/verilog/rtl/gps_engine/codectrllogic.v
@@ -53,7 +53,9 @@
 pnl,
 epochrx,
 code_sel,
-epoch
+epoch,
+irnss_sel,
+irnss_code
 );
 
 input res, nco_cod_clk1p0m, nco_cod_clk2p0m, acq;
@@ -63,6 +65,8 @@
 output epochrx;
 input [4:0] code_sel;
 input epoch;
+input irnss_sel;
+input [10:1] irnss_code;
 
 wire res;
 wire nco_cod_clk1p0m;
@@ -92,7 +96,9 @@
     code_sel,
     pne,
     pnp,
-    pnl);
+    pnl,
+    irnss_sel,
+    irnss_code);
 
   assign epoch1 =  ~((epoch));
   always @(negedge res or posedge nco_cod_clk2p0m) begin
diff --git a/verilog/rtl/gps_engine/codegen.v b/verilog/rtl/gps_engine/codegen.v
index c2f8bca..2dae782 100644
--- a/verilog/rtl/gps_engine/codegen.v
+++ b/verilog/rtl/gps_engine/codegen.v
@@ -42,7 +42,9 @@
 code_sel,
 pne,
 pnp,
-pnl
+pnl,
+irnss_sel,
+irnss_code
 );
 
 input res, ncoclk, codeclk;
@@ -50,6 +52,8 @@
 output epochrx;
 input [4:0] code_sel;
 output pne, pnp, pnl;
+input irnss_sel;
+input [10:1] irnss_code;
 
 wire res;
 wire ncoclk;
@@ -80,7 +84,9 @@
     .car_change(car_change),
     .epochrx(epochrx),
     .code_sel(code_sel),
-    .goldcode(prncode));
+    .goldcode(prncode),
+    .irnss_sel(irnss_sel),
+    .irnss_code(irnss_code));
 
   always @(negedge res or posedge codeclk) begin
     if(res == 1'b 0) begin
diff --git a/verilog/rtl/gps_engine/defines.v b/verilog/rtl/gps_engine/defines.v
new file mode 100644
index 0000000..9c3120c
--- /dev/null
+++ b/verilog/rtl/gps_engine/defines.v
@@ -0,0 +1,62 @@
+// SPDX-FileCopyrightText: 2020 Efabless Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// SPDX-License-Identifier: Apache-2.0
+
+`default_nettype none
+
+`ifndef __GLOBAL_DEFINE_H
+// Global parameters
+`define __GLOBAL_DEFINE_H
+
+`define MPRJ_IO_PADS_1 19	/* number of user GPIO pads on user1 side */
+`define MPRJ_IO_PADS_2 19	/* number of user GPIO pads on user2 side */
+`define MPRJ_IO_PADS (`MPRJ_IO_PADS_1 + `MPRJ_IO_PADS_2)
+
+`define MPRJ_PWR_PADS_1 2	/* vdda1, vccd1 enable/disable control */
+`define MPRJ_PWR_PADS_2 2	/* vdda2, vccd2 enable/disable control */
+`define MPRJ_PWR_PADS (`MPRJ_PWR_PADS_1 + `MPRJ_PWR_PADS_2)
+
+// Analog pads are only used by the "caravan" module and associated
+// modules such as user_analog_project_wrapper and chip_io_alt.
+
+`define ANALOG_PADS_1 5
+`define ANALOG_PADS_2 6
+
+`define ANALOG_PADS (`ANALOG_PADS_1 + `ANALOG_PADS_2)
+
+// Size of soc_mem_synth
+
+// Type and size of soc_mem
+// `define USE_OPENRAM
+`define USE_CUSTOM_DFFRAM
+// don't change the following without double checking addr widths
+`define MEM_WORDS 256
+
+// Number of columns in the custom memory; takes one of three values:
+// 1 column : 1 KB, 2 column: 2 KB, 4 column: 4KB
+`define DFFRAM_WSIZE 4
+`define DFFRAM_USE_LATCH 0
+
+// not really parameterized but just to easily keep track of the number
+// of ram_block across different modules
+`define RAM_BLOCKS 2
+
+// Clock divisor default value
+`define CLK_DIV 3'b010
+
+// GPIO conrol default mode and enable
+`define DM_INIT 3'b110
+`define OENB_INIT 1'b1
+
+`endif // __GLOBAL_DEFINE_H
diff --git a/verilog/rtl/gps_engine/goldcode.v b/verilog/rtl/gps_engine/goldcode.v
index 2aab9d5..fb7ac19 100644
--- a/verilog/rtl/gps_engine/goldcode.v
+++ b/verilog/rtl/gps_engine/goldcode.v
@@ -39,7 +39,9 @@
 code_sel,
 goldcode,
 gold1,
-gold2
+gold2,
+irnss_sel,
+irnss_code
 );
 
 input reset, clk;
@@ -47,6 +49,8 @@
 output epochrx;
 input [4:0] code_sel;
 output goldcode, gold1, gold2;
+input irnss_sel;
+input [10:1] irnss_code;
 
 wire reset;
 wire clk;
@@ -84,13 +88,15 @@
       epochrx <= 1'b 0;
     end
   end
+  wire [10:1] code_wire;
+  assign code_wire = irnss_sel==1'b0 ? 10'b 1111111111 : irnss_code;
 
   always @(negedge reset or posedge clk or posedge car_change) begin
     if(reset == 1'b 0) begin
-      g2codereg <= 10'b 1111111111;
+      g2codereg <= code_wire;
     end 
     else if(car_change == 1'b 1) begin
-      g2codereg <= 10'b 1111111111;
+      g2codereg <= code_wire;
     end 
     else begin
       g2codereg[1] <= g2codereg[2] ^ g2codereg[3] ^ g2codereg[6] ^ g2codereg[8] ^ g2codereg[9] ^ g2codereg[10];
@@ -106,172 +112,178 @@
     end
     else begin
       // goldcode<='1';
-      case(code_sel)
-      5'b 00001 : begin
-        g2out <= g2codereg[2] ^ g2codereg[6];
+      if(irnss_sel == 1'b0) begin
+        case(code_sel)
+        5'b 00001 : begin
+          g2out <= g2codereg[2] ^ g2codereg[6];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 00010 : begin
+          g2out <= g2codereg[3] ^ g2codereg[7];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 00011 : begin
+          g2out <= g2codereg[4] ^ g2codereg[8];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 00100 : begin
+          g2out <= g2codereg[5] ^ g2codereg[9];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 00101 : begin
+          g2out <= g2codereg[1] ^ g2codereg[9];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 00110 : begin
+          g2out <= g2codereg[2] ^ g2codereg[10];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 00111 : begin
+          g2out <= g2codereg[1] ^ g2codereg[8];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01000 : begin
+          g2out <= g2codereg[2] ^ g2codereg[9];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01001 : begin
+          g2out <= g2codereg[3] ^ g2codereg[10];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01010 : begin
+          g2out <= g2codereg[2] ^ g2codereg[3];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01011 : begin
+          g2out <= g2codereg[3] ^ g2codereg[4];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01100 : begin
+          g2out <= g2codereg[5] ^ g2codereg[6];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01101 : begin
+          g2out <= g2codereg[6] ^ g2codereg[7];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01110 : begin
+          g2out <= g2codereg[7] ^ g2codereg[8];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 01111 : begin
+          g2out <= g2codereg[8] ^ g2codereg[9];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10000 : begin
+          g2out <= g2codereg[9] ^ g2codereg[10];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10001 : begin
+          g2out <= g2codereg[1] ^ g2codereg[4];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10010 : begin
+          g2out <= g2codereg[2] ^ g2codereg[5];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10011 : begin
+          g2out <= g2codereg[3] ^ g2codereg[6];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10100 : begin
+          g2out <= g2codereg[4] ^ g2codereg[7];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10101 : begin
+          g2out <= g2codereg[5] ^ g2codereg[8];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10110 : begin
+          g2out <= g2codereg[6] ^ g2codereg[9];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 10111 : begin
+          g2out <= g2codereg[1] ^ g2codereg[3];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11000 : begin
+          g2out <= g2codereg[4] ^ g2codereg[6];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11001 : begin
+          g2out <= g2codereg[5] ^ g2codereg[7];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11010 : begin
+          g2out <= g2codereg[6] ^ g2codereg[8];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11011 : begin
+          g2out <= g2codereg[7] ^ g2codereg[9];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11100 : begin
+          g2out <= g2codereg[8] ^ g2codereg[10];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11101 : begin
+          g2out <= g2codereg[1] ^ g2codereg[6];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11110 : begin
+          g2out <= g2codereg[1] ^ g2codereg[7];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 11111 : begin
+          g2out <= g2codereg[3] ^ g2codereg[8];
+          g1out <= g1codereg[10];
+          goldcode <= g1out ^ g2out;
+        end
+        5'b 00000 : begin
+          g2out <= g2codereg[4] ^ g2codereg[9];
+          g1out <= g1codereg[10];
+          goldcode <= 1'b 1;
+        end
+        default : begin
+          g2out <= 1'b 1;
+          //edited intially commented originally '0'
+        end
+        endcase
+      end else begin
         g1out <= g1codereg[10];
+        g2out <= g2codereg[10];
         goldcode <= g1out ^ g2out;
       end
-      5'b 00010 : begin
-        g2out <= g2codereg[3] ^ g2codereg[7];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 00011 : begin
-        g2out <= g2codereg[4] ^ g2codereg[8];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 00100 : begin
-        g2out <= g2codereg[5] ^ g2codereg[9];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 00101 : begin
-        g2out <= g2codereg[1] ^ g2codereg[9];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 00110 : begin
-        g2out <= g2codereg[2] ^ g2codereg[10];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 00111 : begin
-        g2out <= g2codereg[1] ^ g2codereg[8];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01000 : begin
-        g2out <= g2codereg[2] ^ g2codereg[9];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01001 : begin
-        g2out <= g2codereg[3] ^ g2codereg[10];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01010 : begin
-        g2out <= g2codereg[2] ^ g2codereg[3];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01011 : begin
-        g2out <= g2codereg[3] ^ g2codereg[4];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01100 : begin
-        g2out <= g2codereg[5] ^ g2codereg[6];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01101 : begin
-        g2out <= g2codereg[6] ^ g2codereg[7];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01110 : begin
-        g2out <= g2codereg[7] ^ g2codereg[8];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 01111 : begin
-        g2out <= g2codereg[8] ^ g2codereg[9];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10000 : begin
-        g2out <= g2codereg[9] ^ g2codereg[10];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10001 : begin
-        g2out <= g2codereg[1] ^ g2codereg[4];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10010 : begin
-        g2out <= g2codereg[2] ^ g2codereg[5];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10011 : begin
-        g2out <= g2codereg[3] ^ g2codereg[6];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10100 : begin
-        g2out <= g2codereg[4] ^ g2codereg[7];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10101 : begin
-        g2out <= g2codereg[5] ^ g2codereg[8];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10110 : begin
-        g2out <= g2codereg[6] ^ g2codereg[9];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 10111 : begin
-        g2out <= g2codereg[1] ^ g2codereg[3];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11000 : begin
-        g2out <= g2codereg[4] ^ g2codereg[6];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11001 : begin
-        g2out <= g2codereg[5] ^ g2codereg[7];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11010 : begin
-        g2out <= g2codereg[6] ^ g2codereg[8];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11011 : begin
-        g2out <= g2codereg[7] ^ g2codereg[9];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11100 : begin
-        g2out <= g2codereg[8] ^ g2codereg[10];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11101 : begin
-        g2out <= g2codereg[1] ^ g2codereg[6];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11110 : begin
-        g2out <= g2codereg[1] ^ g2codereg[7];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 11111 : begin
-        g2out <= g2codereg[3] ^ g2codereg[8];
-        g1out <= g1codereg[10];
-        goldcode <= g1out ^ g2out;
-      end
-      5'b 00000 : begin
-        g2out <= g2codereg[4] ^ g2codereg[9];
-        g1out <= g1codereg[10];
-        goldcode <= 1'b 1;
-      end
-      default : begin
-        g2out <= 1'b 1;
-        //edited intially commented originally '0'
-      end
-      endcase
       gold1 <= g1out;
       gold2 <= g2out;
     end
diff --git a/verilog/rtl/gps_engine/gps_multichannel.v b/verilog/rtl/gps_engine/gps_multichannel.v
index 8cabdfd..4b50c21 100644
--- a/verilog/rtl/gps_engine/gps_multichannel.v
+++ b/verilog/rtl/gps_engine/gps_multichannel.v
@@ -1,35 +1,31 @@
 `timescale 1ns / 1ps
 module gps_multichannel(
-	mclr,
-	mclk,
-	adc2bit_i,
-	adc2bit_q,
-	codeout,
-	epochrx,
-	dll_sel,  //Going to be a GPIO
-	select_qmaxim,
-	wb_clk_i, wb_rst_i, wb_adr_i, wb_dat_i, wb_dat_o,
-    wb_we_i, wb_stb_i, wb_cyc_i, wb_ack_o
-);
-input mclr;
-input mclk;
-input [1:0] adc2bit_i;
-input [1:0] adc2bit_q;
-output codeout;
-input dll_sel;
-output epochrx; //Can be given to logic analyzer
-input select_qmaxim;
+	`ifdef USE_POWER_PINS
+    inout vccd1,	// User area 1 1.8V supply
+    inout vssd1,	// User area 1 digital ground
+    `endif
+
+input mclr,
+input mclk,
+input [1:0] adc2bit_i,
+input [1:0] adc2bit_q,
+output [7:0] codeout,
+input dll_sel,
+output [7:0] epochrx, //Can be given to logic analyzer
+input select_qmaxim,
 
 //wishbone signals
-    input        wb_clk_i;     // master clock input
-	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
-	input        wb_we_i;      // write enable input
-	input        wb_stb_i;     // stobe/core select signal
-	input        wb_cyc_i;     // valid bus cycle input
-	output       wb_ack_o;     // bus cycle acknowledge output
+    input        wb_clk_i,     // master clock input
+	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
+	input        wb_we_i,      // write enable input
+	input        wb_stb_i,     // stobe/core select signal
+	input        wb_cyc_i,     // valid bus cycle input
+	output       wb_ack_o     // bus cycle acknowledge output
+);
+
 
 // Channel 1 GPS signals
 
@@ -40,26 +36,32 @@
 wire dll_sel;
 wire fll_enabl = 1'b 1;
 wire costas_enabl = 1'b 1;
-wire epochrx;
+wire [7:0] epochrx;
+wire [7:0] codeout;
 wire select_qmaxim;
 
 wire ch1_select,ch2_select,ch3_select,ch4_select ;
 wire ch5_select,ch6_select,ch7_select,ch8_select ;
+wire all_ch_select ;
 wire ch1_wb_stb_i,ch2_wb_stb_i,ch3_wb_stb_i,ch4_wb_stb_i;
 wire ch5_wb_stb_i,ch6_wb_stb_i,ch7_wb_stb_i,ch8_wb_stb_i;
 wire ch1_wb_ack_o,ch2_wb_ack_o,ch3_wb_ack_o,ch4_wb_ack_o;
 wire ch5_wb_ack_o,ch6_wb_ack_o,ch7_wb_ack_o,ch8_wb_ack_o;
 
+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;
 
    // Module Address Select Logic
-   assign ch1_select = (wb_adr_i[15:8] == 8'h0A) ;
-   assign ch2_select = (wb_adr_i[15:8] == 8'h0B) ;
-   assign ch3_select = (wb_adr_i[15:8] == 8'h0C) ;
-   assign ch4_select = (wb_adr_i[15:8] == 8'h0D) ;
-   assign ch5_select = (wb_adr_i[15:8] == 8'h0E) ;
-   assign ch6_select = (wb_adr_i[15:8] == 8'h0F) ;
-   assign ch7_select = (wb_adr_i[15:8] == 8'h10) ;
-   assign ch8_select = (wb_adr_i[15:8] == 8'h11) ;
+   assign ch1_select = (wb_adr_i[31:8] == 24'h00000A) ;
+   assign ch2_select = (wb_adr_i[31:8] == 24'h00000B) ;
+   assign ch3_select = (wb_adr_i[31:8] == 24'h00000C) ;
+   assign ch4_select = (wb_adr_i[31:8] == 24'h00000D) ;
+   assign ch5_select = (wb_adr_i[31:8] == 24'h00000E) ;
+   assign ch6_select = (wb_adr_i[31:8] == 24'h00000F) ;
+   assign ch7_select = (wb_adr_i[31:8] == 24'h000010) ;
+   assign ch8_select = (wb_adr_i[31:8] == 24'h000011) ;
+
+   assign all_ch_select = {ch8_select,ch7_select,ch6_select,ch5_select,ch4_select,ch3_select,ch2_select,ch1_select};
 
    // Module STROBE Select based on Address Range
    assign ch1_wb_stb_i = (wb_stb_i && ch1_select) ;
@@ -78,8 +80,8 @@
 	.mclk(mclk),
 	.adc2bit_i(adc2bit_i),
 	.adc2bit_q(adc2bit_q),
-	.epochrx(epochrx),
-	.codeout(codeout),
+	.epochrx(epochrx[0]),
+	.codeout(codeout[0]),
 	.dll_sel1(dll_sel),
 	.fll_enabl(fll_enabl),
 	.costas_enabl(costas_enabl),
@@ -88,13 +90,175 @@
 	.wb_rst_i(wb_rst_i), 
 	.wb_adr_i(wb_adr_i[7:0]), 
 	.wb_dat_i(wb_dat_i), 
-	.wb_dat_o(wb_dat_o),
+	.wb_dat_o(ch1_wb_dat_o),
 	.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)
 );
 
+gps_single_channel ch2(
+	.mclr(mclr),
+	.mclk(mclk),
+	.adc2bit_i(adc2bit_i),
+	.adc2bit_q(adc2bit_q),
+	.epochrx(epochrx[1]),
+	.codeout(codeout[1]),
+	.dll_sel1(dll_sel),
+	.fll_enabl(fll_enabl),
+	.costas_enabl(costas_enabl),
+	.select_qmaxim(select_qmaxim),  
+	.wb_clk_i(wb_clk_i),
+	.wb_rst_i(wb_rst_i), 
+	.wb_adr_i(wb_adr_i[7:0]), 
+	.wb_dat_i(wb_dat_i), 
+	.wb_dat_o(ch2_wb_dat_o),
+	.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)
+);
+gps_single_channel ch3(
+	.mclr(mclr),
+	.mclk(mclk),
+	.adc2bit_i(adc2bit_i),
+	.adc2bit_q(adc2bit_q),
+	.epochrx(epochrx[2]),
+	.codeout(codeout[2]),
+	.dll_sel1(dll_sel),
+	.fll_enabl(fll_enabl),
+	.costas_enabl(costas_enabl),
+	.select_qmaxim(select_qmaxim),  
+	.wb_clk_i(wb_clk_i),
+	.wb_rst_i(wb_rst_i), 
+	.wb_adr_i(wb_adr_i[7:0]), 
+	.wb_dat_i(wb_dat_i), 
+	.wb_dat_o(ch3_wb_dat_o),
+	.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)
+);
+gps_single_channel ch4(
+	.mclr(mclr),
+	.mclk(mclk),
+	.adc2bit_i(adc2bit_i),
+	.adc2bit_q(adc2bit_q),
+	.epochrx(epochrx[3]),
+	.codeout(codeout[3]),
+	.dll_sel1(dll_sel),
+	.fll_enabl(fll_enabl),
+	.costas_enabl(costas_enabl),
+	.select_qmaxim(select_qmaxim),  
+	.wb_clk_i(wb_clk_i),
+	.wb_rst_i(wb_rst_i), 
+	.wb_adr_i(wb_adr_i[7:0]), 
+	.wb_dat_i(wb_dat_i), 
+	.wb_dat_o(ch4_wb_dat_o),
+	.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)
+);
+gps_single_channel ch5(
+	.mclr(mclr),
+	.mclk(mclk),
+	.adc2bit_i(adc2bit_i),
+	.adc2bit_q(adc2bit_q),
+	.epochrx(epochrx[4]),
+	.codeout(codeout[4]),
+	.dll_sel1(dll_sel),
+	.fll_enabl(fll_enabl),
+	.costas_enabl(costas_enabl),
+	.select_qmaxim(select_qmaxim),  
+	.wb_clk_i(wb_clk_i),
+	.wb_rst_i(wb_rst_i), 
+	.wb_adr_i(wb_adr_i[7:0]), 
+	.wb_dat_i(wb_dat_i), 
+	.wb_dat_o(ch5_wb_dat_o),
+	.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)
+);
+gps_single_channel ch6(
+	.mclr(mclr),
+	.mclk(mclk),
+	.adc2bit_i(adc2bit_i),
+	.adc2bit_q(adc2bit_q),
+	.epochrx(epochrx[5]),
+	.codeout(codeout[5]),
+	.dll_sel1(dll_sel),
+	.fll_enabl(fll_enabl),
+	.costas_enabl(costas_enabl),
+	.select_qmaxim(select_qmaxim),  
+	.wb_clk_i(wb_clk_i),
+	.wb_rst_i(wb_rst_i), 
+	.wb_adr_i(wb_adr_i[7:0]), 
+	.wb_dat_i(wb_dat_i), 
+	.wb_dat_o(ch6_wb_dat_o),
+	.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)
+);
+gps_single_channel ch7(
+	.mclr(mclr),
+	.mclk(mclk),
+	.adc2bit_i(adc2bit_i),
+	.adc2bit_q(adc2bit_q),
+	.epochrx(epochrx[6]),
+	.codeout(codeout[6]),
+	.dll_sel1(dll_sel),
+	.fll_enabl(fll_enabl),
+	.costas_enabl(costas_enabl),
+	.select_qmaxim(select_qmaxim),  
+	.wb_clk_i(wb_clk_i),
+	.wb_rst_i(wb_rst_i), 
+	.wb_adr_i(wb_adr_i[7:0]), 
+	.wb_dat_i(wb_dat_i), 
+	.wb_dat_o(ch7_wb_dat_o),
+	.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)
+);
+gps_single_channel ch8(
+	.mclr(mclr),
+	.mclk(mclk),
+	.adc2bit_i(adc2bit_i),
+	.adc2bit_q(adc2bit_q),
+	.epochrx(epochrx[7]),
+	.codeout(codeout[7]),
+	.dll_sel1(dll_sel),
+	.fll_enabl(fll_enabl),
+	.costas_enabl(costas_enabl),
+	.select_qmaxim(select_qmaxim),  
+	.wb_clk_i(wb_clk_i),
+	.wb_rst_i(wb_rst_i), 
+	.wb_adr_i(wb_adr_i[7:0]), 
+	.wb_dat_i(wb_dat_i), 
+	.wb_dat_o(ch8_wb_dat_o),
+	.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)
+);
 
 
+always @ (all_ch_select,ch1_wb_dat_o,ch2_wb_dat_o,ch3_wb_dat_o,ch4_wb_dat_o,ch5_wb_dat_o,ch6_wb_dat_o,ch7_wb_dat_o,ch8_wb_dat_o)
+begin
+	case(all_ch_select)
+		8'b00000001 : wb_dat_o <= ch1_wb_dat_o ;
+		8'b00000010 : wb_dat_o <= ch2_wb_dat_o ;
+		8'b00000100 : wb_dat_o <= ch3_wb_dat_o ;
+		8'b00001000 : wb_dat_o <= ch4_wb_dat_o ;
+		8'b00010000 : wb_dat_o <= ch5_wb_dat_o ;
+		8'b00100000 : wb_dat_o <= ch6_wb_dat_o ;
+		8'b01000000 : wb_dat_o <= ch7_wb_dat_o ;
+		8'b10000000 : wb_dat_o <= ch8_wb_dat_o ;
+		default     : wb_dat_o <= 32'd0 ;
+	endcase
+end
+
 endmodule
diff --git a/verilog/rtl/gps_engine/gps_single_channel.v b/verilog/rtl/gps_engine/gps_single_channel.v
index 47b8a66..f90341a 100644
--- a/verilog/rtl/gps_engine/gps_single_channel.v
+++ b/verilog/rtl/gps_engine/gps_single_channel.v
@@ -62,6 +62,8 @@
 wire dll_sel1;
 wire fll_enabl;
 wire costas_enabl;
+wire irnss_sel;
+wire [10:1] irnss_code;
 
 
 wire [29:0] code_frequency ;
@@ -132,6 +134,7 @@
 wire [2:0] adc3bit_qsel;
 
 reg enable = 1'b 0;
+reg sat_change;
 
 wire nco_car_clk1p4m;
 wire nco_cod_clk1p0m;
@@ -160,6 +163,8 @@
 reg count_reset = 1'b 0;
 wire [19:0] integmag;
 wire start; 
+wire [4:0] satellite_id2;
+wire [4:0] satellite_id1;
 
   assign fll_enable = acq & fll_enabl;
   assign dll_enable = dll_sel1 & acq;
@@ -188,7 +193,8 @@
 	.carr_frequency_offset (carr_frequency_offset),
 	.acq_threshold (acq_threshold),
 	.sine_lut (sine_lut),
-	.satellite_id (satellite_id),
+	.satellite_id1 (satellite_id1),
+  .satellite_id2 (satellite_id2),
 	.prompt_idata (prompt_idata),
 	.prompt_qdata (prompt_qdata),
 	.late_idata (late_idata),
@@ -196,7 +202,10 @@
 	.early_idata (early_idata),
 	.early_qdata (early_qdata),
 	.intg_ready (tr_len_clk1ms),
-	.acq_complete (acq)
+	.acq_complete (acq),
+  .irnss_sel(irnss_sel),
+  .irnss_code(irnss_code),
+  .sat_change(sat_change)
  ); 
 
 // 2 to 3 bit conv for I-channel IF Input
@@ -341,7 +350,9 @@
         .pnl(pnl1),
         .epochrx(epochrx),
         .code_sel(satellite_id),     // ----- Declare confg_reg_1 in input
-        .epoch(tr_epoclk_clk1ms)
+        .epoch(tr_epoclk_clk1ms),
+        .irnss_sel(irnss_sel),  //To be declared as inputs
+        .irnss_code(irnss_code)
     );
 
 
@@ -453,6 +464,25 @@
     end
   end
 
+  integer count_sat = 0;
+
+  always @(posedge tr_epoclk_clk1ms or negedge mclr) begin
+    if(mclr==1'b0) begin
+      count_sat = 0 ;
+      sat_change = 1'b0;
+    end
+    else begin
+      if (acq==1'b0 && count_sat<40920) begin
+        count_sat = count_sat + 1;
+      end else if(acq==1'b0 && count_sat==40920) begin
+        sat_change = ~sat_change ;
+        count_sat = 0;
+      end
+    end
+  end
+
+  assign satellite_id = sat_change == 1'b0 ? satellite_id1 : satellite_id2;
+
 
 
 
diff --git a/verilog/rtl/gps_engine/uprj_netlists.v b/verilog/rtl/gps_engine/uprj_netlists.v
new file mode 100644
index 0000000..3537de8
--- /dev/null
+++ b/verilog/rtl/gps_engine/uprj_netlists.v
@@ -0,0 +1,28 @@
+// SPDX-FileCopyrightText: 2020 Efabless Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// SPDX-License-Identifier: Apache-2.0
+
+// Include caravel global defines for the number of the user project IO pads 
+`include "defines.v"
+`define USE_POWER_PINS
+
+`ifdef GL
+    // Assume default net type to be wire because GL netlists don't have the wire definitions
+    `default_nettype wire
+    `include "gl/user_project_wrapper.v"
+    `include "gl/user_proj_example.v"
+`else
+    `include "user_project_wrapper.v"
+    `include "user_proj_example.v"
+`endif
\ No newline at end of file
diff --git a/verilog/rtl/gps_engine/wb_interface.v b/verilog/rtl/gps_engine/wb_interface.v
index 5858b25..8205b62 100644
--- a/verilog/rtl/gps_engine/wb_interface.v
+++ b/verilog/rtl/gps_engine/wb_interface.v
@@ -8,7 +8,8 @@
 	carr_frequency_offset,
 	acq_threshold,
 	sine_lut,
-	satellite_id,
+	satellite_id1,
+	satellite_id2,
 	prompt_idata,
 	prompt_qdata,
 	late_idata,
@@ -16,7 +17,10 @@
 	early_idata,
 	early_qdata,
 	intg_ready,
-	acq_complete
+	acq_complete,
+	irnss_sel,
+	irnss_code,
+	sat_change
 );
 
 
@@ -37,7 +41,9 @@
 output reg [29:0] carr_frequency_offset;
 output reg [14:0] acq_threshold;
 output reg [23:0] sine_lut;
-output reg [4:0]  satellite_id;
+output reg [4:0]  satellite_id1;
+output reg [4:0]  satellite_id2;
+input sat_change;
 input [19:0] prompt_idata ;
 input [19:0] prompt_qdata;
 input [19:0] late_idata;
@@ -46,6 +52,8 @@
 input [19:0] early_qdata;
 input intg_ready;
 input acq_complete;
+output reg [10:1] irnss_code;
+output reg irnss_sel;
 
 parameter CODE_FREQUENCY_REG_ADDR = 8'h00 ;
 parameter CARR_FREQUENCY_REG_ADDR = 8'h04 ;
@@ -60,6 +68,8 @@
 parameter EARLY_IDATA_REG_ADDR = 8'h28;
 parameter EARLY_QDATA_REG_ADDR = 8'h2C;
 parameter STATUS_REG_ADDR      = 8'h30;
+parameter IRNSS_REG_ADDR       = 8'h34;
+parameter SAT_REG_ADDR         = 8'h38;
 
 reg intg_ready_reg ;	
 reg intg_ready_ff1 ,intg_ready_ff2 ,intg_ready_ff3 ;	
@@ -98,8 +108,11 @@
 		carr_frequency_offset <= #1 30'h00000000;
 		acq_threshold <= #1 15'h0000;
 		sine_lut <= #1 24'h000000;
-		satellite_id <= #1 5'h00;
+		satellite_id1 <= #1 5'h00;
+		satellite_id2 <= #1 5'h00;
 		intg_ready_reg <= #1 1'b0;
+		irnss_sel <= #1 1'b0;
+		irnss_code <= #1 10'h000;
 	end
 	else begin
 		if (wb_wacc) begin
@@ -111,9 +124,14 @@
 				ACQ_THRESHOLD_REG_ADDR :  acq_threshold <= #1 wb_dat_i[14:0];
 				CONFG_REG_ADDR :  begin
 					sine_lut <= #1 wb_dat_i[23:0];
-					satellite_id <= #1 wb_dat_i[28:24];
+					satellite_id1 <= #1 wb_dat_i[28:24];
 				end
 				STATUS_REG_ADDR :    intg_ready_reg <= #1 wb_dat_i[0];
+				IRNSS_REG_ADDR : begin
+					irnss_sel <= #1 wb_dat_i[0];
+					irnss_code <= #1 wb_dat_i[10:1];
+				end
+				SAT_REG_ADDR : satellite_id2 <= #1 wb_dat_i[4:0];
 
 				default: ;
 			endcase
@@ -139,6 +157,7 @@
 			EARLY_IDATA_REG_ADDR : wb_dat_o <=  { {12{1'b0}},early_idata};
 			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};
 			default: ;
 		endcase
 	end
