From 38c4389292f5842fb9f1a157aeb2f0bcb6cd4977 Mon Sep 17 00:00:00 2001 From: Thomas Gessler Date: Thu, 6 Aug 2020 17:37:30 +0200 Subject: [PATCH] XCKU quad MGT: Fix control signal assignments --- .../gth_xcku_quad_x0y2_top.vhd | 51 +++++++++++++++---- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/media_interfaces/xcku/gth_xcku_quad_x0y2/gth_xcku_quad_x0y2_top.vhd b/media_interfaces/xcku/gth_xcku_quad_x0y2/gth_xcku_quad_x0y2_top.vhd index 25f9269..b73aac4 100644 --- a/media_interfaces/xcku/gth_xcku_quad_x0y2/gth_xcku_quad_x0y2_top.vhd +++ b/media_interfaces/xcku/gth_xcku_quad_x0y2/gth_xcku_quad_x0y2_top.vhd @@ -145,6 +145,10 @@ architecture behavioral of gth_xcku_quad_x0y2_top is signal rxctrl2 : std_logic_vector(31 downto 0); signal rxctrl3 : std_logic_vector(31 downto 0); + signal txctrl0 : std_logic_vector(63 downto 0) := (others => '0'); + signal txctrl1 : std_logic_vector(63 downto 0) := (others => '0'); + signal txctrl2 : std_logic_vector(31 downto 0) := (others => '0'); + signal rx16data : std_logic_vector(63 downto 0); signal rx16charisk : std_logic_vector(7 downto 0); signal rx16chariscomma : std_logic_vector(7 downto 0); @@ -297,12 +301,9 @@ begin rxusrclk2_in(2) => usrclk_int, rxusrclk2_in(3) => usrclk_int, tx8b10ben_in => "1111", - txctrl0_in(63 downto 8) => x"00000000000000", - txctrl0_in(7 downto 0) => tx16chardispval, - txctrl1_in(63 downto 8) => x"00000000000000", - txctrl1_in(7 downto 0) => tx16chardispmode, - txctrl2_in(31 downto 8) => x"000000", - txctrl2_in(7 downto 0) => tx16charisk, + txctrl0_in => txctrl0, + txctrl1_in => txctrl1, + txctrl2_in => txctrl2, txpcsreset_in => TXPCSRESET, txpmareset_in => TXPMARESET, txusrclk_in(0) => usrclk_int, @@ -333,10 +334,40 @@ begin txresetdone_out => TXRESETDONE ); - rx16charisk <= rxctrl0(7 downto 0); - rx16notintable <= rxctrl1(7 downto 0); - rx16chariscomma <= rxctrl2(7 downto 0); - rx16disperr <= rxctrl3(7 downto 0); + rx16charisk(1 downto 0) <= rxctrl0(1 downto 0); + rx16charisk(3 downto 2) <= rxctrl0(17 downto 16); + rx16charisk(5 downto 4) <= rxctrl0(33 downto 32); + rx16charisk(7 downto 6) <= rxctrl0(49 downto 48); + + rx16notintable(1 downto 0) <= rxctrl1(1 downto 0); + rx16notintable(3 downto 2) <= rxctrl1(17 downto 16); + rx16notintable(5 downto 4) <= rxctrl1(33 downto 32); + rx16notintable(7 downto 6) <= rxctrl1(49 downto 48); + + rx16chariscomma(1 downto 0) <= rxctrl2(1 downto 0); + rx16chariscomma(3 downto 2) <= rxctrl2(9 downto 8); + rx16chariscomma(5 downto 4) <= rxctrl2(17 downto 16); + rx16chariscomma(7 downto 6) <= rxctrl2(25 downto 24); + + rx16disperr(1 downto 0) <= rxctrl3(1 downto 0); + rx16disperr(3 downto 2) <= rxctrl3(9 downto 8); + rx16disperr(5 downto 4) <= rxctrl3(17 downto 16); + rx16disperr(7 downto 6) <= rxctrl3(25 downto 24); + + txctrl0(1 downto 0) <= tx16chardispval(1 downto 0); + txctrl0(17 downto 16) <= tx16chardispval(3 downto 2); + txctrl0(33 downto 32) <= tx16chardispval(5 downto 4); + txctrl0(49 downto 48) <= tx16chardispval(7 downto 6); + + txctrl1(1 downto 0) <= tx16chardispmode(1 downto 0); + txctrl1(17 downto 16) <= tx16chardispmode(3 downto 2); + txctrl1(33 downto 32) <= tx16chardispmode(5 downto 4); + txctrl1(49 downto 48) <= tx16chardispmode(7 downto 6); + + txctrl2(1 downto 0) <= tx16charisk(1 downto 0); + txctrl2(9 downto 8) <= tx16charisk(3 downto 2); + txctrl2(17 downto 16) <= tx16charisk(5 downto 4); + txctrl2(25 downto 24) <= tx16charisk(7 downto 6); bufg_gt_usrclk_inst : BUFG_GT port map ( -- 2.43.0