Instantiated gps module
diff --git a/verilog/rtl/user_proj_example.v b/verilog/rtl/user_proj_example.v
index b33e032..a027c93 100644
--- a/verilog/rtl/user_proj_example.v
+++ b/verilog/rtl/user_proj_example.v
@@ -89,83 +89,61 @@
     wire [3:0] wstrb;
     wire [31:0] la_write;
 
-    // WB MI A
-    assign valid = wbs_cyc_i && wbs_stb_i; 
-    assign wstrb = wbs_sel_i & {4{wbs_we_i}};
-    assign wbs_dat_o = rdata;
-    assign wdata = wbs_dat_i;
-
-    // IO
-    assign io_out = count;
-    assign io_oeb = {(`MPRJ_IO_PADS-1){rst}};
+    wire gps_clk ;
+    wire [1:0] gps_data_i ;
+    wire [1:0] gps_data_q ;
+    wire dll_sel ;
+    wire select_qmaxim ;
+    wire codeout , epochrx ;
 
     // IRQ
     assign irq = 3'b000;	// Unused
 
-    // LA
-    assign la_data_out = {{(127-BITS){1'b0}}, count};
-    // Assuming LA probes [63:32] are for controlling the count register  
-    assign la_write = ~la_oenb[63:32] & ~{BITS{valid}};
-    // Assuming LA probes [65:64] are for controlling the count clk & reset  
-    assign clk = (~la_oenb[64]) ? la_data_in[64]: wb_clk_i;
-    assign rst = (~la_oenb[65]) ? la_data_in[65]: wb_rst_i;
 
-    counter #(
-        .BITS(BITS)
-    ) counter(
-        .clk(clk),
-        .reset(rst),
-        .ready(wbs_ack_o),
-        .valid(valid),
-        .rdata(rdata),
-        .wdata(wbs_dat_i),
-        .wstrb(wstrb),
-        .la_write(la_write),
-        .la_input(la_data_in[63:32]),
-        .count(count)
-    );
+    //io_oeb is active low signal
+
+    assign gps_clk = io_in[18] ;                           // IO[18]
+    assign io_oeb[18]= 1'b1;
+
+    assign gps_data_i[0] = io_in[19] ;                     // IO[19]
+    assign io_oeb[19]= 1'b1;
+
+    assign gps_data_i[1] = io_in[20] ;                     // IO[20]
+    assign io_oeb[20]= 1'b1;
+
+    assign gps_data_q[0] = io_in[21] ;                     // IO[21]
+    assign io_oeb[21]= 1'b1;
+
+    assign gps_data_q[1] = io_in[22] ;                     // IO[22]
+    assign io_oeb[22]= 1'b1;
+
+    assign dll_sel = la_data_in[0] ;
+    assign select_qmaxim = la_data_in[1] ;
+    assign la_data_out[2] = codeout ;
+    assign la_data_out[3] = epochrx ;
+
+    gps_multichannel gps_engine_i (
+
+    .mclr (wb_rst_i),
+    .mclk (gps_clk ),
+    .adc2bit_i (gps_data_i),
+    .adc2bit_q (gps_data_q),
+    .codeout(codeout),
+    .epochrx(epochrx),
+    .dll_sel (dll_sel),
+    .select_qmaxim (select_qmaxim),
+    .wb_clk_i (wb_clk_i), 
+    .wb_rst_i (wb_rst_i), 
+    .wb_adr_i (wbs_adr_i), 
+    .wb_dat_i (wbs_dat_i), 
+    .wb_dat_o (wbs_dat_o),
+    .wb_we_i (wbs_we_i), 
+    .wb_stb_i (wbs_stb_i), 
+    .wb_cyc_i (wbs_cyc_i),
+    .wb_ack_o (wbs_ack_o)
+
+    );	    
 
 endmodule
 
-module counter #(
-    parameter BITS = 32
-)(
-    input clk,
-    input reset,
-    input valid,
-    input [3:0] wstrb,
-    input [BITS-1:0] wdata,
-    input [BITS-1:0] la_write,
-    input [BITS-1:0] la_input,
-    output ready,
-    output [BITS-1:0] rdata,
-    output [BITS-1:0] count
-);
-    reg ready;
-    reg [BITS-1:0] count;
-    reg [BITS-1:0] rdata;
-
-    always @(posedge clk) begin
-        if (reset) begin
-            count <= 0;
-            ready <= 0;
-        end else begin
-            ready <= 1'b0;
-            if (~|la_write) begin
-                count <= count + 1;
-            end
-            if (valid && !ready) begin
-                ready <= 1'b1;
-                rdata <= count;
-                if (wstrb[0]) count[7:0]   <= wdata[7:0];
-                if (wstrb[1]) count[15:8]  <= wdata[15:8];
-                if (wstrb[2]) count[23:16] <= wdata[23:16];
-                if (wstrb[3]) count[31:24] <= wdata[31:24];
-            end else if (|la_write) begin
-                count <= la_write & la_input;
-            end
-        end
-    end
-
-endmodule
 `default_nettype wire