Module ip_mac_hostif_top

pi_resetlogicpi_clock_flogicpi_rx_clocklogicpi_rxds_clocklogicpi_tx_clocklogicpi_txds_clocklogicpi_tx1_clocklogicpi_host_sdata[31:0]logicpi_host_sdvalogicpi_rx_emptylogicpi_rx_last_rdlogicpi_rx_data[31:0]logicpi_rx_soflogicpi_rx_eoflogicpi_tx_fulllogicpi_tx_last_wrlogicpi_tx_upd_emptylogicpi_tx_upd_lastlogicpi_tx_upd_data[9:0]logicpi_regs_csr0_tap[15:0]logicpi_regs_csr0_apelogicpi_regs_csr0_barlogicpi_regs_csr14_swrlogicpi_regs_csr1_tpdlogicpi_regs_csr2_rpdlogicpi_regs_csr3_stl[29:0]logicpi_regs_csr4_srl[29:0]logicpi_regs_csr14_stlogicpi_regs_csr14_srlogicpi_global_cfda_slmlogicpi_global_cfda_szmlogicpi_config_burst_size[5:0]logicpi_config_ds_offset[4:0]logicpo_rx_clock_enlogicpo_rxds_clock_enlogicpo_tx_clock_enlogicpo_txds_clock_enlogicpo_tx1_clock_enlogicpo_host_mcmdlogic[1:0]po_host_maddrlogic[31:0]po_host_mdatalogic[31:0]po_host_mlastlogicpo_rx_enable_rdlogicpo_tx_enable_wrlogicpo_tx_datalogic[31:0]po_tx_belogic[1:0]po_tx_soflogicpo_tx_eoflogicpo_tx_errlogicpo_tx_put_crclogicpo_tx_put_paddinglogicpo_tx_upd_readlogicpo_regs_csr5_rwtlogicpo_regs_csr5_unflogicpo_regs_csr5_ovflogicpo_regs_csr5_rulogicpo_regs_csr5_tulogicpo_regs_csr5_rilogicpo_regs_csr5_tilogicpo_regs_csr5_tjtlogic

Block Diagram of ip_mac_hostif_top

Ports

Name

Type

Direction

Description

pi_reset

wire logic

input

global asynchronous reset

pi_clock_f

wire logic

input

host clock

pi_rx_clock

wire logic

input

pi_rxds_clock

wire logic

input

pi_tx_clock

wire logic

input

pi_txds_clock

wire logic

input

pi_tx1_clock

wire logic

input

po_rx_clock_en

wire logic

output

clock enable for gated clocks

po_rxds_clock_en

wire logic

output

po_tx_clock_en

wire logic

output

po_txds_clock_en

wire logic

output

po_tx1_clock_en

wire logic

output

po_host_mcmd

wire logic [1 : 0]

output

command

po_host_maddr

wire logic [31 : 0]

output

address

po_host_mdata

wire logic [31 : 0]

output

data to write

po_host_mlast

wire logic

output

last word

pi_host_sdata

wire logic [31 : 0]

input

data to read

pi_host_sdva

wire logic

input

data valid

po_rx_enable_rd

wire logic

output

rx fifo read command

pi_rx_empty

wire logic

input

rx fifo full

pi_rx_last_rd

wire logic

input

rx fifo almost full

pi_rx_data

wire logic [31 : 0]

input

rx fifo data

pi_rx_sof

wire logic

input

rx fifo eof

pi_rx_eof

wire logic

input

rx fifo eof

po_tx_enable_wr

wire logic

output

rx fifo read command

pi_tx_full

wire logic

input

rx fifo full

pi_tx_last_wr

wire logic

input

rx fifo almost full

po_tx_data

wire logic [31 : 0]

output

rx fifo data

po_tx_be

wire logic [1 : 0]

output

tx fifo data byte enable

po_tx_sof

wire logic

output

tx fifo start of frame

po_tx_eof

wire logic

output

tx fifo end of frame

po_tx_err

wire logic

output

tx fifo error

po_tx_put_crc

wire logic

output

put crc indication (valid only when sof=1)

po_tx_put_padding

wire logic

output

put padding indication (valid only when sof=1)

po_tx_upd_read

wire logic

output

pi_tx_upd_empty

wire logic

input

pi_tx_upd_last

wire logic

input

pi_tx_upd_data

wire logic [9 : 0]

input

pi_regs_csr0_tap

wire logic [15 : 0]

input

tx automatic polling period CSR0[31:16]

pi_regs_csr0_ape

wire logic

input

tx auto polling enable CSR[15]

pi_regs_csr0_bar

wire logic

input

bus arbitration

pi_regs_csr14_swr

wire logic

input

software reset

pi_regs_csr1_tpd

wire logic

input

transmit poll demand

pi_regs_csr2_rpd

wire logic

input

receive poll demand

pi_regs_csr3_stl

wire logic [29 : 0]

input

transmit descriptor base address

pi_regs_csr4_srl

wire logic [29 : 0]

input

receive descriptor base address

po_regs_csr5_rwt

wire logic

output

receive watchdog timeout

po_regs_csr5_unf

wire logic

output

transmit underflow

po_regs_csr5_ovf

wire logic

output

receive overflow

po_regs_csr5_ru

wire logic

output

receive buffer unavailable

po_regs_csr5_tu

wire logic

output

transmit buffer unavailable

po_regs_csr5_ri

wire logic

output

receive interupt

po_regs_csr5_ti

wire logic

output

transmit interupt

po_regs_csr5_tjt

wire logic

output

signals Transmit jabber timeout error to the CSR5 register; this will signal to the HOST to perform a software reset to the EMAC

pi_regs_csr14_st

wire logic

input

start/stop transmit

pi_regs_csr14_sr

