SURF  1.0
AxiI2cSfpPkg.vhd
Go to the documentation of this file.
1 -------------------------------------------------------------------------------
2 -- File : AxiI2cSfpPkg.vhd
3 -- Company : SLAC National Accelerator Laboratory
4 -- Created : 2014-04-18
5 -- Last update: 2017-05-02
6 -------------------------------------------------------------------------------
7 -- Description: AxiI2cSfp 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 -------------------------------------------------------------------------------
17 
18 library ieee;
19 use ieee.std_logic_1164.all;
20 
21 use work.StdRtlPkg.all;
22 
23 package AxiI2cSfpPkg is
24 --! @file
25  --! @ingroup devices_transceivers_sfp
26 
27  type AxiI2cSfpInType is record
28  rxLoss : sl; -- Loss of Signal - High indicates loss of received optical signal
29  moduleDetL : sl; -- Module Definition 0 (MOD-DEF0) - Grounded in module (module present indicator)
30  txFault : sl; -- Transmitter Fault Indication - High indicates a fault condition
31  end record;
32  type AxiI2cSfpInArray is array (natural range <>) of AxiI2cSfpInType;
33  type AxiI2cSfpInVectorArray is array (integer range<>, integer range<>)of AxiI2cSfpInType;
35  '0',
36  '0',
37  '0');
38 
39  type AxiI2cSfpInOutType is record
40  rateSel : slv(1 downto 0); -- Bit Rate Parametric Optimization
41  scl : sl; -- Module Definition 1 (MOD-DEF1) - Two wire serial ID interface clock line (SCL)
42  sda : sl; -- Module Definition 2 (MOD-DEF2) - Two wire serial ID interface data line (SDA)
43  end record;
44  type AxiI2cSfpInOutArray is array (natural range <>) of AxiI2cSfpInOutType;
45  type AxiI2cSfpInOutVectorArray is array (integer range<>, integer range<>)of AxiI2cSfpInOutType;
47  (others => 'Z'),
48  'Z',
49  'Z');
50 
51  type AxiI2cSfpOutType is record
52  txDisable : sl; -- Transmitter Disable - Module electrical input disables on high or open
53  end record;
54  type AxiI2cSfpOutArray is array (natural range <>) of AxiI2cSfpOutType;
55  type AxiI2cSfpOutVectorArray is array (integer range<>, integer range<>)of AxiI2cSfpOutType;
57 
58  type AxiI2cSfpStatusType is record
59  rxLoss : sl;
60  moduleDetL : sl;
61  txFault : sl;
62  end record;
64  '0',
65  '0',
66  '0');
67 
68  type AxiI2cSfpConfigType is record
69  rateSel : slv(1 downto 0);
70  txDisable : sl;
71  end record;
73  (others => '1'),
74  '0');
75 
76 end package;
AxiI2cSfpOutType :=(txDisable => '0') AXI_SFP_OUT_INIT_C
array(integer range <> ,integer range <> ) of AxiI2cSfpInType AxiI2cSfpInVectorArray
array(natural range <> ) of AxiI2cSfpOutType AxiI2cSfpOutArray
AxiI2cSfpInType :=( '0', '0', '0') AXI_SFP_IN_INIT_C
std_logic sl
Definition: StdRtlPkg.vhd:28
array(natural range <> ) of AxiI2cSfpInOutType AxiI2cSfpInOutArray
AxiI2cSfpConfigType :=(( others => '1'), '0') AXI_SFP_CONFIG_INIT_C
AxiI2cSfpStatusType :=( '0', '0', '0') AXI_SFP_STATUS_INIT_C
AxiI2cSfpInOutType :=(( others => 'Z'), 'Z', 'Z') AXI_SFP_IN_OUT_INIT_C
array(natural range <> ) of AxiI2cSfpInType AxiI2cSfpInArray
array(integer range <> ,integer range <> ) of AxiI2cSfpOutType AxiI2cSfpOutVectorArray
array(integer range <> ,integer range <> ) of AxiI2cSfpInOutType AxiI2cSfpInOutVectorArray
_library_ ieeeieee
slv( 1 downto 0) rateSel
std_logic_vector slv
Definition: StdRtlPkg.vhd:29