-
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?
Conversation
9d2f9a8
to
6a3502b
Compare
6a3502b
to
b5c8559
Compare
4271d21
to
32489d9
Compare
Signed-off-by: alin724 <[email protected]>
Signed-off-by: alin724 <[email protected]>
Signed-off-by: alin724 <[email protected]>
2ace2b1
to
b31ec24
Compare
// SPDX-License-Identifier: BSD-2-Clause-Views | ||
/* | ||
* Copyright (c) 2023 The Regents of the University of California | ||
* Copyright (c) 2024 Analog Devices, Inc. All rights reserved |
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.
Please update the copyright year.
sfp_i2c_sda_t_reg <= sfp_iic_sda_t_w; | ||
end | ||
|
||
// reg [(IRQ_COUNT*IRQ_STRETCH)-1:0] irq_stretch = {(IRQ_COUNT*IRQ_STRETCH){1'b0}}; |
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.
I think this comment can be deleted.
@@ -1,12 +1,13 @@ | |||
############################################################################### | |||
## Copyright (C) 2025 Analog Devices, Inc. All rights reserved. | |||
## Copyright (C) 2020-2024 Analog Devices, Inc. All rights reserved. |
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.
Please update the copyright.
### SPDX short identifier: ADIBSD | ||
############################################################################### | ||
|
||
create_bd_cell -type hier corundum_hierarchy | ||
current_bd_instance /corundum_hierarchy | ||
|
||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axil_corundum | ||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axil_application |
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.
Do we need this interface?
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.
Considering the fact that the script already supports the connection to an application IP, even though it doesn't exist at this moment, I think it can be left inside the script, but it's creation must be conditional with the APP_ENABLE parameter as in the original script.
@@ -385,7 +547,7 @@ if {$APP_ENABLE == 1} { | |||
|
|||
ad_connect application_core/ptp_clock corundum_core/ptp_clock_app | |||
ad_connect application_core/s_axil_ctrl s_axil_application | |||
|
|||
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.
Please remove the whitespace.
C_GPIO_WIDTH 1 \ | ||
] | ||
} | ||
} |
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.
Please add an empty line.
set STAT_DMA_ENABLE "0" | ||
set STAT_AXI_ENABLE "0" | ||
set STAT_INC_WIDTH "24" | ||
set STAT_ID_WIDTH "12" |
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.
Please add an empty line.
@@ -1,6 +1,6 @@ | |||
// *************************************************************************** | |||
// *************************************************************************** | |||
// Copyright (C) 2024-2025 Analog Devices, Inc. All rights reserved. | |||
// Copyright 2024 (c) Analog Devices, Inc. All rights reserved. |
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.
Please update the copyright year and keep the old license text/format.
@@ -8,65 +8,78 @@ source $ad_hdl_dir/library/scripts/adi_ip_xilinx.tcl | |||
|
|||
global VIVADO_IP_LIBRARY | |||
|
|||
adi_ip_create ethernet |
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.
Please update the copyright year.
…rsion Signed-off-by: alin724 <[email protected]>
Signed-off-by: alin724 <[email protected]>
Signed-off-by: alin724 <[email protected]>
b31ec24
to
34be9a9
Compare
@@ -8,6 +8,8 @@ Corundum Ethernet Core | |||
|
|||
VCU118 <vcu118/index> | |||
|
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.
|
||
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 comment
The reason will be displayed to describe this comment to others. Learn more.
Split into multiple lines.
* - 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 comment
The reason will be displayed to describe this comment to others. Learn more.
Split into multiple lines.
|
||
$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 comment
The reason will be displayed to describe this comment to others. Learn more.
HTML build issue:
index.rst:244: ERROR: Content block expected for the "shell" directive; none found.
index.rst:245: WARNING: Explicit markup ends without a blank line; unexpected unindent.
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.
CMAC dependencies should be left so that the make can verify their existence if 100G needs to be built.
Remove dependencies that are not related to the Ethernet core's build.
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.
Add the GUI customization commands for the 100G option.
adi_if_define if_csr | ||
adi_if_ports output -1 axil_csr_awaddr none 0 | ||
adi_if_ports output -1 axil_csr_awprot none 0 | ||
adi_if_ports output 1 axil_csr_awvalid none 0 | ||
adi_if_ports input 1 axil_csr_awready none 0 | ||
adi_if_ports output -1 axil_csr_wdata none 0 | ||
adi_if_ports output -1 axil_csr_wstrb none 0 | ||
adi_if_ports output 1 axil_csr_wvalid none 0 | ||
adi_if_ports input 1 axil_csr_wready none 0 | ||
adi_if_ports input -1 axil_csr_bresp none 0 | ||
adi_if_ports input 1 axil_csr_bvalid none 0 | ||
adi_if_ports output 1 axil_csr_bready none 0 | ||
adi_if_ports output -1 axil_csr_araddr none 0 | ||
adi_if_ports output -1 axil_csr_arprot none 0 | ||
adi_if_ports output 1 axil_csr_arvalid none 0 | ||
adi_if_ports input 1 axil_csr_arready none 0 | ||
adi_if_ports input -1 axil_csr_rdata none 0 | ||
adi_if_ports input -1 axil_csr_rresp none 0 | ||
adi_if_ports input 1 axil_csr_rvalid none 0 | ||
adi_if_ports output 1 axil_csr_rready none 0 |
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.
This interface seems to be the AXI4Lite interface. What's the reason of re-creating the interface?
### SPDX short identifier: ADIBSD | ||
############################################################################### | ||
|
||
create_bd_cell -type hier corundum_hierarchy | ||
current_bd_instance /corundum_hierarchy | ||
|
||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axil_corundum | ||
create_bd_intf_pin -mode Slave -vlnv xilinx.com:interface:aximm_rtl:1.0 s_axil_application |
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.
Considering the fact that the script already supports the connection to an application IP, even though it doesn't exist at this moment, I think it can be left inside the script, but it's creation must be conditional with the APP_ENABLE parameter as in the original script.
PR Description
corundum_netstack: Add support for 10 GE implementation
PR Type
PR Checklist