Skip to content

Commit

Permalink
add RXRECCLKOUT functionality to the PGP2FC GT
Browse files Browse the repository at this point in the history
  • Loading branch information
cbakalis-slac committed Jan 17, 2024
1 parent e9fbb49 commit a88e018
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 9 deletions.
4 changes: 2 additions & 2 deletions protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.dcp
Git LFS file not shown
5 changes: 3 additions & 2 deletions protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.xci
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
"RX_CC_VAL_1_3": [ { "value": "00000000", "resolve_type": "user", "enabled": false, "usage": "all" } ],
"RX_CC_K_1_3": [ { "value": "false", "resolve_type": "user", "format": "bool", "enabled": false, "usage": "all" } ],
"RX_CC_DISP_1_3": [ { "value": "false", "resolve_type": "user", "format": "bool", "enabled": false, "usage": "all" } ],
"ENABLE_OPTIONAL_PORTS": [ { "value": "cplllockdetclk_in cplllocken_in cpllrefclksel_in drpaddr_in drpclk_in drpdi_in drpen_in drpwe_in gtgrefclk_in loopback_in rxcdrreset_in rxpcsreset_in rxpmareset_in rxpolarity_in txpcsreset_in txpmareset_in txpolarity_in cpllfbclklost_out cplllock_out cpllrefclklost_out drpdo_out drprdy_out rxdlysresetdone_out rxphaligndone_out rxresetdone_out rxsyncdone_out txresetdone_out", "value_src": "user", "resolve_type": "user", "usage": "all" } ],
"ENABLE_OPTIONAL_PORTS": [ { "value": "cplllockdetclk_in cplllocken_in cpllrefclksel_in drpaddr_in drpclk_in drpdi_in drpen_in drpwe_in gtgrefclk_in loopback_in rxcdrreset_in rxpcsreset_in rxpmareset_in rxpolarity_in txpcsreset_in txpmareset_in txpolarity_in cpllfbclklost_out cplllock_out cpllrefclklost_out drpdo_out drprdy_out rxdlysresetdone_out rxphaligndone_out rxrecclkout_out rxresetdone_out rxsyncdone_out txresetdone_out", "value_src": "user", "resolve_type": "user", "usage": "all" } ],
"RX_REFCLK_SOURCE": [ { "value": "X0Y4 clk1+2", "value_src": "user", "resolve_type": "user", "usage": "all" } ],
"TX_REFCLK_SOURCE": [ { "value": "X0Y4 clk1+2", "value_src": "user", "resolve_type": "user", "usage": "all" } ],
"RX_RECCLK_OUTPUT": [ { "value": "", "resolve_type": "user", "usage": "all" } ],
Expand All @@ -170,7 +170,7 @@
"PRESET": [ { "value": "GTY-Aurora_8B10B", "value_src": "user", "resolve_type": "user", "usage": "all" } ],
"INTERNAL_PRESET": [ { "value": "Aurora_8B10B", "value_src": "user", "resolve_type": "user", "usage": "all" } ],
"INTERNAL_PORT_USAGE_UPDATED": [ { "value": "0", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ],
"INTERNAL_PORT_ENABLEMENT_UPDATED": [ { "value": "29", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ],
"INTERNAL_PORT_ENABLEMENT_UPDATED": [ { "value": "28", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ],
"INTERNAL_CHANNEL_SITES_UPDATED": [ { "value": "7", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ],
"INTERNAL_CHANNEL_COLUMN_LOC_MAX": [ { "value": "96", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ],
"INTERNAL_RX_COMMA_PRESET_UPDATE": [ { "value": "11", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ],
Expand Down Expand Up @@ -922,6 +922,7 @@
"rxoutclk_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
"rxphaligndone_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
"rxpmaresetdone_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
"rxrecclkout_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
"rxresetdone_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
"rxsyncdone_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
"txoutclk_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
-------------------------------------------------------------------------------
-- Description: PGPv2b GTY Ultrascale IP Core Wrapper
-------------------------------------------------------------------------------
-- This file is part of 'Example Project Firmware'.
-- This file is part of 'SLAC Firmware Standard Library'.
-- It is subject to the license terms in the LICENSE.txt file found in the
-- top-level directory of this distribution and at:
-- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.
-- No part of 'Example Project Firmware', including this file,
-- No part of 'SLAC Firmware Standard Library', including this file,
-- may be copied, modified, propagated, or distributed except according to
-- the terms contained in the LICENSE.txt file.
-------------------------------------------------------------------------------
Expand Down Expand Up @@ -57,6 +57,7 @@ entity Pgp2fcGtyCoreWrapper is
rxDecErr : out slv(1 downto 0);
rxPolarity : in sl;
rxOutClk : out sl;
rxRecClk : out sl; -- raw recovered clock

-- Tx Ports
txReset : in sl;
Expand Down Expand Up @@ -154,6 +155,7 @@ architecture mapping of Pgp2fcGtyCoreWrapper is
rxctrl3_out : out std_logic_vector (7 downto 0);
rxdlysresetdone_out : out std_logic_vector (0 downto 0);
rxoutclk_out : out std_logic_vector (0 downto 0);
rxrecclkout_out : out std_logic_vector (0 downto 0);
rxphaligndone_out : out std_logic_vector (0 downto 0);
rxpmaresetdone_out : out std_logic_vector (0 downto 0);
rxresetdone_out : out std_logic_vector (0 downto 0);
Expand Down Expand Up @@ -322,6 +324,7 @@ begin
rxdlysresetdone_out(0) => rxDlysResetDone,
rxphaligndone_out(0) => rxPhyAlignDone,
rxoutclk_out(0) => rxOutClkGt,
rxrecclkout_out(0) => rxRecClk,
txoutclk_out(0) => txOutClkGt, -- unused
rxpmaresetdone_out(0) => rxPmaResetDone,
rxresetdone_out(0) => rxResetDone,
Expand Down Expand Up @@ -419,7 +422,7 @@ begin
drpAddr => drpAddr, -- [out]
drpDi => drpDi, -- [out]
drpDo => drpDo); -- [in]

txctrl2 <= "000000" & txDataK;
txUsrActive <= txUsrClkActive and txPmaResetDone;
rxUsrActive <= rxUsrClkActive and rxPmaResetDone;
Expand Down
6 changes: 4 additions & 2 deletions protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyUltra.vhd
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
-------------------------------------------------------------------------------
-- Description: PGPv2b GTY Ultrascale Core Module
-------------------------------------------------------------------------------
-- This file is part of 'Example Project Firmware'.
-- This file is part of 'SLAC Firmware Standard Library'.
-- It is subject to the license terms in the LICENSE.txt file found in the
-- top-level directory of this distribution and at:
-- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.
-- No part of 'Example Project Firmware', including this file,
-- No part of 'SLAC Firmware Standard Library', including this file,
-- may be copied, modified, propagated, or distributed except according to
-- the terms contained in the LICENSE.txt file.
-------------------------------------------------------------------------------
Expand Down Expand Up @@ -52,6 +52,7 @@ entity Pgp2fcGtyUltra is
gtRefClk : in sl;
gtFabricRefClk : in sl;
gtUserRefClk : in sl;
rxRecClk : out sl;
-- Gt Serial IO
pgpGtTxP : out sl;
pgpGtTxN : out sl;
Expand Down Expand Up @@ -212,6 +213,7 @@ begin
rxDecErr => phyRxLaneIn.decErr,
rxPolarity => RX_POLARITY_G,
rxOutClk => pgpRxOutClk,
rxRecClk => rxRecClk,
txReset => gtTxUserReset,
txUsrClk => pgpTxClk,
txUsrClkActive => pgpTxMmcmLocked,
Expand Down

0 comments on commit a88e018

Please sign in to comment.