Entity: UdpEngineArp

Diagram

time TPD_G positive CLIENT_SIZE_G real CLK_FREQ_G positive COMM_TIMEOUT_G positive RESP_TIMEOUT_G slv(31 downto 0) localIp AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0) arpReqSlaves AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) arpAckMasters slv(CLIENT_SIZE_G-1 downto 0) clientRemoteDet Slv32Array(CLIENT_SIZE_G-1 downto 0) clientRemoteIp sl clk sl rst AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) arpReqMasters AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0) arpAckSlaves Slv48Array(CLIENT_SIZE_G-1 downto 0) clientRemoteMac

Description


Company : SLAC National Accelerator Laboratory

Description: UDP Client's ARP Messaging Module

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
CLIENT_SIZE_G positive 1
CLK_FREQ_G real 156.25E+06
COMM_TIMEOUT_G positive 30
RESP_TIMEOUT_G positive 5

Ports

Port name Direction Type Description
localIp in slv(31 downto 0) big-Endian configuration
arpReqMasters out AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) Request via IP address
arpReqSlaves in AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0)
arpAckMasters in AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) Respond with MAC address
arpAckSlaves out AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0)
clientRemoteDet in slv(CLIENT_SIZE_G-1 downto 0) Interface to UDP Client engine(s)
clientRemoteIp in Slv32Array(CLIENT_SIZE_G-1 downto 0)
clientRemoteMac out Slv48Array(CLIENT_SIZE_G-1 downto 0)
clk in sl Clock and Reset
rst in sl

Signals

Name Type Description
r RegType
rin RegType

Constants

Name Type Value Description
TIMER_1_SEC_C natural getTimeRatio(CLK_FREQ_G,
1.0)
REG_INIT_C RegType ( clientRemoteMac => (others => (others => '0')),
arpAckSlaves => (others => AXI_STREAM_SLAVE_INIT_C),
arpReqMasters => (others => AXI_STREAM_MASTER_INIT_C),
timerEn => '0',
timer => 0,
arpTimers => (others => 0),
respTimers => (others => 0),
state => (others => IDLE_S))

Types

Name Type Description
TimerArray array (natural range <>) of natural range 0 to COMM_TIMEOUT_G
StateType ( IDLE_S,
WAIT_S,
COMM_MONITOR_S)
StateArray array (natural range <>) of StateType
RegType

Processes