From 76ef6b5484d30c47b4dbbf733cd94d30c6edc312 Mon Sep 17 00:00:00 2001 From: Thomas Gessler Date: Fri, 18 Sep 2020 17:51:12 +0200 Subject: [PATCH] hub_test: Set RXLPMEN to 1 This switches the RX equalizer from DFE to LPM mode, which seems to improve link stability when the equalizer is initialized on non-random 8b10b characters like idle words (see UG576, "Choosing Between LPM and DFE Modes"). --- .../ip/in_system_ibert_0/in_system_ibert_0.xci | 4 ++-- .../ip/in_system_ibert_0/in_system_ibert_0.xml | 16 ++++++++-------- hub_test/src/hub_test.vhd | 13 +++++++++++++ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xci b/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xci index 9e48b6e..48054fc 100644 --- a/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xci +++ b/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xci @@ -26,7 +26,7 @@ true in_system_ibert_0 9 - 0 + 1 "0000000000001000" "0000000000001001" 0000000000000000 @@ -297,7 +297,7 @@ 0 kintexu in_system_ibert_0 - false + true X0Y9 X0Y8 GTH 1 diff --git a/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xml b/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xml index 5845cd8..978ebee 100644 --- a/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xml +++ b/hub_test/ip/in_system_ibert_0/in_system_ibert_0.xml @@ -15493,7 +15493,7 @@ - false + true @@ -15519,7 +15519,7 @@ - false + true @@ -15545,7 +15545,7 @@ - false + true @@ -15571,7 +15571,7 @@ - false + true @@ -15597,7 +15597,7 @@ - false + true @@ -15623,7 +15623,7 @@ - false + true @@ -15675,7 +15675,7 @@ C_ENABLE_INPUT_PORTS C Enable Input Ports - 0 + 1 C_USE_MDM @@ -17086,7 +17086,7 @@ C_ENABLE_INPUT_PORTS C Enable Input Ports - false + true C_USE_MDM diff --git a/hub_test/src/hub_test.vhd b/hub_test/src/hub_test.vhd index 31e1f76..3592497 100644 --- a/hub_test/src/hub_test.vhd +++ b/hub_test/src/hub_test.vhd @@ -96,6 +96,12 @@ architecture behavioral of hub_test is txprecursor_o : out std_logic_vector(9 downto 0); txpostcursor_o : out std_logic_vector(9 downto 0); rxlpmen_o : out std_logic_vector(1 downto 0); + rxrate_i : in std_logic_vector(5 downto 0); + txdiffctrl_i : in std_logic_vector(7 downto 0); + txprecursor_i : in std_logic_vector(9 downto 0); + txpostcursor_i : in std_logic_vector(9 downto 0); + rxlpmen_i : in std_logic_vector(1 downto 0); + drpclk_i : in std_logic_vector(1 downto 0); rxoutclk_i : in std_logic_vector(1 downto 0); clk : in std_logic ); @@ -445,6 +451,13 @@ begin txprecursor_o => txprecursor(9 downto 0), txpostcursor_o => txpostcursor(9 downto 0), rxlpmen_o => rxlpmen(1 downto 0), + rxrate_i => b"000_000", + txdiffctrl_i => b"1100_1100", + txprecursor_i => b"00000_00000", + txpostcursor_i => b"00000_00000", + rxlpmen_i => b"1_1", + drpclk_i(0) => baseclk_100, + drpclk_i(1) => baseclk_100, rxoutclk_i(0) => sysclk_100, rxoutclk_i(1) => sysclk_100, clk => baseclk_100 -- 2.43.0