Skip to content

fpga_diff: add UVHS implementation flow - #150

Open
klin02 wants to merge 7 commits into
mainfrom
uvhs-new
Open

fpga_diff: add UVHS implementation flow#150
klin02 wants to merge 7 commits into
mainfrom
uvhs-new

Conversation

@klin02

@klin02 klin02 commented Jul 27, 2026

Copy link
Copy Markdown
Member

No description provided.

Add an opt-in U2.2/B0/F2 UVHS flow that regenerates repository-owned Vivado IP and imports the vendor DDR IP. Keep the normal Makefile and JTAG flow unchanged, with UVHS targets isolated in uvhs.mk.

Simplify generated-clock constraints and retain only the RTL and tool compatibility needed for the regenerated NutShell bitstream.

Co-authored-by: Kamimiao <fengkehan@bosc.ac.cn>
klin02 and others added 4 commits July 29, 2026 12:31
Synchronize the CPU reset into the interconnect clock domain before driving the AXI bridge reset input.

Co-authored-by: Kamimiao <fengkehan@bosc.ac.cn>
Align the kmh wrapper with current XiangShan AXI widths and isolate unused SystemJTAG and RTC crossings in the UVHS image.

Detect DMA-capable SimTop builds and apply XiangShan-specific placement, routing, and generated-clock settings.

Co-authored-by: Kamimiao <fengkehan@bosc.ac.cn>
Use native-width vendor DDR DCPs and remove the NutShell AXI width
adapter. Consolidate UVHS-only RTL selection while retaining the normal
Vivado target behavior.

Add attached runtime commands for download, reset, and DDR backdoor
writes, together with tool compatibility checks and updated flow
documentation.

Co-authored-by: Kamimiao <fengkehan@bosc.ac.cn>
Connect a 64-bit UVHS generalBus to the existing BRAM-backed flash
through AXI_bridge and verify each raw image with a full readback.

Expose standalone uvhs_* build and runtime targets while keeping
the normal Vivado and JTAG commands unchanged. Make attached runtime
commands report completion and propagate failures.

Co-authored-by: Kamimiao <fengkehan@bosc.ac.cn>
klin02 and others added 2 commits July 30, 2026 09:58
Instantiate the width-matched vendor DDR IP directly and keep only the
address and ID adaptations required by its AXI interface. Update the
runtime writemem path for the direct instance.

Remove unused memory-array, auxiliary-DDR, ClockHub, and manual DDR
pin branches. Inline the trivial file-list filter and document the
reduced flow.

Co-authored-by: Kamimiao <fengkehan@bosc.ac.cn>
Run uv_shell as a tracked background session so uvhs_write_bitstream
returns after programming while later reset and memory commands retain
the database connection.

Move reset sequencing and command polling out of hw_run_download.tcl
into shared runtime control procedures. Reject commands without a ready
session and preserve the validated reset order.

Co-authored-by: Kamimiao <fengkehan@bosc.ac.cn>
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