Corundum Ethernet Core for VCU118
The Corundum Ethernet Core is used by the Corundum Network Stack. This Ethernet Core is specific to the VCU118 FPGA board and encompasses the Ethernet physical layer and other auxiliary structures such as SPI and I2C that are required by the Corundum system. The configurations are based on Corundum NIC reference designs that were adapted to suit the ADI workflow.
Files
Name |
Description |
---|---|
Verilog source for the Ethernet Core top module for the VCU118 board. |
|
TCL script to generate the Vivado IP-integrator project. |
Configuration Parameters
Name |
Description |
Default Value |
Choices/Range |
---|---|---|---|
TDMA_BER_ENABLE |
TDMA BER enable. |
0 |
|
QSFP_CNT |
Qsfp Cnt. |
1 |
|
IF_COUNT |
Interface count. |
1 |
|
PORTS_PER_IF |
Ports per interface. |
1 |
|
SCHED_PER_IF |
Sched Per If. |
1 |
|
PORT_MASK |
Port mask. |
0 |
|
PORT_COUNT |
Port Count. |
1 |
|
PTP_TS_FMT_TOD |
PTP_TS_FMT_TOD. |
0 |
|
PTP_TS_WIDTH |
Ptp Ts Width. |
48 |
|
TX_TAG_WIDTH |
Tx Tag Width. |
16 |
|
TDMA_INDEX_WIDTH |
TDMA index width. |
6 |
|
PTP_TS_ENABLE |
PTP Timestamp Enable. |
1 |
|
AXIL_CTRL_DATA_WIDTH |
AXI4 Lite control data width. |
32 |
|
AXIL_CTRL_ADDR_WIDTH |
AXI4 Lite control address width. |
24 |
|
AXIL_CTRL_STRB_WIDTH |
AXI4 Lite control strobe width. |
4 |
|
AXIL_IF_CTRL_ADDR_WIDTH |
AXI4 Lite interface control address width. |
24 |
|
AXIL_CSR_ADDR_WIDTH |
AXI4 Lite CSR address width. |
19 |
|
ETH_RX_CLK_FROM_TX |
Use TX clock for RX. |
0 |
|
ETH_RS_FEC_ENABLE |
Enable RS FEC. |
1 |
|
AXIS_DATA_WIDTH |
AXI4 Stream data width. |
512 |
|
AXIS_KEEP_WIDTH |
AXI4 Stream keep width. |
64 |
|
AXIS_TX_USER_WIDTH |
AXI4 Stream TX user width. |
17 |
|
AXIS_RX_USER_WIDTH |
AXI4 Stream RX user width. |
1 |
Interface
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
axis_eth_tx_tdata |
TDATA |
in [511:0] |
|
axis_eth_tx_tkeep |
TKEEP |
in [63:0] |
|
axis_eth_tx_tvalid |
TVALID |
in [0:0] |
|
axis_eth_tx_tready |
TREADY |
out [0:0] |
|
axis_eth_tx_tlast |
TLAST |
in [0:0] |
|
axis_eth_tx_tuser |
TUSER |
in [16:0] |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
axis_eth_rx_tdata |
TDATA |
out [511:0] |
|
axis_eth_rx_tkeep |
TKEEP |
out [63:0] |
|
axis_eth_rx_tvalid |
TVALID |
out [0:0] |
|
axis_eth_rx_tready |
TREADY |
in [0:0] |
|
axis_eth_rx_tlast |
TLAST |
out [0:0] |
|
axis_eth_rx_tuser |
TUSER |
out [0:0] |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
ctrl_reg_wr_addr |
ctrl_reg_wr_addr |
in [18:0] |
|
ctrl_reg_wr_data |
ctrl_reg_wr_data |
in [31:0] |
|
ctrl_reg_wr_strb |
ctrl_reg_wr_strb |
in [3:0] |
|
ctrl_reg_wr_en |
ctrl_reg_wr_en |
in |
|
ctrl_reg_wr_wait |
ctrl_reg_wr_wait |
out |
|
ctrl_reg_wr_ack |
ctrl_reg_wr_ack |
out |
|
ctrl_reg_rd_addr |
ctrl_reg_rd_addr |
in [18:0] |
|
ctrl_reg_rd_data |
ctrl_reg_rd_data |
out [31:0] |
|
ctrl_reg_rd_en |
ctrl_reg_rd_en |
in |
|
ctrl_reg_rd_wait |
ctrl_reg_rd_wait |
out |
|
ctrl_reg_rd_ack |
ctrl_reg_rd_ack |
out |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
eth_tx_enable |
tx_enable |
in [0:0] |
|
eth_tx_status |
tx_status |
out [0:0] |
|
eth_tx_lfc_en |
tx_lfc_en |
in [0:0] |
|
eth_tx_lfc_req |
tx_lfc_req |
in [0:0] |
|
eth_tx_pfc_en |
tx_pfc_en |
in [7:0] |
|
eth_tx_pfc_req |
tx_pfc_req |
in [7:0] |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
eth_rx_enable |
rx_enable |
in [0:0] |
|
eth_rx_status |
rx_status |
out [0:0] |
|
eth_rx_lfc_en |
rx_lfc_en |
in [0:0] |
|
eth_rx_lfc_req |
rx_lfc_req |
out [0:0] |
|
eth_rx_lfc_ack |
rx_lfc_ack |
in [0:0] |
|
eth_rx_pfc_en |
rx_pfc_en |
in [7:0] |
|
eth_rx_pfc_req |
rx_pfc_req |
out [7:0] |
|
eth_rx_pfc_ack |
rx_pfc_ack |
in [7:0] |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
axis_eth_tx_ptp_ts |
ts |
out [47:0] |
|
axis_eth_tx_ptp_ts_tag |
tag |
out [15:0] |
|
axis_eth_tx_ptp_ts_valid |
valid |
out [0:0] |
|
axis_eth_tx_ptp_ts_ready |
ready |
in [0:0] |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
qspi_0_dq_i |
dq_i |
in [3:0] |
|
qspi_0_dq_o |
dq_o |
out [3:0] |
|
qspi_0_dq_oe |
dq_oe |
out [3:0] |
|
qspi_0_cs |
cs |
out |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
qspi_1_dq_i |
dq_i |
in [3:0] |
|
qspi_1_dq_o |
dq_o |
out [3:0] |
|
qspi_1_dq_oe |
dq_oe |
out [3:0] |
|
qspi_1_cs |
cs |
out |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
qsfp_tx_p |
tx_p |
out [3:0] |
|
qsfp_tx_n |
tx_n |
out [3:0] |
|
qsfp_rx_p |
rx_p |
in [3:0] |
|
qsfp_rx_n |
rx_n |
in [3:0] |
|
qsfp_modsell |
modsell |
out [0:0] |
|
qsfp_resetl |
resetl |
out [0:0] |
|
qsfp_modprsl |
modprsl |
in [0:0] |
|
qsfp_intl |
intl |
in [0:0] |
|
qsfp_lpmode |
lpmode |
out [0:0] |
|
qsfp_gtpowergood |
gtpowergood |
out [0:0] |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
i2c_scl_i |
scl_i |
in |
|
i2c_scl_o |
scl_o |
out |
|
i2c_scl_t |
scl_t |
out |
|
i2c_sda_i |
sda_i |
in |
|
i2c_sda_o |
sda_o |
out |
|
i2c_sda_t |
sda_t |
out |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
eth_tx_ptp_clk |
ptp_clk |
out [0:0] |
|
eth_tx_ptp_rst |
ptp_rst |
out [0:0] |
|
eth_tx_ptp_ts |
ptp_ts |
in [47:0] |
|
eth_tx_ptp_ts_step |
ptp_ts_step |
in [0:0] |
Physical Port |
Logical Port |
Direction |
Dependency |
---|---|---|---|
eth_rx_ptp_clk |
ptp_clk |
out [0:0] |
|
eth_rx_ptp_rst |
ptp_rst |
out [0:0] |
|
eth_rx_ptp_ts |
ptp_ts |
in [47:0] |
|
eth_rx_ptp_ts_step |
ptp_ts_step |
in [0:0] |
Physical Port |
Direction |
Dependency |
Description |
---|---|---|---|
clk |
in |
||
rst |
in |
||
clk_125mhz |
in |
||
rst_125mhz |
in |
||
qsfp_drp_clk |
in [0:0] |
||
qsfp_drp_rst |
in [0:0] |
||
qsfp_mgt_refclk |
in [0:0] |
||
qsfp_mgt_refclk_bufg |
in [0:0] |
||
qsfp_rst |
out [0:0] |
||
eth_tx_clk |
out [0:0] |
Bus |
|
eth_tx_rst |
out [0:0] |
Bus |
|
eth_rx_clk |
out [0:0] |
Bus |
|
eth_rx_rst |
out [0:0] |
Bus |
|
fpga_boot |
out |
||
qspi_clk |
out |
References
HDL IP core at library/corundum/ethernet_core