Entity: UdpEngineTx

Diagram

time TPD_G positive SIZE_G boolean TX_FLOW_CTRL_G PositiveArray PORT_G AxiStreamSlaveType obUdpSlave slv(47 downto 0) localMac slv(31 downto 0) localIp Slv16Array(SIZE_G-1 downto 0) remotePort Slv32Array(SIZE_G-1 downto 0) remoteIp Slv48Array(SIZE_G-1 downto 0) remoteMac AxiStreamMasterArray(SIZE_G-1 downto 0) ibMasters AxiStreamMasterType obDhcpMaster sl clk sl rst AxiStreamMasterType obUdpMaster slv(SIZE_G-1 downto 0) linkUp AxiStreamSlaveArray(SIZE_G-1 downto 0) ibSlaves AxiStreamSlaveType obDhcpSlave

Description


Company : SLAC National Accelerator Laboratory

Description: UDP TX 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
SIZE_G positive 1 UDP General Generic
TX_FLOW_CTRL_G boolean true True: Blow off the UDP TX data if link down, False: Backpressure until TX link is up
PORT_G PositiveArray (0 => 8192)

Ports

Port name Direction Type Description
obUdpMaster out AxiStreamMasterType Interface to IPV4 Engine
obUdpSlave in AxiStreamSlaveType
linkUp out slv(SIZE_G-1 downto 0) Interface to User Application
localMac in slv(47 downto 0)
localIp in slv(31 downto 0)
remotePort in Slv16Array(SIZE_G-1 downto 0)
remoteIp in Slv32Array(SIZE_G-1 downto 0)
remoteMac in Slv48Array(SIZE_G-1 downto 0)
ibMasters in AxiStreamMasterArray(SIZE_G-1 downto 0)
ibSlaves out AxiStreamSlaveArray(SIZE_G-1 downto 0)
obDhcpMaster in AxiStreamMasterType Interface to DHCP Engine
obDhcpSlave out AxiStreamSlaveType
clk in sl Clock and Reset
rst in sl

Signals

Name Type Description
r RegType
rin RegType
txMaster AxiStreamMasterType
txSlave AxiStreamSlaveType

Constants

Name Type Value Description
PORT_C Slv16Array(SIZE_G-1 downto 0) EthPortArrayBigEndian(PORT_G,
SIZE_G)
REG_INIT_C RegType ( linkUp => (others => '0'),
tKeep => (others => '0'),
tData => (others => '0'),
tLast => '0',
eofe => '0',
chPntr => 0,
index => 0,
obDhcpSlave => AXI_STREAM_SLAVE_INIT_C,
ibSlaves => (others => AXI_STREAM_SLAVE_INIT_C),
txMaster => AXI_STREAM_MASTER_INIT_C,
state => IDLE_S)

Types

Name Type Description
StateType ( IDLE_S,
DHCP_HDR_S,
HDR_S,
DHCP_BUFFER_S,
BUFFER_S,
LAST_S)
RegType

Processes

Instantiations