Module ip_mac_top_g
Name |
Default |
Description |
---|---|---|
TX_MEM_ADDR |
9 |
|
RX_MEM_ADDR |
6 |
Receive memory address width (9 -> 512 locations, 10->1024) |
Name |
Type |
Direction |
Description |
---|---|---|---|
pi_emac_reset |
wire logic |
input |
Global Hardware reset (active low) |
pi_emac_sw_reset |
wire logic |
input |
Global Software reset (active high) (should be applied whenever |
pi_emac_ref_clock |
wire logic |
input |
GMII 125 MHz reference clock |
pi_emac_gate_en |
wire logic |
input |
Auto Gating Clock Enable (power saving) |
pi_emac_power_off |
wire logic |
input |
Power off (all internal clocks are disabled, except for the HOST clock) |
po_host_tx_idone |
wire logic |
output |
Transmit/Receive reset (initialization) done Transmit initialization done (host clock domain) |
po_host_rx_idone |
wire logic |
output |
Receive initialization done (host clock domain) |
pi_emac_tx_clock |
wire logic |
input |
Transmit GMII/MII interface Transmit MII 25/2.5 MHz clock (from PHY) |
po_emac_gtx_clock |
wire logic |
output |
Transmit GMII 125 MHz clock (to PHY) |
po_emac_tx_en |
wire logic |
output |
Transmit MII/GMII enable indication (to PHY) |
po_emac_tx_err |
wire logic |
output |
Transmit MII/GMII error indication (to PHY) |
po_emac_tx_data |
wire logic [7 : 0] |
output |
Transmit MII/GMII data (MII data is po_emac_tx_data[3:0]) (to PHY) |
pi_emac_tx_col |
wire logic |
input |
Collision indication (from PHY) |
pi_emac_tx_crs |
wire logic |
input |
Carrier Sense indication (from PHY) |
pi_emac_rx_clock |
wire logic |
input |
Receive GMII/MII interface Receive GMII/MII 125/25/2.5 MHz clock (from PHY) |
pi_emac_rx_dv |
wire logic |
input |
Receive MII/GMII data valid indication (from PHY) |
pi_emac_rx_err |
wire logic |
input |
Receive MII/GMII error indication (from PHY) |
pi_emac_rx_data |
wire logic [7 : 0] |
input |
Receive MII/GMII data (MII data is pi_emac_rx_data[3:0]) (from PHY) |
pi_host_clock |
wire logic |
input |
HOST interface (common) HOST interface clock signal |
pi_host_stat_read |
wire logic |
input |
Transmit statistic HOST interface
Statistic TDES0 word |
po_host_stat_empty |
wire logic |
output |
Statistic FIFO not empty |
po_host_stat_last |
wire logic |
output |
Last statistic word indication |
po_host_stat_data |
wire logic [9 : 0] |
output |
Statistic TDES0 word data |
pi_host_enable_wr |
wire logic |
input |
Tramsmit data path HOST interface Transmit MAC data path, HOST enable command |
po_host_full_wr |
wire logic |
output |
Transmit MAC data path, HOST FIFO full indication |
po_host_last_wr |
wire logic |
output |
Transmit MAC data path, HOST FIFO last location indication |
pi_host_data_wr |
wire logic [31 : 0] |
input |
Transmit MAC data path, HOST data (transmit data) |
pi_host_byte_wr |
wire logic [1 : 0] |
input |
Transmit MAC data path, HOST byte enable (transmit data byte enable) |
pi_host_start_wr |
wire logic |
input |
Transmit MAC data path, HOST start of frame indication |
pi_host_end_wr |
wire logic |
input |
Transmit MAC data path, HOST start of frame indication |
pi_host_error_wr |
wire logic |
input |
Unused please check if useful (if not remove) |
pi_host_pad_wr |
wire logic |
input |
Transmit MAC data path, HOST padding enable (valid only when pi_host_end_wr) |
pi_host_crc_wr |
wire logic |
input |
Transmit MAC data path, HOST crc enable (valid only when pi_host_end_wr) |
pi_host_wakeup |
wire logic |
input |
Receive setup frame interface (not affected by software reset, setup frame is written during software reset) Wake-up internal clock used by the Setup Frame FSM, |
pi_host_wr_data |
wire logic [31 : 0] |
input |
should be asserted at least 2 clock cycles (HOST clock) before asserting the pi_host_wr_setup (write enable) and can be deasserted 2 clock cycles after Setup Frame completition Setup Frame data (HOST clock synchronous) |
pi_host_wr_setup |
wire logic |
input |
Setup Frame write enable (HOST clock synchronous) |
pi_host_enable_rd |
wire logic |
input |
Receive data path HOST interface Receive MAC data path, HOST enable command |
po_host_empty_rd |
wire logic |
output |
Receive MAC data path, HOST FIFO empty indication |
po_host_last_rd |
wire logic |
output |
Receive MAC data path, HOST FIFO last location indication |
po_host_data_rd |
wire logic [31 : 0] |
output |
Receive MAC data path, HOST data (transmit data) |
po_host_byte_rd |
wire logic [1 : 0] |
output |
Receive MAC data path, HOST byte enable (transmit data byte enable) |
po_host_start_rd |
wire logic |
output |
Receive MAC data path, HOST start of frame indication |
po_host_end_rd |
wire logic |
output |
Receive MAC data path, HOST start of frame indication |
po_host_error_rd |
wire logic |
output |
Receive MAC data path, HOST frame error indication (asserted when |
po_host_stop_xmit |
wire logic |
output |
frame is bigger than 64 bytes and receive MAC cannot drop the frame or pass bad frames mode is selected by asserting pi_emac_pass_all) Start/Stop transmit and receive process Transmit MAC, transmit stopped indication (HOST clock synchronous) |
pi_host_stop_xmit |
wire logic |
input |
Transmit MAC, transmit stop command (HOST clock synchronous) |
po_host_stop_rcv |
wire logic |
output |
Receive MAC, receive stopped indication (HOST clock synchronous) |
pi_host_stop_rcv |
wire logic |
input |
Receive MAC, receive stop command (HOST clock synchronous) |
pi_emac_gigabit |
wire logic |
input |
Operating 1000 Mbps (Gigabit) mode |
pi_emac_half_dplx |
wire logic |
input |
Operating Half Duplex mode |
pi_emac_xoff_value |
wire logic [15 : 0] |
input |
Transmit configuration inputs (require software reset to be active during change) |
pi_emac_xon_value |
wire logic [15 : 0] |
input |
XON flow control pause value |
pi_emac_col_limit |
wire logic [4 : 0] |
input |
Half Duplex back pressure collision limit |
pi_emac_tx_fc_en |
wire logic |
input |
(maximum collision number during back pressure algorithm) Transmit flow control enable |
pi_emac_burst_lim |
wire logic [15 : 0] |
input |
Burst limit (valid only when operating mode is 1000 Mbps) |
pi_emac_burst_en |
wire logic |
input |
Burst enable (valid only when operating mode is 1000 Mbps) |
pi_emac_ifg_cfg_1 |
wire logic [7 : 0] |
input |
Interframe gap part 1 (usually 2/3 from IFG) |
pi_emac_ifg_cfg_2 |
wire logic [7 : 0] |
input |
Interframe gap part 2 (usually 1/3 from IFG) |
pi_emac_store_fwd |
wire logic |
input |
Store and Forward transmit FIFO operating mode |
pi_emac_threshold |
wire logic [TX_MEM_ADDR - 1 : 0] |
input |
Cut Trough (pi_emac_store_fwd not asserted) FIFO threshold |
pi_emac_rx_fc_en |
wire logic |
input |
Receive configuration inputs (require software reset to be active during change) |
pi_emac_hash_nfix |
wire logic |
input |
Hash filtering + 1 Address match / 16 Address match |
pi_emac_inverse |
wire logic |
input |
Inverse match filtering mode |
pi_emac_multicast |
wire logic |
input |
When asserted the imperfect filtering refers only for multicast addressees |
pi_emac_pass_multi |
wire logic |
input |
Pass all multicast addresses |
pi_emac_promisc |
wire logic |
input |
Promiscuous Mode (no DA filter) |
pi_emac_pass_all |
wire logic |
input |
pass all bad frames (including FC frames) |
pi_emac_high_thrs |
wire logic [RX_MEM_ADDR : 0] |
input |
from configuration FC high threshold |
pi_emac_low_thrs |
wire logic [RX_MEM_ADDR : 0] |
input |
from configuration FC low threshold |
pi_emac_loopback |
wire logic |
input |
Miscelanous configuration inputs (require software reset to be active during change) |
pi_emac_little |
wire logic |
input |
Little endian (data path organization) |
pi_mdio_clock |
wire logic |
input |
Management Data Input/Output interface (MDIO) Master MDIO reference clock |
po_master_mdc |
wire logic |
output |
Master MDIO output 2.5 MHz clock |
pi_master_mdio |
wire logic |
input |
Master MDIO data input line (tri-state buffer outside of the module) |
po_master_mdio |
wire logic |
output |
Master MDIO data output line (tri-state buffer outside of the module) |
po_master_oni |
wire logic |
output |
Master MDIO direction tri-state buffer control (1 - Output, 0 - Input) |
po_emac_mdc_err |
wire logic |
output |
Indicates that a read from MDIO interface is invalid and the |
pi_emac_mdc_wdata |
wire logic [15 : 0] |
input |
operation should be retried. This is indicated during a read turn-around cycle when the MDIO slave does not drive the MDIO signal to the low state. MDIO transaction complete. (MDIO clock domain, remain asserted till pi_host_mdc_start is deasserted) MDIO write data (not synchronized, false path, needs to be stable durring pi_host_mdc_start) |
po_emac_mdc_rdata |
wire logic [15 : 0] |
output |
MDIO read data (not synchronized, false path, needs to be stable durring pi_host_mdc_start) |
pi_host_mdc_start |
wire logic |
input |
(MDIO clock domain, remain stable till pi_host_mdc_start is deasserted) Setting this bit initiates an MDIO read/write operation (asynchronous, |
po_emac_mdc_done |
wire logic |
output |
internally synchronized to MDC clock). Remain asserted till the transaction complete. MDIO transaction complete. |
pi_emac_mdc_rnw |
wire logic |
input |
(MDIO clock domain, remain asserted till pi_host_mdc_start is deasserted) This bit indicates the direction of the MDIO operation type: |
pi_emac_mdc_daddr |
wire logic [4 : 0] |
input |
0 - MDIO Write operation, 1 - MDIO read operation (not synchronized, false path, needs to be stable during pi_host_mdc_start) This field is used to specify the device address to be accessed. |
pi_emac_mdc_raddr |
wire logic [4 : 0] |
input |
(not synchronized, false path, needs to be stable during pi_host_mdc_start) This field is used to specify the register address to be accessed. |
pi_test_en |
wire logic |
input |
(not synchronized, false path, needs to be stable during pi_host_mdc_start)
Test and Scan interface signals |
pi_bistmode_en |
wire logic |
input |
Instances
- ip_emac_top : ip_emac_top
mac_top : ip_mac_top_g #(.TX_MEM_ADDR(10), .RX_MEM_ADDR(10))
Submodules
- ip_mac_top_g #(.TX_MEM_ADDR(10), .RX_MEM_ADDR(10))
mac_clk_mng : ip_mac_clk_mng_g
mac_mdio : ip_mac_mdio_g
mac_rx_top : ip_mac_rx_top_g #(.RX_MEM_ADDR(10))
mac_tx_top : ip_mac_tx_top_g #(.TX_MEM_ADDR(10))
Transmit memory address width (9 -> 512 locations, 10->1024)