Skip to content
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

Add Xilinx Kintex UltraScale+ KCU116 board #96

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lschuermann
Copy link

@lschuermann lschuermann commented Oct 11, 2021

This commit adds the Xilinx Kintex UltraScale+ KCU116 board featuring the XCKU5P-2FFVB676E FPGA and 4 zSFP cages. XGMII PHYs are instantiated for all four cages in fpga.v and passed down to fpga_core.v. Only the first (SFP 0) cage is connected to the instantiated UDP/IP core.

The I2C bus to the SFPs uses an I2C mux chip and is currently unsupported.

The reference clock for the GTY transceiver connected to the SFPs is generated by an external, on-board Si5328 clock chip which must be configured to output a clock signal of 156.25MHz before the transceiver can be used. This configuration is performed through the onboard Zynq-based baseboard management controller. Software for configuring the Zynq BMC and setting the proper clock frequencies can be found on Xilinx' website.

TODOs

Currently, SFP2 and SFP3 don't work yet. Furthermore, optical modules don't seem to work yet. Turns out my SFP+ was broken. It now works on all ports with DACs, Singlemode and Multimode.

Inclusion in verilog-ethernet

@alexforencich I've seen in some other PRs that you are not willing to accept pull requests for hardware you don't have access to. Maybe you by chance have access to this board. Unfortunately, I'm not at the liberty of donating any hardware. In case you don't want this include in the mainline verilog-ethernet tree, can you create a subdirectory or another repository for untested hardware. It seems like having support for boards like these can greatly help in getting started, even if they aren't guaranteed to work.

This commit adds the Xilinx Kintex UltraScale+ KCU116 board featuring
the XCKU5P-2FFVB676E FPGA and 4 zSFP cages. XGMII PHYs are
instantiated for all four cages in `fpga.v` and passed down to
`fpga_core.v`. Only the first (SFP 0) cage is connected to the
instantiated UDP/IP core.

The I2C bus to the SFPs uses an I2C mux chip and is currently
unsupported.

The reference clock for the GTY transceiver connected to the SFPs is
generated by an external, on-board Si5328 clock chip which must be
configured to output a clock signal of 156.25MHz before the
transceiver can be used. This configuration is performed through the
onboard Zynq-based baseboard management controller. Software for
configuring the Zynq BMC and setting the proper clock frequencies can
be found on Xilinx' website.
@lschuermann lschuermann marked this pull request as ready for review October 13, 2021 09:14
@alexforencich alexforencich force-pushed the master branch 2 times, most recently from 3155340 to 80a2573 Compare May 16, 2022 00:59
@alexforencich alexforencich force-pushed the master branch 2 times, most recently from ae942ad to 870cebb Compare February 11, 2024 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant