Entity: UdpEngineRx

Diagram

time TPD_G boolean DHCP_G boolean SERVER_EN_G positive SERVER_SIZE_G PositiveArray SERVER_PORTS_G boolean CLIENT_EN_G positive CLIENT_SIZE_G PositiveArray CLIENT_PORTS_G slv(31 downto 0) localIp slv(31 downto 0) broadcastIp AxiStreamMasterType ibUdpMaster AxiStreamSlaveArray(SERVER_SIZE_G-1 downto 0) obServerSlaves AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0) obClientSlaves AxiStreamSlaveType ibDhcpSlave sl clk sl rst AxiStreamSlaveType ibUdpSlave Slv16Array(SERVER_SIZE_G-1 downto 0) serverRemotePort Slv32Array(SERVER_SIZE_G-1 downto 0) serverRemoteIp Slv48Array(SERVER_SIZE_G-1 downto 0) serverRemoteMac AxiStreamMasterArray(SERVER_SIZE_G-1 downto 0) obServerMasters slv(CLIENT_SIZE_G-1 downto 0) clientRemoteDet AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) obClientMasters AxiStreamMasterType ibDhcpMaster

Description


Company : SLAC National Accelerator Laboratory

Description: UDP RX Engine Module

Note: UDP checksum checked in EthMac core

This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to

the terms contained in the LICENSE.txt file.

Generics

Generic name Type Value Description
TPD_G time 1 ns Simulation Generics
DHCP_G boolean false UDP General Generic
SERVER_EN_G boolean true UDP Server Generics
SERVER_SIZE_G positive 1
SERVER_PORTS_G PositiveArray (0 => 8192)
CLIENT_EN_G boolean true UDP Client Generics
CLIENT_SIZE_G positive 1
CLIENT_PORTS_G PositiveArray (0 => 8193)

Ports

Port name Direction Type Description
localIp in slv(31 downto 0) big-Endian configuration
broadcastIp in slv(31 downto 0) big-Endian configuration
ibUdpMaster in AxiStreamMasterType Interface to IPV4 Engine
ibUdpSlave out AxiStreamSlaveType
serverRemotePort out Slv16Array(SERVER_SIZE_G-1 downto 0) Interface to UDP Server engine(s)
serverRemoteIp out Slv32Array(SERVER_SIZE_G-1 downto 0)
serverRemoteMac out Slv48Array(SERVER_SIZE_G-1 downto 0)
obServerMasters out AxiStreamMasterArray(SERVER_SIZE_G-1 downto 0)
obServerSlaves in AxiStreamSlaveArray(SERVER_SIZE_G-1 downto 0)
clientRemoteDet out slv(CLIENT_SIZE_G-1 downto 0) Interface to UDP Client engine(s)
obClientMasters out AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0)
obClientSlaves in AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0)
ibDhcpMaster out AxiStreamMasterType Interface to DHCP Engine
ibDhcpSlave in AxiStreamSlaveType
clk in sl Clock and Reset
rst in sl

Signals

Name Type Description
r RegType
rin RegType
rxMaster AxiStreamMasterType
rxSlave AxiStreamSlaveType
serverSlave AxiStreamSlaveType
clientSlave AxiStreamSlaveType
dhcpSlave AxiStreamSlaveType

Constants

Name Type Value Description
SERVER_PORTS_C Slv16Array(SERVER_SIZE_G-1 downto 0) EthPortArrayBigEndian(SERVER_PORTS_G,
SERVER_SIZE_G)
CLIENT_PORTS_C Slv16Array(CLIENT_SIZE_G-1 downto 0) EthPortArrayBigEndian(CLIENT_PORTS_G,
CLIENT_SIZE_G)
REG_INIT_C RegType ( tDestServer => (others => '0'),
tDestClient => (others => '0'),
serverRemotePort => (others => (others => '0')),
serverRemoteIp => (others => (others => '0')),
serverRemoteMac => (others => (others => '0')),
clientRemoteDet => (others => '0'),
byteCnt => (others => '0'),
tData => (others => '0'),
sof => '1',
localHost => '0',
route => NULL_S,
rxSlave => AXI_STREAM_SLAVE_INIT_C,
dhcpMaster => AXI_STREAM_MASTER_INIT_C,
serverMaster => AXI_STREAM_MASTER_INIT_C,
clientMaster => AXI_STREAM_MASTER_INIT_C,
state => IDLE_S)

Types

Name Type Description
RouteType ( NULL_S,
SERVER_S,
CLIENT_S,
DHCP_S)
StateType ( IDLE_S,
CHECK_PORT_S,
MOVE_S,
LAST_S)
RegType

Processes

Instantiations