Commit 78880297 authored by Peter Jansweijer's avatar Peter Jansweijer Committed by Grzegorz Daniluk

platform/gtp: adding PRBS generator inputs

parent 5b9d66fc
...@@ -99,8 +99,10 @@ entity WHITERABBITGTP_WRAPPER_TILE_SPARTAN6 is ...@@ -99,8 +99,10 @@ entity WHITERABBITGTP_WRAPPER_TILE_SPARTAN6 is
TXN0_OUT : out std_logic; TXN0_OUT : out std_logic;
TXN1_OUT : out std_logic; TXN1_OUT : out std_logic;
TXP0_OUT : out std_logic; TXP0_OUT : out std_logic;
TXP1_OUT : out std_logic TXP1_OUT : out std_logic;
--------------- Transmit Ports - PRBS Generator ----------------------------
TXENPRBSTST0_IN : in std_logic_vector(2 downto 0);
TXENPRBSTST1_IN : in std_logic_vector(2 downto 0)
); );
...@@ -683,8 +685,8 @@ begin ...@@ -683,8 +685,8 @@ begin
TXPREEMPHASIS0 => "000", TXPREEMPHASIS0 => "000",
TXPREEMPHASIS1 => "000", TXPREEMPHASIS1 => "000",
--------------------- Transmit Ports - TX PRBS Generator ------------------- --------------------- Transmit Ports - TX PRBS Generator -------------------
TXENPRBSTST0 => tied_to_ground_vec_i(2 downto 0), TXENPRBSTST0 => TXENPRBSTST0_IN,
TXENPRBSTST1 => tied_to_ground_vec_i(2 downto 0), TXENPRBSTST1 => TXENPRBSTST1_IN,
TXPRBSFORCEERR0 => tied_to_ground_i, TXPRBSFORCEERR0 => tied_to_ground_i,
TXPRBSFORCEERR1 => tied_to_ground_i, TXPRBSFORCEERR1 => tied_to_ground_i,
-------------------- Transmit Ports - TX Polarity Control ------------------ -------------------- Transmit Ports - TX Polarity Control ------------------
......
...@@ -111,6 +111,9 @@ entity wr_gtp_phy_spartan6 is ...@@ -111,6 +111,9 @@ entity wr_gtp_phy_spartan6 is
ch0_loopen_i : in std_logic; ch0_loopen_i : in std_logic;
ch0_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0'); ch0_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0');
-- PRBS select (see Xilinx UG386 Table 3-15; "000" = Standard operation, pattern generator off)
ch0_tx_prbs_sel_i : in std_logic_vector(2 downto 0) := (others=>'0');
-- gtp0 ready: locked & aligned -- gtp0 ready: locked & aligned
ch0_rdy_o : out std_logic; ch0_rdy_o : out std_logic;
...@@ -131,6 +134,7 @@ entity wr_gtp_phy_spartan6 is ...@@ -131,6 +134,7 @@ entity wr_gtp_phy_spartan6 is
ch1_rst_i : in std_logic := '0'; ch1_rst_i : in std_logic := '0';
ch1_loopen_i : in std_logic := '0'; ch1_loopen_i : in std_logic := '0';
ch1_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0'); ch1_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0');
ch1_tx_prbs_sel_i: in std_logic_vector(2 downto 0) := (others=>'0');
ch1_rdy_o : out std_logic; ch1_rdy_o : out std_logic;
-- Serial I/O -- Serial I/O
...@@ -228,7 +232,9 @@ architecture rtl of wr_gtp_phy_spartan6 is ...@@ -228,7 +232,9 @@ architecture rtl of wr_gtp_phy_spartan6 is
TXN0_OUT : out std_logic; TXN0_OUT : out std_logic;
TXN1_OUT : out std_logic; TXN1_OUT : out std_logic;
TXP0_OUT : out std_logic; TXP0_OUT : out std_logic;
TXP1_OUT : out std_logic); TXP1_OUT : out std_logic;
TXENPRBSTST0_IN : in std_logic_vector(2 downto 0);
TXENPRBSTST1_IN : in std_logic_vector(2 downto 0));
end component; end component;
component BUFG component BUFG
...@@ -799,7 +805,10 @@ begin -- rtl ...@@ -799,7 +805,10 @@ begin -- rtl
TXN0_OUT => pad_txn0_o, TXN0_OUT => pad_txn0_o,
TXN1_OUT => pad_txn1_o, TXN1_OUT => pad_txn1_o,
TXP0_OUT => pad_txp0_o, TXP0_OUT => pad_txp0_o,
TXP1_OUT => pad_txp1_o TXP1_OUT => pad_txp1_o,
--------------- Transmit Ports - TX PRBS Generator -------------------------
TXENPRBSTST0_IN => ch0_tx_prbs_sel_i,
TXENPRBSTST1_IN => ch1_tx_prbs_sel_i
); );
......
...@@ -29,6 +29,7 @@ package wr_xilinx_pkg is ...@@ -29,6 +29,7 @@ package wr_xilinx_pkg is
ch0_rst_i : in std_logic := '0'; ch0_rst_i : in std_logic := '0';
ch0_loopen_i : in std_logic := '0'; ch0_loopen_i : in std_logic := '0';
ch0_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0'); ch0_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0');
ch0_tx_prbs_sel_i : in std_logic_vector(2 downto 0) := (others=>'0');
ch0_rdy_o : out std_logic; ch0_rdy_o : out std_logic;
ch1_ref_clk_i : in std_logic; ch1_ref_clk_i : in std_logic;
ch1_tx_data_i : in std_logic_vector(7 downto 0) := "00000000"; ch1_tx_data_i : in std_logic_vector(7 downto 0) := "00000000";
...@@ -43,6 +44,7 @@ package wr_xilinx_pkg is ...@@ -43,6 +44,7 @@ package wr_xilinx_pkg is
ch1_rst_i : in std_logic := '0'; ch1_rst_i : in std_logic := '0';
ch1_loopen_i : in std_logic := '0'; ch1_loopen_i : in std_logic := '0';
ch1_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0'); ch1_loopen_vec_i : in std_logic_vector(2 downto 0) := (others=>'0');
ch1_tx_prbs_sel_i : in std_logic_vector(2 downto 0) := (others=>'0');
ch1_rdy_o : out std_logic; ch1_rdy_o : out std_logic;
pad_txn0_o : out std_logic; pad_txn0_o : out std_logic;
pad_txp0_o : out std_logic; pad_txp0_o : out std_logic;
......
...@@ -361,6 +361,7 @@ architecture rtl of spec_top is ...@@ -361,6 +361,7 @@ architecture rtl of spec_top is
signal phy_rst : std_logic; signal phy_rst : std_logic;
signal phy_loopen : std_logic; signal phy_loopen : std_logic;
signal phy_loopen_vec : std_logic_vector(2 downto 0); signal phy_loopen_vec : std_logic_vector(2 downto 0);
signal phy_prbs_sel : std_logic_vector(2 downto 0);
signal phy_rdy : std_logic; signal phy_rdy : std_logic;
signal dio_in : std_logic_vector(4 downto 0); signal dio_in : std_logic_vector(4 downto 0);
...@@ -703,6 +704,7 @@ begin ...@@ -703,6 +704,7 @@ begin
phy_sfp_tx_fault_i => sfp_tx_fault_i, phy_sfp_tx_fault_i => sfp_tx_fault_i,
phy_sfp_los_i => sfp_los_i, phy_sfp_los_i => sfp_los_i,
phy_sfp_tx_disable_o => sfp_tx_disable_o, phy_sfp_tx_disable_o => sfp_tx_disable_o,
phy_tx_prbs_sel_o => phy_prbs_sel,
led_act_o => LED_RED, led_act_o => LED_RED,
led_link_o => LED_GREEN, led_link_o => LED_GREEN,
...@@ -823,6 +825,7 @@ begin ...@@ -823,6 +825,7 @@ begin
ch1_rst_i => phy_rst, ch1_rst_i => phy_rst,
ch1_loopen_i => phy_loopen, ch1_loopen_i => phy_loopen,
ch1_loopen_vec_i => phy_loopen_vec, ch1_loopen_vec_i => phy_loopen_vec,
ch1_tx_prbs_sel_i => phy_prbs_sel,
ch1_rdy_o => phy_rdy, ch1_rdy_o => phy_rdy,
pad_txn0_o => open, pad_txn0_o => open,
pad_txp0_o => open, pad_txp0_o => open,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment