From 181e24870b84107b358e0b750692e43801aa07d5 Mon Sep 17 00:00:00 2001 From: Adrian Weber Date: Tue, 11 Aug 2020 13:19:27 +0200 Subject: [PATCH] minor fix in data connection calculation of data path of hub --- src/hub/trb_net16_cri_hub.vhd | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/src/hub/trb_net16_cri_hub.vhd b/src/hub/trb_net16_cri_hub.vhd index 9e1eae0..5971778 100644 --- a/src/hub/trb_net16_cri_hub.vhd +++ b/src/hub/trb_net16_cri_hub.vhd @@ -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, -- 2.43.0