]> jspc29.x-matter.uni-frankfurt.de Git - cri.git/commitdiff
minor fix in data connection calculation of data path of hub
authorAdrian Weber <adrian.a.weber@exp2.physik.uni-giessen.de>
Tue, 11 Aug 2020 11:19:27 +0000 (13:19 +0200)
committerAdrian Weber <adrian.a.weber@exp2.physik.uni-giessen.de>
Tue, 11 Aug 2020 11:19:27 +0000 (13:19 +0200)
src/hub/trb_net16_cri_hub.vhd

index 9e1eae06529b7d75ad96664a2d08ef540dd19f4f..59717788388efd3a20fe512b9462abd9bc4f7617 100644 (file)
@@ -67,12 +67,12 @@ entity trb_net16_cri_hub is
     
     --Received Data from connected boards
     DATA_ACTIVE         : out std_logic_vector(MII_NUMBER-2 downto 0);
-    DATA_OUT            : out std_logic_vector((MII_NUMBER*(2*c_DATA_WIDTH))-2 downto 0);
+    DATA_OUT            : out std_logic_vector(((MII_NUMBER-1)*(2*c_DATA_WIDTH))-1 downto 0);
     DATA_READY          : out std_logic_vector(MII_NUMBER-2 downto 0);
     
-    DATA_ADDRESS_SENDER : out std_logic_vector((MII_NUMBER*c_DATA_WIDTH)-2 downto 0);
-    DATA_SEQNMBR        : out std_logic_vector((MII_NUMBER*8)-2 downto 0);
-    DATA_LENGTH         : out std_logic_vector((MII_NUMBER*c_DATA_WIDTH)-2 downto 0);
+    DATA_ADDRESS_SENDER : out std_logic_vector(((MII_NUMBER-1)*c_DATA_WIDTH)-1 downto 0);
+    DATA_SEQNMBR        : out std_logic_vector(((MII_NUMBER-1)*8)-1 downto 0);
+    DATA_LENGTH         : out std_logic_vector(((MII_NUMBER-1)*c_DATA_WIDTH)-1 downto 0);
     
     
     --ONEWIRE
@@ -162,12 +162,12 @@ architecture trb_net16_cri_hub_arch of trb_net16_cri_hub is
   signal loc_ctrl_op             : std_logic_vector ((calc_number_config_hub_ports(MII_NUMBER)-1)*16-1 downto 0);
   
   signal buf_DATA_ACTIVE          : std_logic_vector(MII_NUMBER-2 downto 0);
-  signal buf_DATA_OUT             : std_logic_vector((MII_NUMBER*(2*c_DATA_WIDTH))-2 downto 0);
+  signal buf_DATA_OUT             : std_logic_vector(((MII_NUMBER-1)*(2*c_DATA_WIDTH))-1 downto 0);
   signal buf_DATA_READY           : std_logic_vector(MII_NUMBER-2 downto 0);
   
-  signal buf_DATA_ADDRESS_SENDER  : std_logic_vector((MII_NUMBER*c_DATA_WIDTH)-2 downto 0);
-  signal buf_DATA_SEQNMBR         : std_logic_vector((MII_NUMBER*8)-2 downto 0);
-  signal buf_DATA_LENGTH          : std_logic_vector((MII_NUMBER*c_DATA_WIDTH)-2 downto 0);
+  signal buf_DATA_ADDRESS_SENDER  : std_logic_vector(((MII_NUMBER-1)*c_DATA_WIDTH)-1 downto 0);
+  signal buf_DATA_SEQNMBR         : std_logic_vector(((MII_NUMBER-1)*8)-1 downto 0);
+  signal buf_DATA_LENGTH          : std_logic_vector(((MII_NUMBER-1)*c_DATA_WIDTH)-1 downto 0);
   
   -- Debug
   signal datardy_cnt_ret   : std_logic_vector (15 downto 0);
@@ -267,13 +267,6 @@ begin
 gen_data_hubs : for i in 0 to calc_number_data_hubs(MII_NUMBER)-1 generate --MII_NUMBER = Down- and Uplinks
     constant links     : integer := calc_ports_data_hub(MII_NUMBER,i)+1;
     constant downlinks : integer := calc_ports_data_hub(MII_NUMBER,i);
-
-    signal data_active_unused         : std_logic;
-    signal data_out_unused            : std_logic_vector(2*c_DATA_WIDTH-1 downto 0);
-    signal data_ready_unused          : std_logic;
-    signal data_address_sender_unused : std_logic_vector(c_DATA_WIDTH-1 downto 0);
-    signal data_seqnmbr_unused        : std_logic_vector(7 downto 0);
-    signal data_length_unused         : std_logic_vector(c_DATA_WIDTH-1 downto 0);
   begin
 THE_HUB_1 : entity work.trb_net16_cri_hub_base
     generic map( 
@@ -328,18 +321,12 @@ THE_HUB_1 : entity work.trb_net16_cri_hub_base
       MED_CTRL_OP((links-1)*16-1 downto 0)               => MED_CTRL_OP((downlinks*16)-1+i*12*16 downto i*12*16),
       MED_CTRL_OP((links)*16-1 downto (links-1)*16)      => loc_ctrl_op(i*16+15 downto i*16), --output
 
-      DATA_ACTIVE(links-1)                               => data_active_unused,
       DATA_ACTIVE((downlinks-1) downto 0)                => buf_DATA_ACTIVE((downlinks-1)+i*12 downto i*12),
-      DATA_OUT(links*2*c_DATA_WIDTH-1 downto downlinks*2*c_DATA_WIDTH) => data_out_unused,
       DATA_OUT((downlinks*(2*c_DATA_WIDTH)-1) downto 0)  => buf_DATA_OUT((downlinks*(2*c_DATA_WIDTH)-1)+i*12*(2*c_DATA_WIDTH) downto i*12*(2*c_DATA_WIDTH)),
-      DATA_READY(links-1)                                => data_ready_unused,
       DATA_READY((downlinks-1)  downto 0)                => buf_DATA_READY((downlinks-1)+i*12 downto i*12),
       
-      DATA_ADDRESS_SENDER(links*c_DATA_WIDTH-1 downto downlinks*c_DATA_WIDTH)  => data_address_sender_unused,
       DATA_ADDRESS_SENDER((downlinks*c_DATA_WIDTH-1) downto 0)  => buf_DATA_ADDRESS_SENDER((downlinks*c_DATA_WIDTH-1)+i*12*c_DATA_WIDTH downto i*12*c_DATA_WIDTH),
-      DATA_SEQNMBR(links*8-1 downto downlinks*8)                => data_seqnmbr_unused,
       DATA_SEQNMBR((downlinks*8-1) downto 0)                    => buf_DATA_SEQNMBR((downlinks*8-1)+i*12*8 downto i*12*8),
-      DATA_LENGTH(links*c_DATA_WIDTH-1 downto downlinks*c_DATA_WIDTH) => data_length_unused,
       DATA_LENGTH((downlinks*c_DATA_WIDTH-1) downto 0)          => buf_DATA_LENGTH((downlinks*c_DATA_WIDTH-1)+i*12*c_DATA_WIDTH downto i*12*c_DATA_WIDTH),
       
       ONEWIRE_DATA                    => ONEWIRE_DATA,