Open Aaron-Hartwig opened 6 months ago
For hardware bringup, we only need a very simple FPGA image to turn Minibar on. Here are the things we want the FPGA to do for bringup:
To accomplish these things, here's what the FPGA image needs to do:
FPGA_STATUS_LED_EN_L
FPGA_TO_VSC7448_RESET_L
FPGA_TO_VSC8504_RESET_L_V3P3
FPGA_TO_V12_PCIE_EFUSE_EN
FPGA_TO_V3P3_PCIE_EFUSE_EN
FPGA_TO_PCIE_AUX_REFCLK_BUFFER_OE1_L
FPGA_TO_PCIE_AUX_REFCLK_BUFFER_OE0_L
FPGA_TO_PCIE_AUX_REFCLK_BUFFER_PD_L
FPGA_TO_PCIE_AUX_REFCLK_BUFFER_BW_SEL
FPGA_TO_VBUS_SYS_HSC_RESTART_L
FPGA_TO_VBUS_SLED_HSC_RESTART_L
FPGA_TO_VBUS_SLED_HSC_EN
FPGA_TO_POWER_LED_EN
The FPGA section of Minibar's Hardware Reference Manual has a table containing the mapping between signals and FPGA pins.
I'm trying to sketch out the work here before I go on leave. I think most of the work here will be plumbing into blocks we've already written, but there will be other little things that will need to be new (e.g. whatever sequencing is needed).
PRSNT#
andPERST#
through.PWRFLT#
as appropriate (can probably just usePCIeEndpointController.bsv
for various parts of this).PCIE_ALERT_L
via an open drain buffer. Gimlet host software may not pay attention to this yet.*SpiServer.bsv
of choice. The QSFP design's may be a good spot to start.IgnitionController
s, one for each target to think its talking to its own Sidecar.