diff --git a/Sources/Payload/GCI/tb/payload_gci_tb.vhd b/Sources/Payload/GCI/tb/payload_gci_tb.vhd
index 9fd89f1c8..1be72ca4e 100644
--- a/Sources/Payload/GCI/tb/payload_gci_tb.vhd
+++ b/Sources/Payload/GCI/tb/payload_gci_tb.vhd
@@ -50,7 +50,7 @@ end payload_gci_tb;
 
 architecture sim of payload_gci_tb is
 
-  constant NUM_CHANS : integer := 1;    --49; --36; --3654/99=36 --49;
+  constant NUM_CHANS : integer := 49;    --49; --36; --3654/99=36 --49;
 
   signal clk       : std_logic;
   signal rst       : std_logic;
@@ -88,9 +88,9 @@ architecture sim of payload_gci_tb is
   signal rdo_lti     : rdo_lti_t := C_ZERO_RDO_LTI;
   signal bcid_lti_in : integer range 0 to 3563;
 
-    constant A_CHAN : integer := 0;
-    signal g2g_to_c1990   : to_c1990_t;
-    signal g2g_from_c1990 : from_c1990_t;
+    --constant A_CHAN : integer := 0;
+    --signal g2g_to_c1990   : to_c1990_t;
+    --signal g2g_from_c1990 : from_c1990_t;
 
 
 begin
@@ -157,13 +157,13 @@ begin
   rdo_lti.bcr   <= '1' when (bcid_lti_in = 0) else '0';
 
 
-  --g_mgt2pay_upstrm_gen : block --for n in 0 to NUM_CHANS-1 generate
-  --  signal n : integer := 0;
-  --  signal g2g_to_c1990   : to_c1990_t;
-  --  signal g2g_from_c1990 : from_c1990_t;
-  --begin
-
-    g2g_from_c1990.tx_c1990_axis_clk    <= clk_rx(A_CHAN);
+  g_mgt2pay_upstrm_gen :  for n in 0 to NUM_CHANS-1 generate
+  --  signal n : integer := 0;      
+      signal g2g_to_c1990   : to_c1990_t;
+      signal g2g_from_c1990 : from_c1990_t;
+   begin
+   
+    g2g_from_c1990.tx_c1990_axis_clk    <= clk_rx(n); --A_CHAN);
     g2g_from_c1990.tx_c1990_axis_tready <= '1';
 
 
@@ -171,23 +171,23 @@ begin
       generic map (
         --APP_VERSION     --integer --allow for new APP
         CLK_FREQ    => 240,                                        --integer --Used to make 40MHz ticks for DG-BCID
-        BCID49_OFFS => 3,                                          --VVVV 16, --MRMW!!! n, 
+        BCID49_OFFS => n, --3, --VVVV 16, --MRMW!!! n, 
         --DATA64_WIDTH      --integer --1:64b 2:128b 4:256
-        N_DG_GEPS   => 49                                          --VVVV 36 --MRMW!!! 49 --NUM_CHANS
+        N_DG_GEPS   => 49     --VVVV 36 --MRMW!!! 49 --NUM_CHANS
         )
       port map (
         datagen_enable_i  => '1',
         passthru_enable_i => '0',
         local_bcid_sel_i  => '0',
         bcr_count_o       => open,
-        channel_id_i      => std_logic_vector(to_unsigned(A_CHAN, 8)),  -- std_logic_vector(7 downto 0);
+        channel_id_i      => std_logic_vector(to_unsigned(n,8)),--A_CHAN, 8)),  -- std_logic_vector(7 downto 0);
         rdo_lti_bcr_i     => rdo_lti.bcr,
         app_data_i        => APP_DATA_INIT,                        -- app_data_t;
         --app_ctrl_o                                              -- out app_ctrl_t
         to_c1990_o        => g2g_to_c1990,                         -- to_c1990_t;
         from_c1990_i      => g2g_from_c1990,                       -- from_c1990_t;
 
-        tip_all_ones_o => tip_all_ones(A_CHAN),
+        tip_all_ones_o => tip_all_ones(n), --A_CHAN),
 
         clk => clk,
         rst => rst
@@ -216,15 +216,15 @@ begin
         WR_DATA_COUNT_WIDTH => 1                -- DECIMAL
         )
       port map (
-        m_axis_tdata       => mgt2pay.upstrm(A_CHAN).c1990_axis_data64.tdata,
-        m_axis_tlast       => mgt2pay.upstrm(A_CHAN).c1990_axis_data64.tlast,
-        m_axis_tvalid      => mgt2pay.upstrm(A_CHAN).c1990_axis_data64.tvalid,
+        m_axis_tdata       => mgt2pay.upstrm(n).c1990_axis_data64.tdata,  --A_CHAN
+        m_axis_tlast       => mgt2pay.upstrm(n).c1990_axis_data64.tlast,  --A_CHAN
+        m_axis_tvalid      => mgt2pay.upstrm(n).c1990_axis_data64.tvalid, --A_CHAN
         s_axis_tready      => open,
         injectdbiterr_axis => '0',
         injectsbiterr_axis => '0',
-        m_aclk             => clk_rx(A_CHAN),
+        m_aclk             => clk_rx(n), --A_CHAN), 
         m_axis_tready      => '1',
-        s_aclk             => clk_rx(A_CHAN),
+        s_aclk             => clk_rx(n), --A_CHAN),
         s_aresetn          => not rst,
         s_axis_tdata       => g2g_to_c1990.tx_c1990_axis_data64.tdata,
         s_axis_tdest       => "0",
@@ -236,14 +236,14 @@ begin
         s_axis_tvalid      => g2g_to_c1990.tx_c1990_axis_data64.tvalid
         );
 
-    mgt2pay.upstrm(A_CHAN).c1990_axis_clk <= clk_rx(A_CHAN);
+    mgt2pay.upstrm(n).c1990_axis_clk <= clk_rx(n); --A_CHAN); --A_CHAN
   --mgt2pay.upstrm(n).c1990_axis_data64.tdata  <= g2g_to_c1990.tx_c1990_axis_data64.tdata; --s_axis_tdata(n);
   --mgt2pay.upstrm(n).c1990_axis_data64.tvalid <= g2g_to_c1990.tx_c1990_axis_data64.tvalid; --s_axis_tvalid(n);
   --mgt2pay.upstrm(n).c1990_axis_data64.tlast  <= g2g_to_c1990.tx_c1990_axis_data64.tlast;  --s_axis_tlast(n);
   
-  --end block; --generate;
+  end generate;
 
-  g_mgt2pay_no_upstrm_gen : for n in 1 to 50 generate
+  g_mgt2pay_no_upstrm_gen : for n in NUM_CHANS to 50 generate
   
     mgt2pay.upstrm(n).c1990_axis_clk           <= '0';--clk_rx(n);
     mgt2pay.upstrm(n).c1990_axis_data64.tdata  <= (others => '0');
