From 6fe834c2d00ccefccb720a00f36126b633dc0529 Mon Sep 17 00:00:00 2001 From: Michael Boehmer Date: Tue, 28 Jun 2022 13:20:43 +0200 Subject: [PATCH] cleanup --- gbe_trb/base/gbe_logic_wrapper.vhd | 26 ++++++------ gbe_trb/base/gbe_med_interface_single_5G.vhd | 22 +++++----- gbe_trb/base/gbe_wrapper_single_5G.vhd | 43 +++++++++++--------- 3 files changed, 47 insertions(+), 44 deletions(-) diff --git a/gbe_trb/base/gbe_logic_wrapper.vhd b/gbe_trb/base/gbe_logic_wrapper.vhd index 3983c0f..fcab6cb 100644 --- a/gbe_trb/base/gbe_logic_wrapper.vhd +++ b/gbe_trb/base/gbe_logic_wrapper.vhd @@ -306,8 +306,8 @@ begin MC_DHCP_DONE_OUT => dhcp_done, MY_IP_OUT => MY_IP_OUT, MC_MY_MAC_IN => MY_MAC_IN, - MY_TRBNET_ADDRESS_IN => MY_TRBNET_ADDRESS_IN, - ISSUE_REBOOT_OUT => open, --ISSUE_REBOOT_OUT, + MY_TRBNET_ADDRESS_IN => MY_TRBNET_ADDRESS_IN, + ISSUE_REBOOT_OUT => open, --ISSUE_REBOOT_OUT, -- signals to/from receive controller RC_FRAME_WAITING_IN => rc_frame_ready, @@ -884,17 +884,17 @@ begin end generate rx_enable_gen; rx_disable_gen : if (RX_PATH_ENABLE = 0) generate - rc_q <= (others => '0'); - rc_frame_ready <= '0'; - rc_frame_size <= (others => '0'); - rc_frame_proto <= (others => '0'); - - rc_src_mac <= (others => '0'); - rc_dest_mac <= (others => '0'); - rc_src_ip <= (others => '0'); - rc_dest_ip <= (others => '0'); - rc_src_udp <= (others => '0'); - rc_dest_udp <= (others => '0'); + rc_q <= (others => '0'); + rc_frame_ready <= '0'; + rc_frame_size <= (others => '0'); + rc_frame_proto <= (others => '0'); + + rc_src_mac <= (others => '0'); + rc_dest_mac <= (others => '0'); + rc_src_ip <= (others => '0'); + rc_dest_ip <= (others => '0'); + rc_src_udp <= (others => '0'); + rc_dest_udp <= (others => '0'); rc_frames_rec_ctr <= (others => '0'); rc_bytes_rec <= (others => '0'); diff --git a/gbe_trb/base/gbe_med_interface_single_5G.vhd b/gbe_trb/base/gbe_med_interface_single_5G.vhd index 950d542..513968c 100644 --- a/gbe_trb/base/gbe_med_interface_single_5G.vhd +++ b/gbe_trb/base/gbe_med_interface_single_5G.vhd @@ -49,9 +49,7 @@ entity gbe_med_interface_single_5G is SD_PRSNT_N_IN : in std_logic; SD_LOS_IN : in std_logic; -- SFP Loss Of Signal ('0' = OK, '1' = no signal) SD_TXDIS_OUT : out std_logic; -- SFP disable - SD_LED_GREEN_OUT : out std_logic; - SD_LED_YELLOW_OUT : out std_logic; - SD_LED_RED_OUT : out std_logic; + STATUS_OUT : out std_logic_vector(7 downto 0); -- Debug DEBUG_OUT : out std_logic_vector(63 downto 0) ); @@ -382,15 +380,15 @@ begin D_OUT(1) => rx_serdes_rst_q ); - -- LED signals - -- Link Status - SD_LED_GREEN_OUT <= '1' when (link_tx_ready = '1') and (link_rx_ready = '1') and (an_complete = '1') - else '0'; - -- Activity - must be stretched for human eyes - SD_LED_YELLOW_OUT <= '1' when (pcs_tx_en = '1') or (pcs_rx_en = '1') - else '0'; - -- Error, maybe? - SD_LED_RED_OUT <= '0'; + -- Status signals + STATUS_OUT(0) <= link_tx_ready; -- SerDes TX channel operational + STATUS_OUT(1) <= link_rx_ready; -- SerDes Rx channel operational + STATUS_OUT(2) <= an_complete; -- GbE Autonegotiation completed + STATUS_OUT(3) <= pcs_tx_en; -- SerDes TX activity + STATUS_OUT(4) <= pcs_rx_en; -- SerDes RX activity + STATUS_OUT(5) <= '0'; + STATUS_OUT(6) <= '0'; + STATUS_OUT(7) <= '0'; -- -- "Good" debugging pins -- debug(7 downto 0) <= sd_tx_data; diff --git a/gbe_trb/base/gbe_wrapper_single_5G.vhd b/gbe_trb/base/gbe_wrapper_single_5G.vhd index 0598c88..4ed9791 100644 --- a/gbe_trb/base/gbe_wrapper_single_5G.vhd +++ b/gbe_trb/base/gbe_wrapper_single_5G.vhd @@ -15,17 +15,17 @@ entity gbe_wrapper_single_5G is generic( DO_SIMULATION : integer range 0 to 1 := 0; INCLUDE_DEBUG : integer range 0 to 1 := 0; - USE_INTERNAL_TRBNET_DUMMY : integer range 0 to 1 := 0; - USE_EXTERNAL_TRBNET_DUMMY : integer range 0 to 1 := 0; - RX_PATH_ENABLE : integer range 0 to 1 := 1; - FIXED_SIZE_MODE : integer range 0 to 1 := 1; - INCREMENTAL_MODE : integer range 0 to 1 := 0; - FIXED_SIZE : integer range 0 to 65535 := 10; - FIXED_DELAY_MODE : integer range 0 to 1 := 1; - UP_DOWN_MODE : integer range 0 to 1 := 0; - UP_DOWN_LIMIT : integer range 0 to 16777215 := 0; - FIXED_DELAY : integer range 0 to 16777215 := 16777215; - NUMBER_OF_GBE_LINKS : integer range 1 to 4 := 4; + USE_INTERNAL_TRBNET_DUMMY : integer range 0 to 1 := 0; -- only for debugging + USE_EXTERNAL_TRBNET_DUMMY : integer range 0 to 1 := 0; -- only for debugging + RX_PATH_ENABLE : integer range 0 to 1 := 1; -- + FIXED_SIZE_MODE : integer range 0 to 1 := 1; -- only for debugging + INCREMENTAL_MODE : integer range 0 to 1 := 0; -- only for debugging + FIXED_SIZE : integer range 0 to 65535 := 10; -- only for debugging + FIXED_DELAY_MODE : integer range 0 to 1 := 1; -- only for debugging + UP_DOWN_MODE : integer range 0 to 1 := 0; -- only for debugging + UP_DOWN_LIMIT : integer range 0 to 16777215 := 0; -- only for debugging + FIXED_DELAY : integer range 0 to 16777215 := 16777215; -- only for debugging + NUMBER_OF_GBE_LINKS : integer range 1 to 4 := 4; -- LINKS_ACTIVE : std_logic_vector(3 downto 0) := "1111"; LINK_HAS_PING : std_logic_vector(3 downto 0) := "1111"; LINK_HAS_ARP : std_logic_vector(3 downto 0) := "1111"; @@ -51,7 +51,8 @@ entity gbe_wrapper_single_5G is CTS_NUMBER_IN : in std_logic_vector(15 downto 0); CTS_CODE_IN : in std_logic_vector(7 downto 0); CTS_INFORMATION_IN : in std_logic_vector(7 downto 0); - CTS_READOUT_TYPE_IN : in std_logic_vector(3 downto 0); + CTS_READOUT_TYPE_IN : in std_logic_vector(3 down: in std_logic_vector(7 downto 0) := (others => '0'); + to 0); CTS_START_READOUT_IN : in std_logic; CTS_DATA_OUT : out std_logic_vector(31 downto 0); CTS_DATAREADY_OUT : out std_logic; @@ -97,6 +98,8 @@ entity gbe_wrapper_single_5G is FWD_FULL_OUT : out std_logic; -- MAKE_RESET_OUT : out std_logic; + -- + STATUS_OUT : out std_logic_vector(15 downto 0); DEBUG_OUT : out std_logic_vector(127 downto 0) ); end entity gbe_wrapper_single_5G; @@ -123,8 +126,8 @@ architecture RTL of gbe_wrapper_single_5G is signal mac_rx_eof : std_logic; signal mac_rx_err : std_logic; --- signal clk_125_from_pcs : std_logic; --- signal clk_125_rx_from_pcs : std_logic; +-- signal clk_125_from_pcs : std_logic; -- not needed +-- signal clk_125_rx_from_pcs : std_logic; -- not needed signal cfg_gbe_enable : std_logic; signal cfg_ipu_enable : std_logic; @@ -235,6 +238,8 @@ begin assert not (LINK_HAS_SLOWCTRL(3 downto 1) /= b"000") report "Error: only interface 0 supported" severity error; assert not (LINK_HAS_FWD(3 downto 1) /= b"000") report "Error: only interface 0 supported" severity error; + -- debug(127 downto 64) are local + -- debug(63 downto 0) are media interface DEBUG_OUT <= debug; mac_0 <= MC_UNIQUE_ID_IN(15 downto 8) & MC_UNIQUE_ID_IN(23 downto 16) & MC_UNIQUE_ID_IN(31 downto 24) & x"0" & MC_UNIQUE_ID_IN(35 downto 32) & x"7ada"; @@ -250,9 +255,9 @@ begin RESET => RESET, GSR_N => GSR_N, CLK_SYS_IN => CLK_SYS_IN, - CLK_125_OUT => open, --clk_125_from_pcs, + CLK_125_OUT => open, --clk_125_from_pcs, -- not needed CLK_125_IN => CLK_125_IN, - CLK_125_RX_OUT => open, --clk_125_rx_from_pcs, + CLK_125_RX_OUT => open, --clk_125_rx_from_pcs, -- not needed MAC_READY_CONF_OUT => mac_ready_conf, MAC_RECONF_IN => mac_reconf, MAC_AN_READY_OUT => mac_an_ready, @@ -280,12 +285,12 @@ begin SD_PRSNT_N_IN => SD_PRSNT_N_IN, SD_LOS_IN => SD_LOS_IN, SD_TXDIS_OUT => SD_TXDIS_OUT, - SD_LED_GREEN_OUT => SD_LED_GREEN_OUT, - SD_LED_YELLOW_OUT => SD_LED_YELLOW_OUT, - SD_LED_RED_OUT => SD_LED_RED_OUT, + STATUS_OUT => STATUS_OUT(7 downto 0), DEBUG_OUT => debug(63 downto 0) --open ); + STATUS_OUT(15 downto 8) <= (others => '0'); + gbe_inst : entity work.gbe_logic_wrapper generic map(DO_SIMULATION => DO_SIMULATION, INCLUDE_DEBUG => INCLUDE_DEBUG, -- 2.43.0