From b4b552ae581f429bcd12e5bbd6903ee397a3a766 Mon Sep 17 00:00:00 2001 From: Michael Boehmer Date: Thu, 18 Aug 2022 13:56:43 +0200 Subject: [PATCH] mdeia interface rework --- gbe_hub/trb3sc_gbe_hub.vhd | 44 ++++++------- pinout/trb3sc_gbe_hub.lpf | 128 +++++++++++++++++-------------------- 2 files changed, 79 insertions(+), 93 deletions(-) diff --git a/gbe_hub/trb3sc_gbe_hub.vhd b/gbe_hub/trb3sc_gbe_hub.vhd index 1ce4402..dcaa3b2 100644 --- a/gbe_hub/trb3sc_gbe_hub.vhd +++ b/gbe_hub/trb3sc_gbe_hub.vhd @@ -8,11 +8,12 @@ use work.config.all; use work.trb_net_std.all; use work.trb_net_components.all; use work.trb3_components.all; ---use work.trb_net16_hub_func.all; use work.version.all; use work.trb_net_gbe_components.all; use work.med_sync_define_RS.all; +-- BUG: backplane handling!!! + entity trb3sc_gbe_hub is port( CLK_SUPPL_PCLK : in std_logic; --125 MHz for GbE @@ -20,24 +21,22 @@ entity trb3sc_gbe_hub is CLK_EXT_PLL_LEFT : in std_logic; --External Clock --Additional IO HDR_IO : inout std_logic_vector(10 downto 1); - BACK_LVDS : inout std_logic_vector( 1 downto 0); - BACK_GPIO : inout std_logic_vector( 3 downto 0); --LED LED_GREEN : out std_logic; LED_YELLOW : out std_logic; LED_ORANGE : out std_logic; LED_RED : out std_logic; - LED_RJ_GREEN : out std_logic_vector( 1 downto 0); - LED_RJ_RED : out std_logic_vector( 1 downto 0); - LED_WHITE : out std_logic_vector( 1 downto 0); - LED_SFP_GREEN : out std_logic_vector( 1 downto 0); - LED_SFP_RED : out std_logic_vector( 1 downto 0); + LED_RJ_GREEN : out std_logic_vector(1 downto 0); + LED_RJ_RED : out std_logic_vector(1 downto 0); + LED_WHITE : out std_logic_vector(1 downto 0); + LED_SFP_GREEN : out std_logic_vector(1 downto 0); + LED_SFP_RED : out std_logic_vector(1 downto 0); --SFP - SFP_LOS : in std_logic_vector( 1 downto 0); - SFP_MOD0 : in std_logic_vector( 1 downto 0); - SFP_MOD1 : inout std_logic_vector( 1 downto 0) := (others => 'Z'); - SFP_MOD2 : inout std_logic_vector( 1 downto 0) := (others => 'Z'); - SFP_TX_DIS : out std_logic_vector( 1 downto 0) := (others => '0'); + SFP_LOS : in std_logic_vector(1 downto 0); + SFP_MOD0 : in std_logic_vector(1 downto 0); + SFP_MOD1 : inout std_logic_vector(1 downto 0) := (others => 'Z'); + SFP_MOD2 : inout std_logic_vector(1 downto 0) := (others => 'Z'); + SFP_TX_DIS : out std_logic_vector(1 downto 0) := (others => '0'); LED_HUB_LINKOK : out std_logic_vector(8 downto 1); LED_HUB_RX : out std_logic_vector(8 downto 1); LED_HUB_TX : out std_logic_vector(8 downto 1); @@ -46,6 +45,8 @@ entity trb3sc_gbe_hub is HUB_MOD2 : inout std_logic_vector(8 downto 1); HUB_TXDIS : out std_logic_vector(8 downto 1); HUB_LOS : in std_logic_vector(8 downto 1); + BACK_SLAVE_READY : inout std_logic_vector(3 downto 0); + BACK_MASTER_READY : inout std_logic_vector(3 downto 0); --Serdes switch PCSSW_ENSMB : out std_logic; PCSSW_EQ : out std_logic_vector( 3 downto 0); @@ -570,7 +571,7 @@ begin --------------------------------------------------------------------------- THE_GBE_MED_PCSA: entity gbe_med_fifo generic map( - LINKS_ACTIVE => "0001", + LINK_MODE => (c_IS_UNUSED, c_IS_UNUSED, c_IS_UNUSED, c_IS_MASTER), INCLUDE_DLM => (0,0,0,1) ) port map( @@ -597,15 +598,15 @@ begin -- SerDes 2 -- UNUSED -- SerDes 3 -- UNUSED -- SFP Connection - SD_PRSNT_N_IN(0) => HUB_MOD0(5), + SD_PRSNT_N_IN(0) => BACK_SLAVE_READY(0), SD_PRSNT_N_IN(1) => '1', SD_PRSNT_N_IN(2) => '1', SD_PRSNT_N_IN(3) => '1', - SD_LOS_IN(0) => HUB_LOS(5), + SD_LOS_IN(0) => BACK_SLAVE_READY(0), SD_LOS_IN(1) => '1', SD_LOS_IN(2) => '1', SD_LOS_IN(3) => '1', - SD_TXDIS_OUT(0) => HUB_TXDIS(5), + SD_TXDIS_OUT(0) => BACK_MASTER_READY(0), SD_TXDIS_OUT(1) => open, SD_TXDIS_OUT(2) => open, SD_TXDIS_OUT(3) => open, @@ -633,7 +634,7 @@ begin --------------------------------------------------------------------------- THE_GBE_MED_PCSB: entity gbe_med_fifo generic map( - LINKS_ACTIVE => "1111", + LINK_MODE => (c_IS_MASTER, c_IS_MASTER, c_IS_MASTER, c_IS_MASTER), INCLUDE_DLM => (1,1,1,1) ) port map( @@ -739,7 +740,7 @@ begin --------------------------------------------------------------------------- THE_GBE_MED_PCSC: entity gbe_med_fifo generic map( - LINKS_ACTIVE => "1111", + LINK_MODE => (c_IS_MASTER, c_IS_MASTER, c_IS_MASTER, c_IS_MASTER), INCLUDE_DLM => (1,1,1,1) ) port map( @@ -845,9 +846,8 @@ begin --------------------------------------------------------------------------- THE_GBE_MED_PCSD: entity gbe_med_fifo generic map( - LINKS_ACTIVE => "0011", - INCLUDE_DLM => (0,0,1,1), - SNIFFER_PORT => 0 + LINK_MODE => (c_IS_UNUSED, c_IS_UNUSED, c_IS_MASTER, c_IS_SLAVE), + INCLUDE_DLM => (0,0,1,1) ) port map( RESET => reset_i, diff --git a/pinout/trb3sc_gbe_hub.lpf b/pinout/trb3sc_gbe_hub.lpf index e17e268..f1af629 100644 --- a/pinout/trb3sc_gbe_hub.lpf +++ b/pinout/trb3sc_gbe_hub.lpf @@ -160,48 +160,48 @@ IOBUF GROUP "LED_HUB_group" IO_TYPE=LVCMOS25 PULLMODE=UP; # LOCATE COMP "DAC_OUT_CS_6" SITE "L28"; # DEFINE PORT GROUP "OUT_group" "DAC_OUT*" ; # IOBUF GROUP "OUT_group" IO_TYPE=LVDS25 DIFFRESISTOR=OFF; -LOCATE COMP "KEL_1" SITE "AP5"; -LOCATE COMP "KEL_2" SITE "AP2"; -LOCATE COMP "KEL_3" SITE "AN1"; -LOCATE COMP "KEL_4" SITE "AN3"; -LOCATE COMP "KEL_5" SITE "AL5"; -LOCATE COMP "KEL_6" SITE "AM6"; -LOCATE COMP "KEL_7" SITE "AL4"; -LOCATE COMP "KEL_8" SITE "AJ5"; -LOCATE COMP "KEL_9" SITE "AJ2"; -LOCATE COMP "KEL_10" SITE "AL3"; -LOCATE COMP "KEL_11" SITE "AD9"; -LOCATE COMP "KEL_12" SITE "AJ4"; -LOCATE COMP "KEL_13" SITE "V4"; -LOCATE COMP "KEL_14" SITE "V5"; -LOCATE COMP "KEL_15" SITE "T9"; -LOCATE COMP "KEL_16" SITE "T2"; -LOCATE COMP "KEL_17" SITE "P7"; -LOCATE COMP "KEL_18" SITE "R8"; -LOCATE COMP "KEL_19" SITE "R2"; -LOCATE COMP "KEL_20" SITE "P9"; -LOCATE COMP "KEL_21" SITE "AP29"; -LOCATE COMP "KEL_22" SITE "AP33"; -LOCATE COMP "KEL_23" SITE "AN34"; -LOCATE COMP "KEL_24" SITE "AP31"; -LOCATE COMP "KEL_25" SITE "AN32"; -LOCATE COMP "KEL_26" SITE "AM29"; -LOCATE COMP "KEL_27" SITE "AL31"; -LOCATE COMP "KEL_28" SITE "AL30"; -LOCATE COMP "KEL_29" SITE "AL34"; -LOCATE COMP "KEL_30" SITE "AJ31"; -LOCATE COMP "KEL_31" SITE "AH33"; -LOCATE COMP "KEL_32" SITE "AL32"; -LOCATE COMP "KEL_33" SITE "AF32"; -LOCATE COMP "KEL_34" SITE "AE32"; -LOCATE COMP "KEL_35" SITE "AE30"; -LOCATE COMP "KEL_36" SITE "AD26"; -LOCATE COMP "KEL_37" SITE "M29"; -LOCATE COMP "KEL_38" SITE "AC28"; -LOCATE COMP "KEL_39" SITE "M34"; -LOCATE COMP "KEL_40" SITE "L28"; -DEFINE PORT GROUP "KEL_group" "KEL*" ; -IOBUF GROUP "KEL_group" IO_TYPE=LVDS25 DIFFRESISTOR=100; +#LOCATE COMP "KEL_1" SITE "AP5"; +#LOCATE COMP "KEL_2" SITE "AP2"; +#LOCATE COMP "KEL_3" SITE "AN1"; +#LOCATE COMP "KEL_4" SITE "AN3"; +#LOCATE COMP "KEL_5" SITE "AL5"; +#LOCATE COMP "KEL_6" SITE "AM6"; +#LOCATE COMP "KEL_7" SITE "AL4"; +#LOCATE COMP "KEL_8" SITE "AJ5"; +#LOCATE COMP "KEL_9" SITE "AJ2"; +#LOCATE COMP "KEL_10" SITE "AL3"; +#LOCATE COMP "KEL_11" SITE "AD9"; +#LOCATE COMP "KEL_12" SITE "AJ4"; +#LOCATE COMP "KEL_13" SITE "V4"; +#LOCATE COMP "KEL_14" SITE "V5"; +#LOCATE COMP "KEL_15" SITE "T9"; +#LOCATE COMP "KEL_16" SITE "T2"; +#LOCATE COMP "KEL_17" SITE "P7"; +#LOCATE COMP "KEL_18" SITE "R8"; +#LOCATE COMP "KEL_19" SITE "R2"; +#LOCATE COMP "KEL_20" SITE "P9"; +#LOCATE COMP "KEL_21" SITE "AP29"; +#LOCATE COMP "KEL_22" SITE "AP33"; +#LOCATE COMP "KEL_23" SITE "AN34"; +#LOCATE COMP "KEL_24" SITE "AP31"; +#LOCATE COMP "KEL_25" SITE "AN32"; +#LOCATE COMP "KEL_26" SITE "AM29"; +#LOCATE COMP "KEL_27" SITE "AL31"; +#LOCATE COMP "KEL_28" SITE "AL30"; +#LOCATE COMP "KEL_29" SITE "AL34"; +#LOCATE COMP "KEL_30" SITE "AJ31"; +#LOCATE COMP "KEL_31" SITE "AH33"; +#LOCATE COMP "KEL_32" SITE "AL32"; +#LOCATE COMP "KEL_33" SITE "AF32"; +#LOCATE COMP "KEL_34" SITE "AE32"; +#LOCATE COMP "KEL_35" SITE "AE30"; +#LOCATE COMP "KEL_36" SITE "AD26"; +#LOCATE COMP "KEL_37" SITE "M29"; +#LOCATE COMP "KEL_38" SITE "AC28"; +#LOCATE COMP "KEL_39" SITE "M34"; +#LOCATE COMP "KEL_40" SITE "L28"; +#DEFINE PORT GROUP "KEL_group" "KEL*" ; +#IOBUF GROUP "KEL_group" IO_TYPE=LVDS25 DIFFRESISTOR=100; ################################################################# @@ -270,8 +270,6 @@ LOCATE COMP "SFP_TX_DIS_1" SITE "A9"; DEFINE PORT GROUP "SFP_group" "SFP*" ; IOBUF GROUP "SFP_group" IO_TYPE=LVTTL33 ; - - ################################################################# # Serdes Output Switch ################################################################# @@ -324,7 +322,6 @@ IOBUF PORT "RJ_IO_1" IO_TYPE=LVDS25 ; IOBUF PORT "RJ_IO_2" IO_TYPE=LVDS25E ; IOBUF PORT "RJ_IO_3" IO_TYPE=LVDS25E ; - LOCATE COMP "SPARE_IN_0" SITE "K31"; LOCATE COMP "SPARE_IN_1" SITE "R4"; #LOCATE COMP "SPARE_IN0_N" SITE "K32"; @@ -333,34 +330,23 @@ IOBUF PORT "SPARE_IN_0" IO_TYPE=LVDS25 DIFFRESISTOR=100 ; IOBUF PORT "SPARE_IN_1" IO_TYPE=LVDS25 DIFFRESISTOR=100 ; ################################################################# -# Backplane I/O +# "SFP" status signals on backplane ################################################################# -LOCATE COMP "BACK_GPIO_0" SITE "C26"; -LOCATE COMP "BACK_GPIO_1" SITE "D26"; -LOCATE COMP "BACK_GPIO_2" SITE "B27"; -LOCATE COMP "BACK_GPIO_3" SITE "C27"; -LOCATE COMP "BACK_GPIO_4" SITE "D27"; -LOCATE COMP "BACK_GPIO_5" SITE "E27"; -LOCATE COMP "BACK_GPIO_6" SITE "B28"; -LOCATE COMP "BACK_GPIO_7" SITE "A28"; -LOCATE COMP "BACK_GPIO_8" SITE "A26"; -LOCATE COMP "BACK_GPIO_9" SITE "A27"; -LOCATE COMP "BACK_GPIO_10" SITE "A29"; -LOCATE COMP "BACK_GPIO_11" SITE "A30"; -LOCATE COMP "BACK_GPIO_12" SITE "H26"; -LOCATE COMP "BACK_GPIO_13" SITE "H25"; -LOCATE COMP "BACK_GPIO_14" SITE "A31"; -LOCATE COMP "BACK_GPIO_15" SITE "B31"; -DEFINE PORT GROUP "BACK_GPIO_group" "BACK_GPIO*" ; -IOBUF GROUP "BACK_GPIO_group" IO_TYPE=LVCMOS25 PULLMODE=UP; - -LOCATE COMP "BACK_LVDS_0" SITE "V2"; -LOCATE COMP "BACK_LVDS_1" SITE "T4"; -# LOCATE COMP "BACK_LVDS_0_N" SITE "V1"; -# LOCATE COMP "BACK_LVDS_1_N" SITE "T3"; -DEFINE PORT GROUP "BACK_LVDS_group" "BACK_LVDS*" ; -IOBUF GROUP "BACK_LVDS_group" IO_TYPE=LVDS25; +LOCATE COMP "BACK_SLAVE_READY_0" SITE "C26"; +LOCATE COMP "BACK_SLAVE_READY_1" SITE "D27"; +LOCATE COMP "BACK_SLAVE_READY_2" SITE "A26"; +LOCATE COMP "BACK_SLAVE_READY_3" SITE "H26"; + +LOCATE COMP "BACK_MASTER_READY_0" SITE "D26"; +LOCATE COMP "BACK_MASTER_READY_1" SITE "E27"; +LOCATE COMP "BACK_MASTER_READY_2" SITE "A27"; +LOCATE COMP "BACK_MASTER_READY_3" SITE "H25"; + +DEFINE PORT GROUP "BACK_SLAVE_group" "BACK_SLAVE*" ; +DEFINE PORT GROUP "BACK_MASTER_group" "BACK_MASTER*" ; +IOBUF GROUP "BACK_SLAVE_group" IO_TYPE=LVCMOS25 PULLMODE=UP; +IOBUF GROUP "BACK_MASTER_group" IO_TYPE=LVCMOS25 DRIVE=4; ################################################################# # Flash ROM and Reboot -- 2.43.0