arhamhashmi01 /
Axi4-lite
This repository contains the implementation of AXI4-Lite interface protocol on system verilog for FPGA/ASIC communication. Modular codebase with example designs and testbench.
69/100 healthLoading repository data…
zaun / repository
This repository contains a RISC-V System-on-Chip (SoC) design files implemented in SystemVerilog
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This repository contains a RISC-V System-on-Chip (SoC) design files implemented in SystemVerilog. The project includes various components such as the CPU, memory, peripherals, and interconnect logic. It aims to provide a modular SoC design for embedded applications that is primarily for learning.
This project prioritizes clarity over performance and optimizations, ensuring straightforward, clearly understandable code. It targets students, hobbyists, and junior-level engineers.
If you're interested in participating, please check the CONTRIBUTING.md.
The repository is organized as follows:
docs: Contains all documentation and resource files useful to the project, including PDFs related to RISC-V, TileLink, FPGA, and general project files like this README.md.etc: Files used in the project but not directly related to the design itself, such as simulation runner files, C code for programming, etc.src: Contains all the SystemVerilog files for the project.test: Contains all testbench files for the project.Core Components:
tl_cpu.sv: Main CPU module integrating all submodules.cpu_alu.sv: Arithmetic Logic Unit (ALU) for arithmetic and logical operations.cpu_mdu.sv: Multiply-Divide Unit (MDU) for handling multiplication and division instructions.cpu_regfile.sv: Register file for storing CPU registers.cpu_csr.sv: Control and Status Register (CSR) unit for system control.cpu_insdecode.sv: Instruction decoder for interpreting and dispatching instructions.Interconnect & Peripherals:
tl_switch.sv: Implements a switch for TL-UL protocol communication.tl_interface.sv: Provides the interface logic for TL-UL communication.tl_ul_uart.sv: UART module for serial input and output.tl_memory.sv: Memory interface for the SoC.tl_ul_output.sv: Handles output signals.Utilities:
instructions.sv: Contains global defines for instruction decoding.log.sv: Provides logging support for debugging.makeNote: Use the following flags to customize builds:
SUPPORT_M=1: Includes the 'M' extension.SUPPORT_ZICSR=1: Includes the 'Zicsr' extension.XLEN=64: Builds a 64-bit system (default is 32-bit).make run_cpu: Simulates a basic CPU running the etc/main.c program. Connects the tl_cpu.sv to a tl_switch with a single tl_memory. Outputs a memory dump and generates a waveform (graph/cpu_runner.vcd).
make run_soc: Simulates a basic SoC running the etc/bios/bios.c program. Connects the tl_cpu.sv to a tl_switch with tl_ul_bios, tl_memory, tl_ul_output, and tl_ul_uart. Outputs a waveform (graph/soc_runner.vcd).
Example:
make run_cpu XLEN=64 SUPPORT_ZICSR=1 SUPPORT_M=1 simulates a rv64im_zicsr system.
Note:
Default target FPGA: Tang Nano 20k
Use FPGA=9k to target Tang Nano 9k.
make: Builds the etc/bios program and synthesizes src/soc.sv into a out.fs bitstream.make load: Loads the out.fs bitstream onto the FPGA using openFPGALoader.make clean: Cleans up after a build.make clean before make or make load if any changes are made.Testbenches are located in the test/ folder. Each test has a make target:
make test_<filename>.
Example:
make test_tl_memory simulates test/test_tl_memory_tb.sv, generating waveforms (graph/tl_memory_32.vcd and graph/tl_memory_64.vcd) for all supported configurations.
Running make test will run all existing test_* pargets.
RISC-V System on a Chip © 2024-2025 by Justin Zaun is licensed under Creative Commons Attribution-ShareAlike 4.0 International.
You are free to:
Under the following terms:
Selected from shared topics, language and repository description—not editorial ratings.
arhamhashmi01 /
This repository contains the implementation of AXI4-Lite interface protocol on system verilog for FPGA/ASIC communication. Modular codebase with example designs and testbench.
69/100 healthtom-urkin /
This repository contains a SystemVerilog implementation of a parametrized Round Robin arbiter with three instantiation options
46/100 healthMohamedHussein27 /
This Repository contains the verification of a Synchronous FIFO design using SystemVerilog and SystemVerilogAssertions
KULeuven-COSIC /
This repository contains SystemVerilog code of the masked X2X (A2B & B2A) accelerator for lattice-based cryptography.
54/100 healthahegazy /
This repository contains scripts that I create through my digital design course in Verilog, VHDL, SystemVerilog etc..
42/100 healthSiddharthc8 /
This repository contains a collection of Verilog and SystemVerilog design files, along with their respective testbenches. It also includes UVM (Universal Verification Methodology) testbenches for advanced verification needs.
52/100 health