Entity: UdpEngineWrapper
- File: UdpEngineWrapper.vhd
Diagram
Description
Company : SLAC National Accelerator Laboratory
Description: Wrapper for UdpEngine
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 |
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) | |
CLIENT_EXT_CONFIG_G | boolean | false | |
TX_FLOW_CTRL_G | boolean | true | True: Blow off the UDP TX data if link down, False: Backpressure until TX link is up |
DHCP_G | boolean | false | |
ICMP_G | boolean | true | |
ARP_G | boolean | true | |
CLK_FREQ_G | real | 156.25E+06 | In units of Hz |
COMM_TIMEOUT_G | positive | 30 | In units of seconds, Client's Communication timeout before re-ARPing or DHCP discover/request |
TTL_G | slv(7 downto 0) | x"20" | IPv4's Time-To-Live (TTL) |
VLAN_G | boolean | false | true = VLAN support |
SYNTH_MODE_G | string | "inferred" |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
localMac | in | slv(47 downto 0) | big-Endian configuration |
localIp | in | slv(31 downto 0) | big-Endian configuration |
clientRemotePort | in | Slv16Array(CLIENT_SIZE_G-1 downto 0) | Remote Configurations |
clientRemoteIp | in | Slv32Array(CLIENT_SIZE_G-1 downto 0) | |
obMacMaster | in | AxiStreamMasterType | Interface to Ethernet Media Access Controller (MAC) |
obMacSlave | out | AxiStreamSlaveType | |
ibMacMaster | out | AxiStreamMasterType | |
ibMacSlave | in | AxiStreamSlaveType | |
obServerMasters | out | AxiStreamMasterArray(SERVER_SIZE_G-1 downto 0) | tData is big-Endian configuration |
obServerSlaves | in | AxiStreamSlaveArray(SERVER_SIZE_G-1 downto 0) | |
ibServerMasters | in | AxiStreamMasterArray(SERVER_SIZE_G-1 downto 0) | |
ibServerSlaves | out | AxiStreamSlaveArray(SERVER_SIZE_G-1 downto 0) | tData is big-Endian configuration |
obClientMasters | out | AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) | tData is big-Endian configuration |
obClientSlaves | in | AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0) | |
ibClientMasters | in | AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) | |
ibClientSlaves | out | AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0) | tData is big-Endian configuration |
axilReadMaster | in | AxiLiteReadMasterType | AXI-Lite Interface |
axilReadSlave | out | AxiLiteReadSlaveType | |
axilWriteMaster | in | AxiLiteWriteMasterType | |
axilWriteSlave | out | AxiLiteWriteSlaveType | |
clk | in | sl | Clock and Reset |
rst | in | sl |
Signals
Name | Type | Description |
---|---|---|
r | RegType | |
rin | RegType | |
arpReqMasters | AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) | |
arpReqSlaves | AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0) | |
arpAckMasters | AxiStreamMasterArray(CLIENT_SIZE_G-1 downto 0) | |
arpAckSlaves | AxiStreamSlaveArray(CLIENT_SIZE_G-1 downto 0) | |
ibUdpMaster | AxiStreamMasterType | |
ibUdpSlave | AxiStreamSlaveType | |
obUdpMaster | AxiStreamMasterType | |
obUdpSlave | AxiStreamSlaveType | |
serverRemotePort | Slv16Array(SERVER_SIZE_G-1 downto 0) | |
serverRemoteIp | Slv32Array(SERVER_SIZE_G-1 downto 0) | |
dhcpIp | slv(31 downto 0) |
Constants
Name | Type | Value | Description |
---|---|---|---|
REG_INIT_C | RegType | ( broadcastIp => (others => '0'), clientRemotePort => (others => (others => '0')), clientRemoteIp => (others => (others => '0')), axilReadSlave => AXI_LITE_READ_SLAVE_INIT_C, axilWriteSlave => AXI_LITE_WRITE_SLAVE_INIT_C) |
Types
Name | Type | Description |
---|---|---|
RegType |
Processes
- comb: ( axilReadMaster, axilWriteMaster, clientRemoteIp,
clientRemotePort, dhcpIp, localMac, r, rst, serverRemoteIp,
serverRemotePort )
- seq: ( clk )
Instantiations
- IpV4Engine_Inst: surf.IpV4Engine
- UdpEngine_Inst: surf.UdpEngine