-
Notifications
You must be signed in to change notification settings - Fork 1.6k
corundum_netstack: Add support for 10 GbE implementation (for K26-based AD-GMSL2ETH-SL board) #1832
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
a302db5
a668e96
acfbf9d
f37468c
911503f
34be9a9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,8 @@ Corundum Ethernet Core | |
|
||
VCU118 <vcu118/index> | ||
|
||
K26 <k26/index> | ||
|
||
The :git-hdl:`Corundum Ethernet Core <library/corundum/ethernet_core>` is used | ||
by the Corundum Network Stack. The Ethernet Core is specific to each FPGA board | ||
and encompasses the Ethernet physical layer and other auxiliary structures such | ||
|
@@ -19,12 +21,12 @@ Depending on the board for which the IP is built, different HDL component | |
diagrams will be available. | ||
|
||
* :ref:`corundum_ethernet_core_vcu118` | ||
* :ref:`corundum_ethernet_core_k26` | ||
|
||
Features | ||
-------------------------------------------------------------------------------- | ||
|
||
* Supports 100G Ethernet-based systems that uses the CMAC core on the VCU118 | ||
board | ||
* Supports 10/100 GbE implementations as follows: 100 GbE by leveraging on the Xilinx's CMAC IP core (on the VCU118 evaluation kit) and 10 GbE by using the Corundum's support (on the K26-based AD-GMSL2ETH-SL evaluation kit). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Split into multiple lines. |
||
|
||
Files | ||
-------------------------------------------------------------------------------- | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
.. _corundum_ethernet_core_k26: | ||
|
||
Corundum Ethernet Core for K26 | ||
================================================================================ | ||
|
||
.. hdl-component-diagram:: | ||
|
||
Files | ||
-------------------------------------------------------------------------------- | ||
|
||
.. list-table:: | ||
:header-rows: 1 | ||
|
||
* - Name | ||
- Description | ||
* - :git-hdl:`library/corundum/ethernet_core/ethernet_core_k26.v` | ||
- Verilog source for the Ethernet Core top module for the K26-based AD-GMSL2ETH-SL evaluation kit. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Split into multiple lines. |
||
* - :git-hdl:`library/corundum/ethernet_core/ethernet_ip.tcl` | ||
- TCL script to generate the Vivado IP-integrator project. | ||
|
||
Configuration Parameters | ||
-------------------------------------------------------------------------------- | ||
|
||
.. hdl-parameters:: | ||
|
||
Interface | ||
-------------------------------------------------------------------------------- | ||
|
||
.. hdl-interfaces:: | ||
|
||
References | ||
-------------------------------------------------------------------------------- | ||
|
||
* HDL IP core at :git-hdl:`library/corundum/ethernet_core` |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -71,24 +71,23 @@ CPU/Memory interconnects addresses | |
The addresses are dependent on the architecture of the FPGA, having an offset | ||
added to the base address from HDL (see more at :ref:`architecture cpu-intercon-addr`). | ||
|
||
======================== =========== | ||
Instance Address | ||
======================== =========== | ||
mipi_csi2_rx_subsyst_0 0x84A0_0000 | ||
mipi_csi2_rx_subsyst_1 0x84A2_0000 | ||
axi_iic_mipi 0x84A4_0000 | ||
v_frmbuf_wr_0 0x84A6_0000 | ||
v_frmbuf_wr_1 0x84A8_0000 | ||
v_frmbuf_wr_2 0x84AA_0000 | ||
v_frmbuf_wr_3 0x84AC_0000 | ||
v_frmbuf_wr_4 0x84AE_0000 | ||
v_frmbuf_wr_5 0x84B0_0000 | ||
v_frmbuf_wr_6 0x84B2_0000 | ||
v_frmbuf_wr_7 0x84B4_0000 | ||
axi_pwm_gen_0 0x84B6_0000 | ||
corundum/s_axil_ctrl 0xA000_0000 | ||
corundum/s_axil_app_ctrl 0xA800_0000 | ||
======================== =========== | ||
============================================ =========== | ||
Instance Address | ||
============================================ =========== | ||
mipi_csi2_rx_subsyst_0 0x84A0_0000 | ||
mipi_csi2_rx_subsyst_1 0x84A2_0000 | ||
axi_iic_mipi 0x84A4_0000 | ||
v_frmbuf_wr_0 0x84A6_0000 | ||
v_frmbuf_wr_1 0x84A8_0000 | ||
v_frmbuf_wr_2 0x84AA_0000 | ||
v_frmbuf_wr_3 0x84AC_0000 | ||
v_frmbuf_wr_4 0x84AE_0000 | ||
v_frmbuf_wr_5 0x84B0_0000 | ||
v_frmbuf_wr_6 0x84B2_0000 | ||
v_frmbuf_wr_7 0x84B4_0000 | ||
axi_pwm_gen_0 0x84B6_0000 | ||
corundum_hierarchy/corundum_core/s_axil_ctrl 0xA000_0000 | ||
============================================ =========== | ||
|
||
I2C connections | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
@@ -211,7 +210,7 @@ v_frmbuf_wr4/interrupt 8 104 136 | |
v_frmbuf_wr5/interrupt 7 96 128 | ||
v_frmbuf_wr6/interrupt 6 95 127 | ||
v_frmbuf_wr7/interrupt 5 94 126 | ||
combined_corundum_irq 4 93 125 | ||
corundum_hierarcy/irq 4 93 125 | ||
======================= === ============ ============= | ||
|
||
Building the HDL project | ||
|
@@ -225,7 +224,7 @@ If you want to build the sources, ADI makes them available on the | |
`clone <https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository>`__ | ||
the HDL repository, and then build the project as follows:. | ||
|
||
This project uses `Corundum NIC <https://github.com/corundum/corundum>`_ | ||
This project uses `Corundum NIC <https://github.com/ucsdsysnet/corundum>`_ | ||
and it needs to be cloned alongside this repository. | ||
|
||
.. admonition:: Publications | ||
|
@@ -243,9 +242,7 @@ and it needs to be cloned alongside this repository. | |
**Linux/Cygwin/WSL** | ||
|
||
.. shell:: | ||
|
||
$git clone https://github.com/corundum/corundum.git | ||
$git checkout ed4a26e2cbc0a429c45d5cd5ddf1177f86838914 | ||
====================://github.com/ucsdsysnet/corundum.git | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. HTML build issue: |
||
$cd hdl/projects/ad_gmsl2eth_sl/k26 | ||
$make | ||
|
||
|
@@ -289,7 +286,7 @@ HDL related | |
* - AXI_SYSID | ||
- :git-hdl:`library/axi_sysid` | ||
- :ref:`axi_sysid` | ||
* - CORUNDUM | ||
* - CORUNDUM_NETSTACK | ||
- :git-hdl:`library/corundum` | ||
- :ref:`corundum` | ||
* - SYSID_ROM | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. CMAC dependencies should be left so that the make can verify their existence if 100G needs to be built. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove extra line.