1 -------------------------------------------------------------------------------     2 -- File       : Pgp2bGth7VarLatWrapper.vhd     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2015-04-01     5 -- Last update: 2016-08-24     6 -------------------------------------------------------------------------------     7 -- Description: Example PGP 3.125 Gbps front end wrapper     8 -- Note: Default generic configurations are for the Diligent NetFPGA-SUME development board     9 -- Note: Default uses FPGA fabric clock = 156.25 MHz reference clock    10 -------------------------------------------------------------------------------    11 -- This file is part of 'SLAC Firmware Standard Library'.    12 -- It is subject to the license terms in the LICENSE.txt file found in the     13 -- top-level directory of this distribution and at:     14 --    https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.     15 -- No part of 'SLAC Firmware Standard Library', including this file,     16 -- may be copied, modified, propagated, or distributed except according to     17 -- the terms contained in the LICENSE.txt file.    18 -------------------------------------------------------------------------------    21 use ieee.std_logic_1164.
all;
    29 use unisim.vcomponents.
all;
    32  --! @ingroup protocols_pgp_pgp2b_gth7    36       -- CPLL Configurations (Defaults: pgpClk = 156.25 MHz Configuration)    40       -- MGT Configurations (Defaults: pgpClk = 156.25 MHz Configuration)    87 end Pgp2bGth7VarLatWrapper;
    96          -- CPLL Configurations   103          -- MGT Configurations   151          -- Frame TX Interface   154          -- Frame RX Interface   161          -- AXI-Lite Interface  RXCDR_CFG_Gbit_vector  := x"0002007FE1000C2200018"
 
CPLL_REFCLK_SEL_Gbit_vector  :=   "001"
 
out pgpRxMastersAxiStreamMasterArray( 3 downto  0)  
 
array(natural range <> ) of AxiStreamSlaveType   AxiStreamSlaveArray
 
out axilReadSlaveAxiLiteReadSlaveType  
 
AXI_ERROR_RESP_Gslv( 1 downto  0)  :=   AXI_RESP_DECERR_C
 
out pgpTxSlavesAxiStreamSlaveArray( 3 downto  0)  
 
out pgpRxMastersAxiStreamMasterArray( 3 downto  0)  
 
in axilWriteMasterAxiLiteWriteMasterType  :=   AXI_LITE_WRITE_MASTER_INIT_C
 
in txPostCursorslv( 4 downto  0)  :=( others => '0')
 
in pgpRxCtrlAxiStreamCtrlArray( 3 downto  0)  
 
out axilWriteSlaveAxiLiteWriteSlaveType  
 
VC_INTERLEAVE_Ginteger  := 0
 
RX_ENABLE_Gboolean  :=   true
 
VC_INTERLEAVE_Ginteger  := 0
 
CPLL_REFCLK_DIV_Gnatural  := 1
 
out axilReadSlaveAxiLiteReadSlaveType  
 
in axilWriteMasterAxiLiteWriteMasterType  :=   AXI_LITE_WRITE_MASTER_INIT_C
 
out pgpRxOutPgp2bRxOutType  
 
TX_CLK25_DIV_Ginteger  := 7
 
RX_OS_CFG_Gbit_vector  :=   "0000010000000"
 
out pgpRxOutPgp2bRxOutType  
 
in pgpTxMastersAxiStreamMasterArray( 3 downto  0)  
 
in txDiffCtrlslv( 3 downto  0)  :=   "1000"
 
RX_OS_CFG_Gbit_vector  :=   "0000010000000"
 
in txDiffCtrlslv( 3 downto  0)  :=   "1000"
 
PAYLOAD_CNT_TOP_Ginteger  := 7
 
PAYLOAD_CNT_TOP_Ginteger  := 7
 
RXCDR_CFG_Gbit_vector  := x"0002007FE1000C2200018"
 
in pgpRxCtrlAxiStreamCtrlArray( 3 downto  0)  
 
in pgpTxMastersAxiStreamMasterArray( 3 downto  0)  :=( others =>   AXI_STREAM_MASTER_INIT_C)
 
slv( 1 downto  0)  :=   "11" AXI_RESP_DECERR_C
 
NUM_VC_EN_Ginteger   range  1 to  4:= 4
 
out axilWriteSlaveAxiLiteWriteSlaveType  
 
CPLL_FBDIV_45_Gnatural  := 5
 
in axilReadMasterAxiLiteReadMasterType  :=   AXI_LITE_READ_MASTER_INIT_C
 
TX_CLK25_DIV_Gnatural  := 7
 
array(natural range <> ) of AxiStreamCtrlType   AxiStreamCtrlArray
 
out pgpTxSlavesAxiStreamSlaveArray( 3 downto  0)  
 
array(natural range <> ) of AxiStreamMasterType   AxiStreamMasterArray
 
AxiLiteReadMasterType  :=(araddr  =>( others => '0'),arprot  =>( others => '0'),arvalid  => '0',rready  => '1') AXI_LITE_READ_MASTER_INIT_C
 
TX_ENABLE_Gboolean  :=   true
 
NUM_VC_EN_Ginteger   range  1 to  4:= 4
 
out pgpTxOutPgp2bTxOutType  
 
AxiLiteWriteMasterType  :=(awaddr  =>( others => '0'),awprot  =>( others => '0'),awvalid  => '0',wdata  =>( others => '0'),wstrb  =>( others => '1'),wvalid  => '0',bready  => '1') AXI_LITE_WRITE_MASTER_INIT_C
 
in axilReadMasterAxiLiteReadMasterType  :=   AXI_LITE_READ_MASTER_INIT_C
 
in txPreCursorslv( 4 downto  0)  :=( others => '0')
 
in txPostCursorslv( 4 downto  0)  :=( others => '0')
 
RX_CLK25_DIV_Ginteger  := 7
 
RX_CLK25_DIV_Gnatural  := 7
 
AXI_ERROR_RESP_Gslv( 1 downto  0)  :=   AXI_RESP_DECERR_C
 
CPLL_REFCLK_DIV_Ginteger  := 1
 
RX_ENABLE_Gboolean  :=   true
 
CPLL_FBDIV_45_Ginteger  := 5
 
TX_ENABLE_Gboolean  :=   true
 
in txPreCursorslv( 4 downto  0)  :=( others => '0')
 
out pgpTxOutPgp2bTxOutType