PoC.io.mdio.Controller

Todo

No documentation available.

Entity Declaration:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
entity mdio_Controller is
  generic (
    DEBUG                     : boolean             := TRUE;
    CLOCK_FREQ                : FREQ                := 125 MHz;       -- 125 MHz
--    PREAMBLE_SUPRESSION       : BOOLEAN             := FALSE;         -- TODO: supported by Marvel 88E1111's, minimum preamble length = 1 bit
    BAUDRATE                  : BAUD                := 1 MBd          -- 1.0 MBaud
  );
  port (
    Clock                     : in  std_logic;
    Reset                     : in  std_logic;
    
    -- MDIOController interface
    Command                   : in  T_IO_MDIO_MDIOCONTROLLER_COMMAND;
    Status                    : out T_IO_MDIO_MDIOCONTROLLER_STATUS;
    Error                     : out T_IO_MDIO_MDIOCONTROLLER_ERROR;
    
    DeviceAddress             : in  std_logic_vector(4 downto 0);
    RegisterAddress           : in  std_logic_vector(4 downto 0);
    DataIn                    : in  T_SLV_16;
    DataOut                   : out T_SLV_16;
    
    -- tri-state interface
    MD_Clock_i                : in  std_logic;      -- IEEE 802.3: MDC    -> Managament Data Clock I
    MD_Clock_o                : out std_logic;      -- IEEE 802.3: MDC    -> Managament Data Clock O
    MD_Clock_t                : out std_logic;      -- IEEE 802.3: MDC    -> Managament Data Clock tri-state
    MD_Data_i                 : in  std_logic;      -- IEEE 802.3: MDIO   -> Managament Data I
    MD_Data_o                 : out std_logic;      -- IEEE 802.3: MDIO   -> Managament Data O
    MD_Data_t                 : out std_logic       -- IEEE 802.3: MDIO   -> Managament Data tri-state
  );
end entity;