Entity: UdpEngineDhcp

Diagram

time TPD_G real CLK_FREQ_G positive COMM_TIMEOUT_G string SYNTH_MODE_G slv(47 downto 0) localMac slv(31 downto 0) localIp AxiStreamMasterType ibDhcpMaster AxiStreamSlaveType obDhcpSlave sl clk sl rst slv(31 downto 0) dhcpIp AxiStreamSlaveType ibDhcpSlave AxiStreamMasterType obDhcpMaster

Description


Company : SLAC National Accelerator Laboratory

Description: DHCP Engine

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
CLK_FREQ_G real 156.25E+06 In units of Hz
COMM_TIMEOUT_G positive 30
SYNTH_MODE_G string "inferred" RAM/FIFO synthesis mode

Ports

Port name Direction Type Description
localMac in slv(47 downto 0) big-Endian configuration
localIp in slv(31 downto 0) big-Endian configuration
dhcpIp out slv(31 downto 0) big-Endian configuration
ibDhcpMaster in AxiStreamMasterType Interface to DHCP Engine
ibDhcpSlave out AxiStreamSlaveType
obDhcpMaster out AxiStreamMasterType
obDhcpSlave in AxiStreamSlaveType
clk in sl Clock and Reset
rst in sl

Signals

Name Type Description
r RegType
rin RegType
rxMaster AxiStreamMasterType
rxSlave AxiStreamSlaveType
txMaster AxiStreamMasterType
txSlave AxiStreamSlaveType

Constants

Name Type Value Description
DHCP_CONFIG_C AxiStreamConfigType ssiAxiStreamConfig(4)
TIMER_1_SEC_C natural getTimeRatio(CLK_FREQ_G,
1.0)
CLIENT_HDR_C slv(31 downto 0) x"00060101" 0x01010600
SERVER_HDR_C slv(31 downto 0) x"00060102" 0x02010600
MAGIC_COOKIE_C slv(31 downto 0) x"63538263" 0x63825363
COMM_TIMEOUT_C positive ite((COMM_TIMEOUT_G > 3),
COMM_TIMEOUT_G,
3)
REG_INIT_C RegType ( localMac => (others => '0'),
heartbeat => '0',
cnt => 0,
timer => 0,
commCnt => 3,
-- Default to 3 seconds after bootup renewCnt => (others => '0'),
leaseCnt => (others => '0'),
leaseTime => (others => '0'),
remoteMac => (others => '1'),
-- Broadcast MAC Address remoteIp => (others => '1'),
-- Broadcast IP Address dhcpIP => (others => '0'),
dhcpReq => '0',
xid => (others => '0'),
yiaddr => (others => '0'),
siaddr => (others => '0'),
yiaddrTemp => (others => '0'),
siaddrTemp => (others => '0'),
index => 0,
valid => (others => '0'),
opCode => (others => '0'),
len => (others => '0'),
msgType => (others => '0'),
rxSlave => AXI_STREAM_SLAVE_INIT_C,
txMaster => AXI_STREAM_MASTER_INIT_C,
decode => CODE_S,
state => IDLE_S)

Types

Name Type Description
StateType ( IDLE_S,
REQ_S,
BOOTP_S,
DHCP_S,
VERIFY_S)
DecodeType ( CODE_S,
LEN_S,
DATA_S)
RegType

Processes

Instantiations