PoC.net.stack.UDPv4

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
entity stack_UDPv4 is
  generic (
    DEBUG                             : boolean                             := FALSE;                                                                                 --
    CLOCK_FREQ                        : FREQ                                := 125 MHz;                                                                               --
    ETHERNET_IPSTYLE                  : T_IPSTYLE                           := to_IPStyle(                        MY_BOARD_STRUCT.Ethernet.IPStyle);                  --
    ETHERNET_RS_DATA_INTERFACE        : T_NET_ETH_RS_DATA_INTERFACE         := to_net_eth_RSDataInterface(        MY_BOARD_STRUCT.Ethernet.RS_DataInterface);         --
    ETHERNET_PHY_DEVICE               : T_NET_ETH_PHY_DEVICE                := to_net_eth_PHYDevice(              MY_BOARD_STRUCT.Ethernet.PHY_Device);               --
    ETHERNET_PHY_DEVICE_ADDRESS       : T_NET_ETH_PHY_DEVICE_ADDRESS        :=                                    MY_BOARD_STRUCT.Ethernet.PHY_DeviceAddress;         --
    ETHERNET_PHY_DATA_INTERFACE       : T_NET_ETH_PHY_DATA_INTERFACE        := to_net_eth_PHYDataInterface(       MY_BOARD_STRUCT.Ethernet.PHY_DataInterface);        --
    ETHERNET_PHY_MANAGEMENT_INTERFACE : T_NET_ETH_PHY_MANAGEMENT_INTERFACE  := to_net_eth_PHYManagementInterface( MY_BOARD_STRUCT.Ethernet.PHY_ManagementInterface);  --
    
    MAC_ADDRESS                       : T_NET_MAC_ADDRESS;
    IP_ADDRESS                        : T_NET_IPV4_ADDRESS;
    UDP_PORTS                         : T_NET_UDP_PORTPAIR_VECTOR;
    
    MAC_ENABLE_LOOPBACK               : boolean                             := FALSE;
    IPV4_ENABLE_LOOPBACK              : boolean                             := FALSE;
    UDP_ENABLE_LOOPBACK               : boolean                             := FALSE;
    ICMP_ENABLE_ECHO                  : boolean                             := FALSE;
    PING                              : boolean                             := FALSE
  );
  port (
    Ethernet_Clock                    : in    std_logic;
    Ethernet_Reset                    : in    std_logic;
    
    Ethernet_Command                  : in    T_NET_ETH_COMMAND;
    Ethernet_Status                   : out   T_NET_ETH_STATUS;
    
    PHY_Interface                     : inout T_NET_ETH_PHY_INTERFACES;
    
    -- UDP ports
    TX_Valid                          : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    TX_Data                           : in  T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    TX_SOF                            : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    TX_EOF                            : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    TX_Ack                            : out std_logic_vector(UDP_PORTS'length - 1 downto 0);
    TX_Meta_rst                       : out std_logic_vector(UDP_PORTS'length - 1 downto 0);
    TX_Meta_SrcIPv4Address_nxt        : out std_logic_vector(UDP_PORTS'length - 1 downto 0);
    TX_Meta_SrcIPv4Address_Data       : in  T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    TX_Meta_DestIPv4Address_nxt       : out std_logic_vector(UDP_PORTS'length - 1 downto 0);
    TX_Meta_DestIPv4Address_Data      : in  T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    TX_Meta_SrcPort                   : in  T_SLVV_16(UDP_PORTS'length - 1 downto 0);
    TX_Meta_DestPort                  : in  T_SLVV_16(UDP_PORTS'length - 1 downto 0);
    TX_Meta_Length                    : in  T_SLVV_16(UDP_PORTS'length - 1 downto 0);
    
    RX_Valid                          : out std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Data                           : out T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    RX_SOF                            : out std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_EOF                            : out std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Ack                            : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Meta_rst                       : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Meta_SrcMACAddress_nxt         : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Meta_SrcMACAddress_Data        : out T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    RX_Meta_DestMACAddress_nxt        : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Meta_DestMACAddress_Data       : out T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    RX_Meta_EthType                   : out T_SLVV_16(UDP_PORTS'length - 1 downto 0);
    RX_Meta_SrcIPv4Address_nxt        : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Meta_SrcIPv4Address_Data       : out T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    RX_Meta_DestIPv4Address_nxt       : in  std_logic_vector(UDP_PORTS'length - 1 downto 0);
    RX_Meta_DestIPv4Address_Data      : out T_SLVV_8(UDP_PORTS'length - 1 downto 0);
--    RX_Meta_TrafficClass              : out T_SLVV_8(UDP_PORTS'length - 1 downto 0);
--    RX_Meta_FlowLabel                 : out T_SLVV_24(UDP_PORTS'length - 1 downto 0);
    RX_Meta_Length                    : out T_SLVV_16(UDP_PORTS'length - 1 downto 0);
    RX_Meta_Protocol                  : out T_SLVV_8(UDP_PORTS'length - 1 downto 0);
    RX_Meta_SrcPort                   : out T_SLVV_16(UDP_PORTS'length - 1 downto 0);
    RX_Meta_DestPort                  : out T_SLVV_16(UDP_PORTS'length - 1 downto 0)
  );
end entity;