wire logic

input

start / stop receive

pi_global_cfda_slm

wire logic

input

sleep mode enable

pi_global_cfda_szm

wire logic

input

snooze mode enable

pi_config_burst_size

wire logic [5 : 0]

input

limit for the rx,tx burst transfers

pi_config_ds_offset

wire logic [4 : 0]

input

offset to increment the address if a descriptor

Instances

Submodules

hostif_arb (ip_mac_hostif_arb) pi_reset pi_clock pi_tx_frame_transmit pi_regs_csr0_bar pi_rx_req pi_tx_req pi_rx_ds_req pi_tx_ds_req pi_tx_upd_req pi_rx_mcmd pi_rx_maddr pi_rx_mdata pi_rx_mlast pi_tx_mcmd pi_tx_maddr pi_tx_mlast pi_rx_ds_mcmd pi_rx_ds_maddr pi_rx_ds_mlast pi_tx_ds_mcmd pi_tx_ds_maddr pi_tx_ds_mlast pi_tx_upd_mcmd pi_tx_upd_maddr pi_tx_upd_mdata pi_tx_upd_mlast po_host_mcmd po_host_maddr po_host_mdata po_host_mlast po_rx_allowed po_rx_ds_allowed po_tx_allowed po_tx_ds_allowed po_tx_upd_allowed hostif_rx (ip_mac_hostif_rx) pi_reset pi_g_clock pi_f_clock po_en_clock po_rx_enable_rd pi_rx_empty pi_rx_last_rd pi_rx_data pi_rx_sof pi_rx_eof rx_ds_addr_valid rx_ds_next_addr rx_valid_ds_read po_rx_ds1 po_rx_ds3 rx_req rx_allowed rx_mcmd rx_maddr rx_mdata rx_mlast pi_host_sdva pi_host_sdata pi_regs_csr14_sr pi_config_burst_size po_regs_csr5_ri po_regs_csr5_ovf po_regs_csr5_rwt hostif_rxds (ip_mac_hostif_rxds) pi_reset pi_g_clock pi_f_clock po_en_clock pi_host_sdva pi_host_sdata pi_rx_ds_allowed pi_rx_empty pi_rx_last_rd po_rx_ds_next_addr po_rx_ds_addr_valid po_rx_ds_mlast po_rx_ds_mcmd po_rx_ds_req po_rx_ds_maddr pi_rx_valid_ds_read pi_rx_ds1 pi_rx_ds3 pi_regs_csr2_rpd pi_regs_csr4_srl po_regs_csr5_ru pi_regs_csr14_sr pi_config_ds_offset hostif_tx (ip_mac_hostif_tx) pi_reset pi_g_clock pi_g1_clock pi_f_clock po_en_clock po_en1_clock po_tx_enable_wr pi_tx_full pi_tx_last_wr po_tx_data po_tx_be po_tx_sof po_tx_eof po_tx_put_crc po_tx_put_padding po_tx_err pi_host_sdata pi_host_sdva po_tx_upd_read pi_tx_upd_empty pi_tx_upd_last pi_tx_upd_data tx_valid_ds_read tx_ds_next_addr tx_ds_addr_valid pi_tx_ds0_poll po_tx_ds1 po_tx_ds3 tx_allowed tx_req tx_mcmd tx_maddr tx_mlast tx_frame_transmit tx_upd_allowed tx_upd_req tx_upd_mcmd tx_upd_maddr tx_upd_mdata tx_upd_mlast po_regs_csr5_unf po_regs_csr5_ti po_regs_csr5_tjt pi_regs_csr14_st pi_config_burst_size hostif_txds (ip_mac_hostif_txds) pi_reset pi_g_clock pi_f_clock po_en_clock po_tx_ds_req po_tx_ds_addr po_tx_ds_addr_valid po_tx_ds_mlast po_tx_ds_mcmd po_tx_ds_maddr pi_tx_valid_ds_read pi_host_sdva pi_host_sdata pi_tx_ds_allowed po_tx_ds0_poll pi_tx_ds1 pi_tx_ds3 pi_regs_csr0_tap pi_regs_csr0_ape pi_regs_csr1_tpd pi_regs_csr3_stl po_regs_csr5_tu pi_regs_csr14_st pi_config_ds_offset host_if (ip_mac_hostif_top) pi_reset pi_clock_f pi_rx_clock pi_rxds_clock pi_tx_clock pi_txds_clock pi_tx1_clock po_rx_clock_en po_rxds_clock_en po_tx_clock_en po_txds_clock_en po_tx1_clock_en po_host_mcmd po_host_maddr po_host_mdata po_host_mlast pi_host_sdata pi_host_sdva po_rx_enable_rd pi_rx_empty pi_rx_last_rd pi_rx_data pi_rx_sof pi_rx_eof po_tx_enable_wr pi_tx_full pi_tx_last_wr po_tx_data po_tx_be po_tx_sof po_tx_eof po_tx_err po_tx_put_crc po_tx_put_padding po_tx_upd_read pi_tx_upd_empty pi_tx_upd_last pi_tx_upd_data pi_regs_csr0_tap pi_regs_csr0_ape pi_regs_csr0_bar pi_regs_csr14_swr pi_regs_csr1_tpd pi_regs_csr2_rpd pi_regs_csr3_stl pi_regs_csr4_srl po_regs_csr5_rwt po_regs_csr5_unf po_regs_csr5_ovf po_regs_csr5_ru po_regs_csr5_tu po_regs_csr5_ri po_regs_csr5_ti po_regs_csr5_tjt pi_regs_csr14_st pi_regs_csr14_sr pi_global_cfda_slm pi_global_cfda_szm pi_config_burst_size pi_config_ds_offset

Schematic Diagram of ip_mac_hostif_top