diff --git a/protocols/pgp/pgp2fc/README.md b/protocols/pgp/pgp2fc/README.md deleted file mode 100644 index c6b6875fdc..0000000000 --- a/protocols/pgp/pgp2fc/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# PGP2 Fast Control (PGP2FC) Implementation - -Similar implementation as PGP2B, while giving priority to fast control words and fixed latency. - -Applications need to create the MGT wrapper with no elastic buffers and PMA RX Slide enabled. See LDMX fast control application example. - -Xilinx does NOT allow this configuration directly from the transceiver wizard, but it can be overriden by configurating it with PCS slide and then using the following constraint: - -``` -set_property RXSLIDE_MODE PMA [get_cells {}] -``` - -**This variant only supports a single-lane mode and special care must be taken when using virtual channels and fast control excessively.** - -## Design considerations - -Because fast control has priority over virtual channel data, it is possible that the virtual channels will become starved if too many fast control words are sent frequently or with no break between them. - -Using the fast control scheme in LDMX as an example: - -- Experimental operational clock is 37.2MHz and the link will operate at 3.72GHz with 186MHz on the user side. -- In this scheme, we send a single fast control word every 37.2MHz clock tick with 16-bits width to indicate an edge transition, even if there are no fast control flags to send. -- Because of the experimental clock of 37.2MHz, we can send up to 5 data words in the link (186/37.2=5), and because PGP2FC fast control words have an overhead of 1 word for header and CRC, it means that out of the 5 data words per experimental clock, 2 will be used for fast control. -- Leaving 3/5 available for virtual channel operation. This is be fine for light operation. - -In the example above, if the width of the fast control word got changed from 16-bits to 64-bits, it would mean the link would be saturated and the virtual channels would be starved. In this situation virtual channels should not be used. \ No newline at end of file diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentChecker.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentChecker.vhd index fe7b854964..88b3ecd2bc 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentChecker.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentChecker.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentController.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentController.vhd index e85549d87b..1b54d27dc6 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentController.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAlignmentController.vhd @@ -1,4 +1,6 @@ ------------------------------------------------------------------------------- +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw +------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- -- Description: GTH RX Byte Alignment Controller diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAxi.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAxi.vhd index 54ff311b39..b195fc35cd 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAxi.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcAxi.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcLane.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcLane.vhd index 0b0df8210a..79d17bfeb9 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcLane.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcLane.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- @@ -68,6 +68,7 @@ entity Pgp2fcLane is pgpRxClkEn : in sl := '1'; pgpRxClk : in sl := '0'; pgpRxClkRst : in sl := '0'; + pgpRxPhyRst : in sl := '0'; -- Non-VC related IO pgpRxIn : in Pgp2fcRxInType := PGP2FC_RX_IN_INIT_C; @@ -152,6 +153,7 @@ begin pgpRxClkEn => pgpRxClkEn, pgpRxClk => pgpRxClk, pgpRxClkRst => pgpRxClkRst, + pgpRxPhyRst => pgpRxPhyRst, pgpRxIn => pgpRxIn, pgpRxOut => intRxOut, pgpRxMaster => intRxMaster, diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcPkg.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcPkg.vhd index 272039e8bf..ffce09f03f 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcPkg.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcPkg.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRx.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRx.vhd index a01be22242..891e04e814 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRx.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRx.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- @@ -38,6 +38,7 @@ entity Pgp2fcRx is pgpRxClkEn : in sl := '1'; -- Master clock enable pgpRxClk : in sl; -- Master clock pgpRxClkRst : in sl; -- Synchronous reset input + pgpRxPhyRst : in sl := '0'; -- Non-VC related IO pgpRxIn : in Pgp2fcRxInType; @@ -87,6 +88,7 @@ architecture Pgp2fcRx of Pgp2fcRx is signal overflow : slv(3 downto 0); signal intFcValid : sl; signal intFcError : sl; + signal phyRxRst : sl; attribute KEEP_HIERARCHY : string; attribute KEEP_HIERARCHY of @@ -101,6 +103,7 @@ begin pgpRxOut.phyRxReady <= phyRxReady; pgpRxOut.remOverflow <= overflow; pgpRxOut.remPause <= pause; + phyRxRst <= pgpRxPhyRst; -- Interface connection intPhyRxData <= phyRxLaneIn.data; @@ -117,7 +120,7 @@ begin ) port map ( pgpRxClkEn => pgpRxClkEn, pgpRxClk => pgpRxClk, - pgpRxClkRst => pgpRxClkRst, + pgpRxClkRst => phyRxRst, pgpRxLinkReady => intRxLinkReady, pgpRxLinkDown => pgpRxOut.linkDown, pgpRxLinkError => pgpRxOut.linkError, diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxCell.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxCell.vhd index dab3283dac..a3ed41b274 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxCell.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxCell.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxPhy.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxPhy.vhd index 259d88450d..c4273b1535 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxPhy.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcRxPhy.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTx.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTx.vhd index 8a3d47a04b..146bdf9235 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTx.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTx.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxCell.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxCell.vhd index 26d1706f3e..032224fa81 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxCell.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxCell.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxPhy.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxPhy.vhd index 8b2fe22b4f..9978c308f7 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxPhy.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxPhy.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxSched.vhd b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxSched.vhd index a57aee2bd9..48ae3c84f0 100644 --- a/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxSched.vhd +++ b/protocols/pgp/pgp2fc/core/rtl/Pgp2fcTxSched.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/tb/Pgp2fcLane_tb.vhd b/protocols/pgp/pgp2fc/core/tb/Pgp2fcLane_tb.vhd index e849f5ce36..cb21078238 100644 --- a/protocols/pgp/pgp2fc/core/tb/Pgp2fcLane_tb.vhd +++ b/protocols/pgp/pgp2fc/core/tb/Pgp2fcLane_tb.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/core/tb/RoguePgp2fcSim.vhd b/protocols/pgp/pgp2fc/core/tb/RoguePgp2fcSim.vhd index c6902b21d6..9fd38e9f62 100644 --- a/protocols/pgp/pgp2fc/core/tb/RoguePgp2fcSim.vhd +++ b/protocols/pgp/pgp2fc/core/tb/RoguePgp2fcSim.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2fc: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.dcp b/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.dcp index 94986d2380..6689d44e94 100644 --- a/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.dcp +++ b/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.dcp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22e243c27bc43679a281ba0094d67ec10d60a8ecc38d454d6dcbe3ba5d445ea0 -size 313652 +oid sha256:b6e9de34d1bb58787665959d24cd27cdcaa10978d81a6ab105c347d3f083a25a +size 268308 diff --git a/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.xci b/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.xci index 96304cc60d..786ad0a031 100644 --- a/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.xci +++ b/protocols/pgp/pgp2fc/gthUltraScale+/ip/Pgp2fcGthCore.xci @@ -3,7 +3,7 @@ "ip_inst": { "xci_name": "Pgp2fcGthCore", "component_reference": "xilinx.com:ip:gtwizard_ultrascale:1.7", - "ip_revision": "16", + "ip_revision": "18", "gen_directory": "../../../../zCCM_kria_project.gen/sources_1/ip/Pgp2fcGthCore", "parameters": { "component_parameters": { @@ -23,32 +23,32 @@ "INTERNAL_NUM_COMMONS_EXAMPLE": [ { "value": "0", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ], "INTERNAL_TX_USRCLK_FREQUENCY": [ { "value": "185.7142850", "resolve_type": "generated", "format": "float", "enabled": false, "usage": "all" } ], "INTERNAL_RX_USRCLK_FREQUENCY": [ { "value": "185.7142850", "resolve_type": "generated", "format": "float", "enabled": false, "usage": "all" } ], - "RX_PPM_OFFSET": [ { "value": "200", "resolve_type": "user", "format": "long", "usage": "all" } ], + "RX_PPM_OFFSET": [ { "value": "200", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], "OOB_ENABLE": [ { "value": "false", "resolve_type": "user", "format": "bool", "enabled": false, "usage": "all" } ], "RX_SSC_PPM": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "all" } ], - "INS_LOSS_NYQ": [ { "value": "14", "resolve_type": "user", "format": "float", "usage": "all" } ], + "INS_LOSS_NYQ": [ { "value": "14", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], "PCIE_CORECLK_FREQ": [ { "value": "250", "resolve_type": "user", "format": "long", "usage": "all" } ], "PCIE_USERCLK_FREQ": [ { "value": "250", "resolve_type": "user", "format": "float", "usage": "all" } ], "TX_LINE_RATE": [ { "value": "3.7142857", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], - "TX_PLL_TYPE": [ { "value": "CPLL", "resolve_type": "user", "usage": "all" } ], + "TX_PLL_TYPE": [ { "value": "CPLL", "value_src": "user", "resolve_type": "user", "usage": "all" } ], "TX_REFCLK_FREQUENCY": [ { "value": "185.714285", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], - "TX_DATA_ENCODING": [ { "value": "8B10B", "resolve_type": "user", "usage": "all" } ], - "TX_USER_DATA_WIDTH": [ { "value": "16", "resolve_type": "user", "format": "long", "usage": "all" } ], - "TX_INT_DATA_WIDTH": [ { "value": "20", "resolve_type": "user", "format": "long", "usage": "all" } ], + "TX_DATA_ENCODING": [ { "value": "8B10B", "value_src": "user", "resolve_type": "user", "usage": "all" } ], + "TX_USER_DATA_WIDTH": [ { "value": "16", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], + "TX_INT_DATA_WIDTH": [ { "value": "20", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], "TX_BUFFER_MODE": [ { "value": "0", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], "TX_QPLL_FRACN_NUMERATOR": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "all" } ], - "TX_OUTCLK_SOURCE": [ { "value": "TXPLLREFCLK_DIV1", "resolve_type": "user", "usage": "all" } ], + "TX_OUTCLK_SOURCE": [ { "value": "TXPLLREFCLK_DIV1", "value_src": "user", "resolve_type": "user", "usage": "all" } ], "TX_DIFF_SWING_EMPH_MODE": [ { "value": "CUSTOM", "resolve_type": "user", "usage": "all" } ], "RX_LINE_RATE": [ { "value": "3.7142857", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], - "RX_PLL_TYPE": [ { "value": "CPLL", "resolve_type": "user", "usage": "all" } ], + "RX_PLL_TYPE": [ { "value": "CPLL", "value_src": "user", "resolve_type": "user", "usage": "all" } ], "RX_REFCLK_FREQUENCY": [ { "value": "185.714285", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], - "RX_DATA_DECODING": [ { "value": "8B10B", "resolve_type": "user", "usage": "all" } ], - "RX_USER_DATA_WIDTH": [ { "value": "16", "resolve_type": "user", "format": "long", "usage": "all" } ], - "RX_INT_DATA_WIDTH": [ { "value": "20", "resolve_type": "user", "format": "long", "usage": "all" } ], + "RX_DATA_DECODING": [ { "value": "8B10B", "value_src": "user", "resolve_type": "user", "usage": "all" } ], + "RX_USER_DATA_WIDTH": [ { "value": "16", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], + "RX_INT_DATA_WIDTH": [ { "value": "20", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], "RX_BUFFER_MODE": [ { "value": "0", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], "RX_QPLL_FRACN_NUMERATOR": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "all" } ], "RX_EQ_MODE": [ { "value": "AUTO", "resolve_type": "user", "usage": "all" } ], - "RX_JTOL_FC": [ { "value": "2.2281258", "resolve_type": "user", "format": "float", "usage": "all" } ], + "RX_JTOL_FC": [ { "value": "2.2281258", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], "RX_JTOL_LF_SLOPE": [ { "value": "-20", "resolve_type": "user", "format": "long", "usage": "all" } ], "RX_OUTCLK_SOURCE": [ { "value": "RXOUTCLKPMA", "resolve_type": "user", "usage": "all" } ], "SIM_CPLL_CAL_BYPASS": [ { "value": "1", "resolve_type": "user", "format": "long", "usage": "all" } ], @@ -62,15 +62,15 @@ "RX_BUFFER_RESET_ON_RATE_CHANGE": [ { "value": "ENABLE", "resolve_type": "user", "enabled": false, "usage": "all" } ], "TX_BUFFER_RESET_ON_RATE_CHANGE": [ { "value": "ENABLE", "resolve_type": "user", "enabled": false, "usage": "all" } ], "RESET_SEQUENCE_INTERVAL": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "all" } ], - "RX_COMMA_PRESET": [ { "value": "K28.5", "resolve_type": "user", "usage": "all" } ], + "RX_COMMA_PRESET": [ { "value": "K28.5", "value_src": "user", "resolve_type": "user", "usage": "all" } ], "RX_COMMA_VALID_ONLY": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "all" } ], - "RX_COMMA_P_ENABLE": [ { "value": "true", "resolve_type": "user", "format": "bool", "usage": "all" } ], - "RX_COMMA_M_ENABLE": [ { "value": "true", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "RX_COMMA_P_ENABLE": [ { "value": "true", "value_src": "user", "resolve_type": "user", "format": "bool", "usage": "all" } ], + "RX_COMMA_M_ENABLE": [ { "value": "true", "value_src": "user", "resolve_type": "user", "format": "bool", "usage": "all" } ], "RX_COMMA_DOUBLE_ENABLE": [ { "value": "false", "resolve_type": "user", "format": "bool", "usage": "all" } ], "RX_COMMA_P_VAL": [ { "value": "0101111100", "resolve_type": "user", "usage": "all" } ], "RX_COMMA_M_VAL": [ { "value": "1010000011", "resolve_type": "user", "usage": "all" } ], - "RX_COMMA_MASK": [ { "value": "1111111111", "resolve_type": "user", "usage": "all" } ], - "RX_COMMA_ALIGN_WORD": [ { "value": "2", "resolve_type": "user", "format": "long", "usage": "all" } ], + "RX_COMMA_MASK": [ { "value": "1111111111", "value_src": "user", "resolve_type": "user", "usage": "all" } ], + "RX_COMMA_ALIGN_WORD": [ { "value": "2", "value_src": "user", "resolve_type": "user", "format": "long", "usage": "all" } ], "RX_COMMA_SHOW_REALIGN_ENABLE": [ { "value": "true", "resolve_type": "user", "format": "bool", "usage": "all" } ], "RX_SLIDE_MODE": [ { "value": "OFF", "resolve_type": "user", "usage": "all" } ], "RX_CB_NUM_SEQ": [ { "value": "0", "resolve_type": "user", "format": "long", "enabled": false, "usage": "all" } ], @@ -168,7 +168,7 @@ "LOCATE_USER_DATA_WIDTH_SIZING": [ { "value": "CORE", "resolve_type": "user", "usage": "all" } ], "ORGANIZE_PORTS_BY": [ { "value": "NAME", "resolve_type": "user", "enabled": false, "usage": "all" } ], "PRESET": [ { "value": "GTH-Aurora_8B10B", "value_src": "user", "resolve_type": "user", "usage": "all" } ], - "INTERNAL_PRESET": [ { "value": "Aurora_8B10B", "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": "25", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ], "INTERNAL_CHANNEL_SITES_UPDATED": [ { "value": "7", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ], @@ -180,10 +180,10 @@ "SECONDARY_QPLL_FRACN_NUMERATOR": [ { "value": "0", "resolve_type": "user", "format": "long", "enabled": false, "usage": "all" } ], "SECONDARY_QPLL_REFCLK_FREQUENCY": [ { "value": "257.8125", "resolve_type": "user", "format": "float", "enabled": false, "usage": "all" } ], "TXPROGDIV_FREQ_ENABLE": [ { "value": "false", "resolve_type": "user", "format": "bool", "enabled": false, "usage": "all" } ], - "TXPROGDIV_FREQ_SOURCE": [ { "value": "CPLL", "resolve_type": "user", "enabled": false, "usage": "all" } ], - "TXPROGDIV_FREQ_VAL": [ { "value": "185.714285", "resolve_type": "user", "format": "float", "enabled": false, "usage": "all" } ], + "TXPROGDIV_FREQ_SOURCE": [ { "value": "CPLL", "value_src": "user", "resolve_type": "user", "enabled": false, "usage": "all" } ], + "TXPROGDIV_FREQ_VAL": [ { "value": "185.714285", "value_src": "user", "resolve_type": "user", "format": "float", "enabled": false, "usage": "all" } ], "SATA_TX_BURST_LEN": [ { "value": "15", "resolve_type": "user", "format": "long", "usage": "all" } ], - "FREERUN_FREQUENCY": [ { "value": "125", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], + "FREERUN_FREQUENCY": [ { "value": "92.857", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], "INCLUDE_CPLL_CAL": [ { "value": "2", "resolve_type": "user", "format": "long", "usage": "all" } ], "USER_GTPOWERGOOD_DELAY_EN": [ { "value": "1", "resolve_type": "user", "format": "long", "usage": "all" } ], "DISABLE_LOC_XDC": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "all" } ], @@ -734,7 +734,7 @@ "C_COMMON_SCALING_FACTOR": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_CPLL_VCO_FREQUENCY": [ { "value": "3714.2857", "resolve_type": "generated", "format": "float", "usage": "all" } ], "C_FORCE_COMMONS": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], - "C_FREERUN_FREQUENCY": [ { "value": "125", "resolve_type": "generated", "format": "float", "usage": "all" } ], + "C_FREERUN_FREQUENCY": [ { "value": "92.857", "resolve_type": "generated", "format": "float", "usage": "all" } ], "C_GT_TYPE": [ { "value": "2", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_GT_REV": [ { "value": "57", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_INCLUDE_CPLL_CAL": [ { "value": "2", "resolve_type": "generated", "format": "long", "usage": "all" } ], @@ -768,9 +768,9 @@ "C_RX_CC_PERIODICITY": [ { "value": "5000", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_RX_CC_VAL": [ { "value": "\"00000000000000000000000000000000000000000000000000000000000000000000000000000000\"", "resolve_type": "generated", "format": "bitString", "usage": "all" } ], "C_RX_COMMA_M_ENABLE": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], - "C_RX_COMMA_M_VAL": [ { "value": "\"1001111100\"", "resolve_type": "generated", "format": "bitString", "usage": "all" } ], + "C_RX_COMMA_M_VAL": [ { "value": "\"1010000011\"", "resolve_type": "generated", "format": "bitString", "usage": "all" } ], "C_RX_COMMA_P_ENABLE": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], - "C_RX_COMMA_P_VAL": [ { "value": "\"0110000011\"", "resolve_type": "generated", "format": "bitString", "usage": "all" } ], + "C_RX_COMMA_P_VAL": [ { "value": "\"0101111100\"", "resolve_type": "generated", "format": "bitString", "usage": "all" } ], "C_RX_DATA_DECODING": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_RX_ENABLE": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_RX_INT_DATA_WIDTH": [ { "value": "20", "resolve_type": "generated", "format": "long", "usage": "all" } ], @@ -823,12 +823,12 @@ }, "runtime_parameters": { "IPCONTEXT": [ { "value": "IP_Flow" } ], - "IPREVISION": [ { "value": "16" } ], + "IPREVISION": [ { "value": "18" } ], "MANAGED": [ { "value": "TRUE" } ], "OUTPUTDIR": [ { "value": "../../../../zCCM_kria_project.gen/sources_1/ip/Pgp2fcGthCore" } ], "SELECTEDSIMMODEL": [ { "value": "" } ], "SHAREDDIR": [ { "value": "." } ], - "SWVERSION": [ { "value": "2023.1" } ], + "SWVERSION": [ { "value": "2024.1" } ], "SYNTHESISFLOW": [ { "value": "OUT_OF_CONTEXT" } ] } }, @@ -856,33 +856,33 @@ "gtwiz_reset_rx_done_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "gtwiz_userdata_tx_in": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0" } ], "gtwiz_userdata_rx_out": [ { "direction": "out", "size_left": "15", "size_right": "0", "driver_value": "0" } ], - "drpaddr_in": [ { "direction": "in", "size_left": "9", "size_right": "0", "driver_value": "0x00000" } ], - "drpclk_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "drpdi_in": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0x00000000" } ], - "drpen_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "drpwe_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "gtgrefclk_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], + "drpaddr_in": [ { "direction": "in", "size_left": "9", "size_right": "0", "driver_value": "0" } ], + "drpclk_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "drpdi_in": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0" } ], + "drpen_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "drpwe_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "gtgrefclk_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "gthrxn_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "gthrxp_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], - "gtrefclk0_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "loopback_in": [ { "direction": "in", "size_left": "2", "size_right": "0", "driver_value": "0x00" } ], - "rx8b10ben_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "rxcdrreset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "rxcommadeten_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "rxmcommaalignen_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "rxpcommaalignen_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "rxpcsreset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "rxpmareset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "rxpolarity_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], + "gtrefclk0_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "loopback_in": [ { "direction": "in", "size_left": "2", "size_right": "0", "driver_value": "0" } ], + "rx8b10ben_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "rxcdrreset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "rxcommadeten_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "rxmcommaalignen_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "rxpcommaalignen_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "rxpcsreset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "rxpmareset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "rxpolarity_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "rxusrclk_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "rxusrclk2_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], - "tx8b10ben_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "txctrl0_in": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0x0000" } ], - "txctrl1_in": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0x0000" } ], - "txctrl2_in": [ { "direction": "in", "size_left": "7", "size_right": "0", "driver_value": "0x00" } ], - "txpcsreset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "txpmareset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], - "txpolarity_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0x0" } ], + "tx8b10ben_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "txctrl0_in": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0" } ], + "txctrl1_in": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0" } ], + "txctrl2_in": [ { "direction": "in", "size_left": "7", "size_right": "0", "driver_value": "0" } ], + "txpcsreset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "txpmareset_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], + "txpolarity_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "txusrclk_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "txusrclk2_in": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ], "cpllfbclklost_out": [ { "direction": "out", "size_left": "0", "size_right": "0", "driver_value": "0" } ], @@ -913,4 +913,4 @@ } } } -} +} \ No newline at end of file diff --git a/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthCoreWrapper.vhd b/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthCoreWrapper.vhd index 32dc6baca1..c716a23570 100644 --- a/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthCoreWrapper.vhd +++ b/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthCoreWrapper.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- @@ -61,7 +61,6 @@ entity Pgp2fcGthCoreWrapper is rxDecErr : out slv(1 downto 0); rxPolarity : in sl; rxOutClk : out sl; - rxRecClk : out sl; -- raw recovered clock -- Tx Ports txReset : in sl; @@ -159,7 +158,6 @@ architecture mapping of Pgp2fcGthCoreWrapper 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); @@ -328,7 +326,6 @@ 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) => rxPmaResetDoneInt, rxresetdone_out(0) => rxResetDone, diff --git a/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthUltra.vhd b/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthUltra.vhd index b282493271..0e909ac6e7 100644 --- a/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthUltra.vhd +++ b/protocols/pgp/pgp2fc/gthUltraScale+/rtl/Pgp2fcGthUltra.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- @@ -52,7 +52,6 @@ entity Pgp2fcGthUltra is gtRefClk : in sl; gtFabricRefClk : in sl; gtUserRefClk : in sl; - rxRecClk : out sl; -- Gt Serial IO pgpGtTxP : out sl; pgpGtTxN : out sl; @@ -127,7 +126,7 @@ begin rstOut => resetGtSync); -- [out] --gtHardReset <= resetGtSync or stableRst; - gtHardReset <= stableRst; + gtHardReset <= stableRst; U_RstSync_4 : entity surf.SynchronizerOneShot generic map ( @@ -218,7 +217,6 @@ begin rxDecErr => phyRxLaneIn.decErr, rxPolarity => RX_POLARITY_G, rxOutClk => pgpRxOutClk, - rxRecClk => rxRecClk, txReset => gtTxUserReset, txUsrClk => pgpTxClk, txUsrClkActive => pgpTxMmcmLocked, diff --git a/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7.vhd b/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7.vhd index 1af2dd90c3..1add05be55 100644 --- a/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7.vhd +++ b/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7Wrapper.vhd b/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7Wrapper.vhd index e22e023cbc..559972b884 100644 --- a/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7Wrapper.vhd +++ b/protocols/pgp/pgp2fc/gtp7/rtl/Pgp2fcGtp7Wrapper.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- diff --git a/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.dcp b/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.dcp index a75891e3e3..f4ab0c0738 100644 --- a/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.dcp +++ b/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.dcp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab34660c08b2688470649a056d02a2fe1722f760d8d90f5a669d04a267829fa2 -size 313219 +oid sha256:316338e899e3d38e2d24a9c6003546b683f0799546dd30426e942d97d4ff0ad3 +size 269500 diff --git a/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.xci b/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.xci index 7565876947..8c6c4966ee 100644 --- a/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.xci +++ b/protocols/pgp/pgp2fc/gtyUltraScale+/ip/Pgp2fcGtyCore.xci @@ -3,7 +3,7 @@ "ip_inst": { "xci_name": "Pgp2fcGtyCore", "component_reference": "xilinx.com:ip:gtwizard_ultrascale:1.7", - "ip_revision": "16", + "ip_revision": "18", "gen_directory": "../../../../FcHubBittware_project.gen/sources_1/ip/Pgp2fcGtyCore", "parameters": { "component_parameters": { @@ -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 rxrecclkout_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 rxresetdone_out rxsyncdone_out txresetdone_out", "value_src": "user", "resolve_type": "user", "usage": "all" } ], "RX_REFCLK_SOURCE": [ { "value": "", "value_src": "user", "resolve_type": "user", "usage": "all" } ], "TX_REFCLK_SOURCE": [ { "value": "", "value_src": "user", "resolve_type": "user", "usage": "all" } ], "RX_RECCLK_OUTPUT": [ { "value": "", "resolve_type": "user", "usage": "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": "28", "resolve_type": "generated", "format": "long", "enabled": false, "usage": "all" } ], + "INTERNAL_PORT_ENABLEMENT_UPDATED": [ { "value": "25", "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" } ], @@ -183,7 +183,7 @@ "TXPROGDIV_FREQ_SOURCE": [ { "value": "CPLL", "value_src": "user", "resolve_type": "user", "enabled": false, "usage": "all" } ], "TXPROGDIV_FREQ_VAL": [ { "value": "185.714285", "value_src": "user", "resolve_type": "user", "format": "float", "enabled": false, "usage": "all" } ], "SATA_TX_BURST_LEN": [ { "value": "15", "resolve_type": "user", "format": "long", "usage": "all" } ], - "FREERUN_FREQUENCY": [ { "value": "125", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], + "FREERUN_FREQUENCY": [ { "value": "92.857", "value_src": "user", "resolve_type": "user", "format": "float", "usage": "all" } ], "INCLUDE_CPLL_CAL": [ { "value": "2", "resolve_type": "user", "format": "long", "usage": "all" } ], "USER_GTPOWERGOOD_DELAY_EN": [ { "value": "1", "resolve_type": "user", "format": "long", "usage": "all" } ], "DISABLE_LOC_XDC": [ { "value": "0", "resolve_type": "user", "format": "long", "usage": "all" } ], @@ -734,7 +734,7 @@ "C_COMMON_SCALING_FACTOR": [ { "value": "1", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_CPLL_VCO_FREQUENCY": [ { "value": "3714.2857", "resolve_type": "generated", "format": "float", "usage": "all" } ], "C_FORCE_COMMONS": [ { "value": "0", "resolve_type": "generated", "format": "long", "usage": "all" } ], - "C_FREERUN_FREQUENCY": [ { "value": "125", "resolve_type": "generated", "format": "float", "usage": "all" } ], + "C_FREERUN_FREQUENCY": [ { "value": "92.857", "resolve_type": "generated", "format": "float", "usage": "all" } ], "C_GT_TYPE": [ { "value": "3", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_GT_REV": [ { "value": "67", "resolve_type": "generated", "format": "long", "usage": "all" } ], "C_INCLUDE_CPLL_CAL": [ { "value": "2", "resolve_type": "generated", "format": "long", "usage": "all" } ], @@ -823,12 +823,12 @@ }, "runtime_parameters": { "IPCONTEXT": [ { "value": "IP_Flow" } ], - "IPREVISION": [ { "value": "16" } ], + "IPREVISION": [ { "value": "18" } ], "MANAGED": [ { "value": "TRUE" } ], "OUTPUTDIR": [ { "value": "../../../../FcHubBittware_project.gen/sources_1/ip/Pgp2fcGtyCore" } ], "SELECTEDSIMMODEL": [ { "value": "" } ], "SHAREDDIR": [ { "value": "." } ], - "SWVERSION": [ { "value": "2023.1" } ], + "SWVERSION": [ { "value": "2024.1" } ], "SYNTHESISFLOW": [ { "value": "OUT_OF_CONTEXT" } ] } }, @@ -907,7 +907,6 @@ "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" } ], diff --git a/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyCoreWrapper.vhd b/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyCoreWrapper.vhd index ccd6af52cb..a9d1c4953a 100644 --- a/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyCoreWrapper.vhd +++ b/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyCoreWrapper.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- @@ -50,6 +50,7 @@ entity Pgp2fcGtyCoreWrapper is gtTxN : out sl; -- Rx ports + phyRxReady : out sl; rxReset : in sl; rxUsrClkActive : in sl; rxResetDone : out sl; @@ -61,7 +62,6 @@ 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; @@ -159,7 +159,6 @@ 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); @@ -212,7 +211,8 @@ architecture mapping of Pgp2fcGtyCoreWrapper is signal rxPmaReset : sl := '0'; signal txPcsReset : sl := '0'; signal txPmaReset : sl := '0'; - signal rxPmaResetDoneInt : sl := '0'; + signal rxPmaResetDoneInt : sl := '0'; + signal rxResetDoneInt : sl := '0'; signal txPmaResetDone : sl := '0'; signal rxByteIsAligned : sl := '0'; signal rxByteReAlign : sl := '0'; @@ -257,7 +257,7 @@ begin gtwiz_userclk_tx_active_in(0) => txUsrActive, gtwiz_userclk_rx_active_in(0) => rxUsrActive, gtwiz_reset_clk_freerun_in(0) => stableClk, - gtwiz_reset_all_in(0) => '0', + gtwiz_reset_all_in(0) => stableRst, gtwiz_buffbypass_tx_reset_in(0) => buffBypassTxReset, gtwiz_buffbypass_tx_start_user_in(0) => buffBypassTxStart, gtwiz_buffbypass_tx_done_out(0) => buffBypassTxDone, @@ -328,10 +328,9 @@ 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) => rxPmaResetDoneInt, - rxresetdone_out(0) => rxResetDone, + rxresetdone_out(0) => rxResetDoneInt, rxsyncdone_out(0) => rxSyncDone, txpmaresetdone_out(0) => txPmaResetDone, txresetdone_out(0) => txResetDone); @@ -443,7 +442,10 @@ begin txUsrActive <= txUsrClkActive and txPmaResetDone; rxUsrActive <= rxUsrClkActive and rxPmaResetDoneInt; - rxPmaResetDone <= rxPmaResetDoneInt; + rxPmaResetDone <= rxPmaResetDoneInt; + + rxResetDone <= rxResetDoneInt and buffBypassRxDone; + phyRxReady <= rxResetDoneInt; cPllRefClkSel <= ite(SEL_FABRIC_REFCLK_G, "111", "001"); diff --git a/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyUltra.vhd b/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyUltra.vhd index a2b6decf11..5697ae7a59 100644 --- a/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyUltra.vhd +++ b/protocols/pgp/pgp2fc/gtyUltraScale+/rtl/Pgp2fcGtyUltra.vhd @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Title : PGPv2b: https://confluence.slac.stanford.edu/x/q86fD +-- Title : PGP2fc: https://confluence.slac.stanford.edu/x/JhItHw ------------------------------------------------------------------------------- -- Company : SLAC National Accelerator Laboratory ------------------------------------------------------------------------------- @@ -52,7 +52,6 @@ entity Pgp2fcGtyUltra is gtRefClk : in sl; gtFabricRefClk : in sl; gtUserRefClk : in sl; - rxRecClk : out sl; -- Gt Serial IO pgpGtTxP : out sl; pgpGtTxN : out sl; @@ -115,7 +114,6 @@ architecture mapping of Pgp2fcGtyUltra is begin pgpTxResetDone <= phyTxReady; - pgpRxResetDone <= phyRxReady; U_RstSync_1 : entity surf.PwrUpRst generic map ( @@ -126,8 +124,7 @@ begin clk => stableClk, -- [in] rstOut => resetGtSync); -- [out] - --gtHardReset <= resetGtSync or stableRst; - gtHardReset <= stableRst; + gtHardReset <= resetGtSync or stableRst; U_RstSync_4 : entity surf.SynchronizerOneShot generic map ( @@ -178,6 +175,7 @@ begin phyTxReady => phyTxReady, pgpRxClk => pgpRxClk, pgpRxClkRst => pgpRxReset, + pgpRxPhyRst => gtRxUserReset, pgpRxIn => pgpRxIn, pgpRxOut => pgpRxOut, pgpRxMasters => pgpRxMasters, @@ -207,9 +205,10 @@ begin gtRxN => pgpGtRxN, gtTxP => pgpGtTxP, gtTxN => pgpGtTxN, + phyRxReady => phyRxReady, rxReset => gtRxUserReset, rxUsrClkActive => pgpRxMmcmLocked, - rxResetDone => phyRxReady, + rxResetDone => pgpRxResetDone, rxPmaResetDone => pgpRxPmaResetDone, rxUsrClk => pgpRxClk, rxData => phyRxLaneIn.data, @@ -218,7 +217,6 @@ begin rxDecErr => phyRxLaneIn.decErr, rxPolarity => RX_POLARITY_G, rxOutClk => pgpRxOutClk, - rxRecClk => rxRecClk, txReset => gtTxUserReset, txUsrClk => pgpTxClk, txUsrClkActive => pgpTxMmcmLocked, diff --git a/python/surf/axi/_AxiVersion.py b/python/surf/axi/_AxiVersion.py index 4b4e788c4d..79f2f11379 100644 --- a/python/surf/axi/_AxiVersion.py +++ b/python/surf/axi/_AxiVersion.py @@ -96,7 +96,6 @@ def parseUpTime(var,read): base = pr.UInt, mode = 'RW', hidden = True, - groups = 'NoConfig' )) self.add(pr.RemoteCommand( @@ -137,7 +136,6 @@ def FpgaReloadAtAddress(arg): bitOffset = 0x00, base = pr.UInt, mode = 'RW', - groups = 'NoConfig', )) @self.command(description = 'Toggle UserReset')