1 ------------------------------------------------------------------------------- 2 -- File : AxiI2cQsfpPkg.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2014-10-21 5 -- Last update: 2017-05-02 6 ------------------------------------------------------------------------------- 7 -- Description: AxiI2cQsfp Package File 8 ------------------------------------------------------------------------------- 9 -- This file is part of 'SLAC Firmware Standard Library'. 10 -- It is subject to the license terms in the LICENSE.txt file found in the 11 -- top-level directory of this distribution and at: 12 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 13 -- No part of 'SLAC Firmware Standard Library', including this file, 14 -- may be copied, modified, propagated, or distributed except according to 15 -- the terms contained in the LICENSE.txt file. 16 ------------------------------------------------------------------------------- 19 use ieee.std_logic_1164.
all;
25 --! @ingroup devices_transceivers_qsfp 29 -- ModPrsL is pulled up to Vcc_Host on the host board and 30 -- grounded in the module. The ModPrsL is asserted "Low" 31 -- when module is inserted into the host connector, and 32 -- deasserted "High" when the module is physically absent 33 -- from the host connector. 35 -- IntL is an output signal. When "Low", it indicates a possible module operational fault or a status critical to the 36 -- host system. The host identifies the source of the interrupt using the 2-wire serial interface. The IntL signal is an 37 -- open collector output and must be pulled to host supply 38 -- voltage on the host board. A corresponding soft status 39 -- IntL signal is also available in the transceiver memory 40 -- page 0 address 2 bit 1. 49 scl : sl;
-- 2-wire serial interface clock (SCL) 50 sda : sl;
-- 2-wire serial interface data (SDA) 60 -- The ModSelL is an input signal. When held low by the 61 -- host, the module responds to 2-wire serial communication commands. The ModSelL allows the use of multiple 62 -- QSFP+ modules on a single 2-wire interface bus. When 63 -- the ModSelL is "High", the module will not respond to or 64 -- acknowledge any 2-wire interface communication from 65 -- the host. ModSelL signal input node is biased to the "High" 66 -- state in the module. In order to avoid conflicts, the host 67 -- system shall not attempt 2-wire interface communications within the ModSelL de-assert time after any QSFP+ 68 -- module is deselected. Similarly, the host must wait at least 69 -- for the period of the ModSelL assert time before communicating with the newly selected module. The assertion and 70 -- de-assertion periods of different modules may overlap as 71 -- long as the above timing requirements are met. 73 -- The ResetL signal is pulled to Vcc in the QSFP+ module. 74 -- A low level on the ResetL signal for longer than the 75 -- minimum pulse length (t_Reset_init) initiates a complete 76 -- module reset, returning all user module settings to their 77 -- default state. Module Reset Assert Time (t_init) starts on 78 -- the rising edge after the low level on the ResetL pin is 79 -- released. During the execution of a reset (t_init) the host 80 -- shall disregard all status bits until the module indicates a 81 -- completion of the reset interrupt. The module indicates 82 -- this by posting an IntL signal with the Data_Not_Ready bit 83 -- negated. Note that on power up (including hot insertion) 84 -- the module will post this completion of reset interrupt 85 -- without requiring a reset. 87 -- Low power mode. When held high by host, the module 88 -- is held at low power mode. When held low by host, the 89 -- module operates in the normal mode. For class 1 power 90 -- level modules (1.5W), low power mode has no effect.
array(natural range <> ) of AxiI2cQsfpOutType AxiI2cQsfpOutArray
array(natural range <> ) of AxiI2cQsfpInOutType AxiI2cQsfpInOutArray
array(integer range <> ,integer range <> ) of AxiI2cQsfpOutType AxiI2cQsfpOutVectorArray
array(integer range <> ,integer range <> ) of AxiI2cQsfpInOutType AxiI2cQsfpInOutVectorArray
AxiI2cQsfpInType :=( '1', '1') AXI_QSFP_IN_INIT_C
array(integer range <> ,integer range <> ) of AxiI2cQsfpInType AxiI2cQsfpInVectorArray
AxiI2cQsfpStatusType :=( '1', '1') AXI_QSFP_STATUS_INIT_C
array(natural range <> ) of AxiI2cQsfpInType AxiI2cQsfpInArray
AxiI2cQsfpInOutType :=( 'Z', 'Z') AXI_QSFP_IN_OUT_INIT_C
AxiI2cQsfpOutType :=( '1', '1', '0') AXI_QSFP_OUT_INIT_C
AxiI2cQsfpConfigType :=( '1', '1', '0') AXI_QSFP_CONFIG_INIT_C