Skip to content

fpga_diff: add UVHS XiangShan and GBus support - #163

Open
xiaokamikami wants to merge 7 commits into
mainfrom
feat/uvhs-adaptation-pr
Open

xiaokamikami wants to merge 7 commits into
mainfrom
feat/uvhs-adaptation-pr

Conversation

@xiaokamikami

@xiaokamikami xiaokamikami commented Aug 27, 2026

Copy link
Copy Markdown
Member

This PR adds optional GBus transport support to the existing FPGA-Diff flow while preserving XDMA as the default interface.

  • Add DIFFTEST_HOSTIF selection for XDMA or GBUS.
  • Add the UVHS GBus host adapter and conditional endpoint integration.
  • Bundle the verified GBus IP DCPs, stubs, runtime library, headers, and installation checks.
  • Register the GBus adapter in the FPGA RTL file list.
  • Keep existing XDMA behavior unchanged when DIFFTEST_HOSTIF=XDMA.
    The UVHS XiangShan GBus configuration has been validated on hardware with FPGA-Diff reaching HIT GOOD TRAP.

Preserve shared DiffTest AXIS framing and workload DDR H2C. Add GBS1 register and GBD1 local SRAM DMA endpoints with backpressure, remove obsolete DDR C2H trace/ring paths, and add transport and supervisor regressions.
@xiaokamikami
xiaokamikami force-pushed the feat/uvhs-adaptation-pr branch from 4c62c18 to 1aab61e Compare September 16, 2026 05:07
Route GBus workload writes through the existing CPU-subsystem DMA AXI
interface instead of a dedicated physical-DDR master. NutShell inserts a
generated 256-to-64 AXI converter after the host-to-CPU CDC; KMH keeps
the native 256-bit path and fails the file list when dma_* is missing.
XDMA retains data_bridge, and GBus no longer exports or imports it.

Remove the unused AXI3 arbiter, remote-link, and 64-to-256 converter
left over from the rejected topology. The common UVHS DDR block is
unchanged.
UVHS P4 still aborts infer_clock/transform_clock on protected GENERALBD
sysbus LAST_VALUE pins even after exact config_clock -ignore. Keep the
TCK diagnostics in the log and continue partition/PnR for GBus only.
U_UVHS_FLASH_GBUS is the UVHS ROM/flash path, not the DiffTest host
interface. Gating it with CONFIG_DIFFTEST_HOSTIF_GBUS dropped the F0
clk6_n pair and failed bitstream DRC on IOSTDTYPE-1.
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