packages/chip/board/fpga/vcu118/README.md
Status: planning, M5+
Owner: board/fpga
Platform decision: see docs/board/fpga/platform-selection.md
This is the on-prem, owned-hardware path for prototyping the Chipyard-generated Rocket + Gemmini SoC. The e1-demo MMIO chip continues to live on the ULX3S/ECP5 path; the VCU118 is reserved for the heavier configuration that does not fit on ECP5.
| Tool | Version (baseline) | Notes |
|---|---|---|
| Vivado | 2023.2 or 2024.1 | Required. Closed-source; license needed. |
| Chipyard | tracked release | Same generator tree as RTL sim. |
| RISC-V GNU | 13.x | For boot ROM and Linux build. |
| OpenOCD | 0.12+ | For RISC-V debug via JTAG passthrough. |
Vivado is the only closed dependency in this path. The Chipyard FPGA shell
for VCU118 lives in fpga/fpga-shells/src/main/scala/xilinx/vcu118/ upstream
and is consumed unchanged.
Numbers are estimates; the first real synthesis run replaces them.
| Resource | Used (est) | Available | Utilization |
|---|---|---|---|
| CLB LUTs | ~150 k | 1,182 k | ~13 % |
| CLB FFs | ~100 k | 2,364 k | ~4 % |
| BRAM (36 Kb) | ~250 | 2,160 | ~12 % |
| URAM (288 Kb) | ~20 | 960 | ~2 % |
| DSP48E2 | ~256 | 6,840 | ~4 % |
| DDR4 controller | 1 | 1 hard IP | required |
Headroom is comfortable. A 16x16 INT8 Gemmini is the planned baseline; a 32x32 variant remains within budget and is the M6 stretch.
cd $CHIPYARD/fpga
make -C fpga SUB_PROJECT=vcu118 CONFIG=RocketGemminiVCU118Config bitstream
fpga/generated-src/.../obj/system.bit plus system.mcs for QSPI.build/fpga/vcu118/reports/):
*_utilization_placed.rpt*_timing_summary_routed.rpt*_power_routed.rptmem_check boot-stub walks 32 MB, 256 MB, and 1 GB ranges.riscv64-unknown-elf-gdb halts the hart and reads mhartid == 0.docs/board/fpga/platform-selection.mddocs/board/fpga/firesim-bringup.mddocs/generators/chipyard/README.md