From 910ce0db3e65dfb682f717e58fd13ce1c8e0d8c9 Mon Sep 17 00:00:00 2001 From: Michael Boehmer Date: Thu, 3 Feb 2022 11:04:43 +0100 Subject: [PATCH] added REQ for WAP --- media_interfaces/sync/main_rx_reset_RS.vhd | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/media_interfaces/sync/main_rx_reset_RS.vhd b/media_interfaces/sync/main_rx_reset_RS.vhd index d411427..f2b2eda 100644 --- a/media_interfaces/sync/main_rx_reset_RS.vhd +++ b/media_interfaces/sync/main_rx_reset_RS.vhd @@ -13,7 +13,9 @@ entity main_rx_reset_RS is LOS_IN : in std_logic; SD_LOS_IN : in std_logic; WAP_ZERO_IN : in std_logic; + WAP_ACK_IN : in std_logic; -- outputs + WAP_REQ_OUT : out std_logic; RX_SERDES_RST_OUT : out std_logic; RX_PCS_RST_OUT : out std_logic; LINK_RX_READY_OUT : out std_logic; @@ -73,7 +75,8 @@ begin RX_SERDES_RST_OUT <= '1'; RX_PCS_RST_OUT <= '1'; LINK_RX_READY_OUT <= '0'; - + WAP_REQ_OUT <= '0'; + rx_sm <= powerup; STATE_OUT <= x"f"; cnt <= (others => '0'); @@ -92,6 +95,7 @@ begin RX_SERDES_RST_OUT <= '0'; -- needed for RX_LOS to be active RX_PCS_RST_OUT <= '1'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '0'; -- if( (pll_lol_s = '1') or (los_s = '1') or (sd_los_s = '1') ) then if( (pll_lol_s = '1') or (sd_los_s = '1') ) then cnt <= (others => '0'); @@ -109,6 +113,7 @@ begin RX_SERDES_RST_OUT <= '1'; RX_PCS_RST_OUT <= '1'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '0'; if( cnt = Tshort ) then cnt <= (others => '0'); rx_sm <= WAIT_CDR_LOCK; @@ -121,6 +126,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '1'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '0'; if( cnt = Tcdr ) then cnt <= (others => '0'); rx_sm <= TEST_CDR; @@ -133,6 +139,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '1'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '0'; if( cdr_lol_s = '1' ) then cnt <= (others => '0'); rx_sm <= APPLY_CDR_RST; @@ -150,6 +157,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '1'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '0'; if( cnt = Tshort ) then cnt <= (others => '0'); rx_sm <= WAIT_RXPCS_LOCK; @@ -162,6 +170,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '0'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '1'; if( cnt = Tviol ) then cnt <= (others => '0'); rx_sm <= TEST_RXPCS; @@ -174,6 +183,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '0'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '1'; if( (lsm_s = '0') or (cv_s = '1') ) then cnt <= (others => '0'); rx_sm <= APPLY_RXPCS_RST; @@ -191,6 +201,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '0'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '0'; cnt <= (others => '0'); if( wap_zero_s = '1' ) then rx_sm <= NORMAL_OP; @@ -204,6 +215,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '0'; LINK_RX_READY_OUT <= '1'; + WAP_REQ_OUT <= '0'; cnt <= (others => '0'); if( (lsm_s = '0') or (cv_s = '1') ) then -- DANGEROUS rx_sm <= APPLY_RXPCS_RST; @@ -215,6 +227,7 @@ begin RX_SERDES_RST_OUT <= '0'; RX_PCS_RST_OUT <= '0'; LINK_RX_READY_OUT <= '0'; + WAP_REQ_OUT <= '0'; rx_sm <= POWERUP; end case; -- 2.43.0