Add Xilinx Kintex UltraScale+ KCU116 board #96
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 tofpga_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.