explaingit

chenyuliu577-cyber/jyd-rv32i-fpga-core

Analysis updated 2026-05-18

35SystemVerilogAudience · researcherComplexity · 5/5Setup · hard

TLDR

An educational RISC-V CPU design for FPGA boards, built for a Chinese student hardware design contest.

Mindmap

mindmap
  root((RV32I FPGA Core))
    What it does
      Small RISC-V CPU design
      Built for a design contest
      Targets FPGA boards
    Tech stack
      SystemVerilog
      Vivado
      Python and Tcl scripts
    Use cases
      Learn CPU pipeline design
      Rebuild FPGA project
      Run smoke tests
    Audience
      Students
      Hardware researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how a basic RV32I processor pipeline is structured across fetch, decode, execute, and writeback stages.

USE CASE 2

Rebuild the Vivado FPGA project from source to simulate a small CPU design.

USE CASE 3

Use the public smoke test programs to check basic memory and branch instruction behavior.

What is it built with?

SystemVerilogVivadoPythonTcl

How does it compare?

chenyuliu577-cyber/jyd-rv32i-fpga-coreamoslee2026/babelagg23/fpga-gameandwatch
Stars352071
LanguageSystemVerilogSystemVerilogSystemVerilog
Last pushed2023-10-11
MaintenanceDormant
Setup difficultyhardhardmoderate
Complexity5/55/54/5
Audienceresearcherresearchergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires Xilinx Vivado and is an early-stage preview, not verified or intended as a reference core.

In plain English

This repository contains the design for a small CPU that can be loaded onto an FPGA chip, built as an educational project for a Chinese RISC-V design contest called JYD. RISC-V is an open standard for how a processor understands instructions, and RV32I is the simplest version of it, covering 32 basic integer operations. An FPGA is a chip whose internal logic can be reprogrammed, making it a common learning tool for designing hardware from scratch. The CPU is written in SystemVerilog, a hardware description language, and the project includes everything needed to reconstruct the Vivado project file used by Xilinx FPGA tools. The repository layout separates the CPU logic into pipeline stages (fetch, decode, execute, load/store, writeback), a peripheral bridge for connecting to things like LEDs and a seven-segment display, and testbench files for running simulations. The memory map is documented: program code lives at one address range, data at another, and small peripherals like switches, keys, and the display are mapped to fixed addresses. The README is careful about what the project does and does not claim. A private simulation run observed the CPU passing all 37 instructions targeted by the contest, but the memory initialization files used for that run are not included in the public repository. What is included are several simpler self-generated test programs that check basic things like memory writes and branch instructions, but these are explicitly described as smoke tests, not full instruction coverage. Setting up requires Xilinx Vivado software and either a set of private memory files (contest-specific, not redistributed) or the included public smoke memory files. A Tcl script recreates the Vivado project from the repository files. Python scripts generate the public test memory images. A PowerShell script checks the repository is clean before submission. The project is in early-stage preview and the authors are explicit that it is not production-ready, not formally verified, and not intended as a reference core for others to build on. It is organized for students learning digital design and hardware description languages.

Copy-paste prompts

Prompt 1
Walk me through the pipeline stages of this RV32I CPU design.
Prompt 2
Explain how the memory map in this project assigns addresses to peripherals like the display.
Prompt 3
Help me rebuild the Vivado project from this repository's Tcl script.
Prompt 4
Show me how the public smoke test programs check the CPU's basic instructions.

Frequently asked questions

What is jyd-rv32i-fpga-core?

An educational RISC-V CPU design for FPGA boards, built for a Chinese student hardware design contest.

What language is jyd-rv32i-fpga-core written in?

Mainly SystemVerilog. The stack also includes SystemVerilog, Vivado, Python.

How hard is jyd-rv32i-fpga-core to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is jyd-rv32i-fpga-core for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.