]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
XCKU quad MGT: Fix control signal assignments
authorThomas Gessler <Thomas.Gessler@exp2.physik.uni-giessen.de>
Thu, 6 Aug 2020 15:37:30 +0000 (17:37 +0200)
committerThomas Gessler <Thomas.Gessler@exp2.physik.uni-giessen.de>
Thu, 6 Aug 2020 15:37:30 +0000 (17:37 +0200)
media_interfaces/xcku/gth_xcku_quad_x0y2/gth_xcku_quad_x0y2_top.vhd

index 25f92695b98633fb6d7ad7412faa28e8f48c6ea6..b73aac4e5bc513ce121e47e8766f32ea1fc8a7f3 100644 (file)
@@ -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 (