Entity: arp

Diagram

DATA_WIDTH KEEP_ENABLE KEEP_WIDTH CACHE_ADDR_WIDTH REQUEST_RETRY_COUNT REQUEST_RETRY_INTERVAL REQUEST_TIMEOUT wire clk wire rst wire s_eth_hdr_valid wire [47:0] s_eth_dest_mac wire [47:0] s_eth_src_mac wire [15:0] s_eth_type wire [DATA_WIDTH-1:0] s_eth_payload_axis_tdata wire [KEEP_WIDTH-1:0] s_eth_payload_axis_tkeep wire s_eth_payload_axis_tvalid wire s_eth_payload_axis_tlast wire s_eth_payload_axis_tuser wire m_eth_hdr_ready wire m_eth_payload_axis_tready wire arp_request_valid wire [31:0] arp_request_ip wire arp_response_ready wire [47:0] local_mac wire [31:0] local_ip wire [31:0] gateway_ip wire [31:0] subnet_mask wire clear_cache wire s_eth_hdr_ready wire s_eth_payload_axis_tready wire m_eth_hdr_valid wire [47:0] m_eth_dest_mac wire [47:0] m_eth_src_mac wire [15:0] m_eth_type wire [DATA_WIDTH-1:0] m_eth_payload_axis_tdata wire [KEEP_WIDTH-1:0] m_eth_payload_axis_tkeep wire m_eth_payload_axis_tvalid wire m_eth_payload_axis_tlast wire m_eth_payload_axis_tuser wire arp_request_ready wire arp_response_valid wire arp_response_error wire [47:0] arp_response_mac

Description

Language: Verilog 2001

Generics

Generic name Type Value Description
DATA_WIDTH 8 Width of AXI stream interfaces in bits
KEEP_ENABLE undefined Propagate tkeep signal If disabled, tkeep assumed to be 1'b1
KEEP_WIDTH undefined tkeep signal width (words per cycle)
CACHE_ADDR_WIDTH 9 Log2 of ARP cache size
REQUEST_RETRY_COUNT 4 ARP request retry count
REQUEST_RETRY_INTERVAL 125000000*2 ARP request retry interval (in cycles)
REQUEST_TIMEOUT 125000000*30 ARP request timeout (in cycles)

Ports

Port name Direction Type Description
clk input wire
rst input wire
s_eth_hdr_valid input wire * Ethernet frame input */
s_eth_hdr_ready output wire
s_eth_dest_mac input wire [47:0]
s_eth_src_mac input wire [47:0]
s_eth_type input wire [15:0]
s_eth_payload_axis_tdata input wire [DATA_WIDTH-1:0]
s_eth_payload_axis_tkeep input wire [KEEP_WIDTH-1:0]
s_eth_payload_axis_tvalid input wire
s_eth_payload_axis_tready output wire
s_eth_payload_axis_tlast input wire
s_eth_payload_axis_tuser input wire
m_eth_hdr_valid output wire * Ethernet frame output */
m_eth_hdr_ready input wire
m_eth_dest_mac output wire [47:0]
m_eth_src_mac output wire [47:0]
m_eth_type output wire [15:0]
m_eth_payload_axis_tdata output wire [DATA_WIDTH-1:0]
m_eth_payload_axis_tkeep output wire [KEEP_WIDTH-1:0]
m_eth_payload_axis_tvalid output wire
m_eth_payload_axis_tready input wire
m_eth_payload_axis_tlast output wire
m_eth_payload_axis_tuser output wire
arp_request_valid input wire * ARP requests */
arp_request_ready output wire
arp_request_ip input wire [31:0]
arp_response_valid output wire
arp_response_ready input wire
arp_response_error output wire
arp_response_mac output wire [47:0]
local_mac input wire [47:0] * Configuration */
local_ip input wire [31:0]
gateway_ip input wire [31:0]
subnet_mask input wire [31:0]
clear_cache input wire

Signals

Name Type Description
incoming_frame_valid wire
incoming_frame_ready reg
incoming_eth_dest_mac wire [47:0]
incoming_eth_src_mac wire [47:0]
incoming_eth_type wire [15:0]
incoming_arp_htype wire [15:0]
incoming_arp_ptype wire [15:0]
incoming_arp_hlen wire [7:0]
incoming_arp_plen wire [7:0]
incoming_arp_oper wire [15:0]
incoming_arp_sha wire [47:0]
incoming_arp_spa wire [31:0]
incoming_arp_tha wire [47:0]
incoming_arp_tpa wire [31:0]
outgoing_frame_valid_reg reg
outgoing_frame_valid_next reg
outgoing_frame_ready wire
outgoing_eth_dest_mac_reg reg [47:0]
outgoing_eth_dest_mac_next reg [47:0]
outgoing_arp_oper_reg reg [15:0]
outgoing_arp_oper_next reg [15:0]
outgoing_arp_tha_reg reg [47:0]
outgoing_arp_tha_next reg [47:0]
outgoing_arp_tpa_reg reg [31:0]
outgoing_arp_tpa_next reg [31:0]
cache_query_request_valid_reg reg
cache_query_request_valid_next reg
cache_query_request_ip_reg reg [31:0]
cache_query_request_ip_next reg [31:0]
cache_query_response_valid wire
cache_query_response_error wire
cache_query_response_mac wire [47:0]
cache_write_request_valid_reg reg
cache_write_request_valid_next reg
cache_write_request_ip_reg reg [31:0]
cache_write_request_ip_next reg [31:0]
cache_write_request_mac_reg reg [47:0]
cache_write_request_mac_next reg [47:0]
arp_request_operation_reg reg
arp_request_operation_next reg
arp_request_ready_reg reg
arp_request_ready_next reg
arp_request_ip_reg reg [31:0]
arp_request_ip_next reg [31:0]
arp_response_valid_reg reg
arp_response_valid_next reg
arp_response_error_reg reg
arp_response_error_next reg
arp_response_mac_reg reg [47:0]
arp_response_mac_next reg [47:0]
arp_request_retry_cnt_reg reg [5:0]
arp_request_retry_cnt_next reg [5:0]
arp_request_timer_reg reg [35:0]
arp_request_timer_next reg [35:0]

Constants

Name Type Value Description
ARP_OPER_ARP_REQUEST [15:0] 16'h0001
ARP_OPER_ARP_REPLY [15:0] 16'h0002
ARP_OPER_INARP_REQUEST [15:0] 16'h0008
ARP_OPER_INARP_REPLY [15:0] 16'h0009

Processes

Type: always

Type: always

Instantiations

Description

  • ARP frame processing
    */

Description

  • ARP cache
    */