30 open-source projects similar to chipsalliance/rocket-chip, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
XiangShan is a high-performance RISC-V processor core and a hardware description language framework. It provides a construction-based system for designing, simulating, and verifying complex processor micro-architectures and peripheral devices. The project includes a high-performance CPU simulator used for architectural exploration and functional verification of processor execution. The project implements a superscalar out-of-order CPU architecture that uses renaming and reorder buffers to execute instructions in parallel. It generates synthesizable Verilog files from hardware descriptions to
LiteX is an FPGA SoC development suite and SoC builder framework used to programmatically design system-on-chips. It provides a hardware description toolchain that uses a scriptable framework to define hardware layouts and automate the generation of hardware description language code. The project distinguishes itself by orchestrating multiple vendor and open-source toolchains to synthesize digital logic and generate deployable bitstreams. It supports multi-language logic integration, allowing disparate hardware description languages to be combined into a single project. The framework covers
Chisel is a hardware construction language and description tool used to define digital circuits. It functions as a generator that converts high-level hardware descriptions into synthesizable Verilog code for use in ASIC and FPGA design. The project enables the creation of parameterizable hardware templates and reusable digital components. It leverages functional and object-oriented programming patterns to transform complex circuit representations into finalized hardware descriptions. The toolset covers the register-transfer level design workflow, allowing users to model digital circuits usin
picorv32 is a size-optimized RISC-V CPU core and synthesizable processor IP designed for integration into FPGA and ASIC hardware designs. It serves as an open-source CPU architecture and embedded system-on-chip component that implements a standard RISC-V instruction set. The design features a modular architecture that allows for the integration of external coprocessors to implement custom non-branching instructions. It includes a parameterized integer unit with configurable multiplication and division cores to balance performance against total logic gate count. The project covers a broad ran
Digital is a digital logic circuit simulator and hardware design verification tool. It provides a visual environment for designing, testing, and verifying electronic circuits using event-based simulation and automated logic synthesis. The platform functions as a logic synthesis tool that applies boolean algebra to minimize gate configurations and convert truth tables into efficient hardware. It also serves as an HDL export tool, translating visual circuit graphs into VHDL or Verilog code, and as a CPLD deployment tool that generates JEDEC files for flashing programmable logic chips. The soft
GHDL is a compiler and simulator for VHDL hardware descriptions. It functions as a multi-pass analysis elaborator that resolves design hierarchies and dependencies to prepare hardware descriptions for simulation or synthesis. The project transforms VHDL source code into executable binaries for high-speed digital design verification and serves as a synthesis tool that converts descriptions into structural netlists compatible with vendor or open-source flows. It also implements the Language Server Protocol to provide static analysis, autocomplete, and code navigation for VHDL files. The toolse
Clash is a functional hardware compiler and hardware description language compiler that translates strongly typed functional programs written in Haskell into synthesizable VHDL, Verilog, and SystemVerilog code. It serves as a development tool allowing digital designers to write hardware descriptions in functional languages and compile them directly to FPGA targets and physical netlists. The compilation infrastructure covers structural hardware compilation, including graph-based code normalization, functional language translation, and netlist generation. It features type-level clock domain saf
darkriscv is a collection of tools and projects for RISC-V processor implementation, hardware debugging, and automated FPGA synthesis. It provides a hardware design that implements a RISC-V processor core and system components for deployment on programmable logic. The project includes a hardware debugger with a command-line interface for verifying processor state by manipulating registers and dumping memory on a hardware target. It also features a set of scripts and project files to automate the synthesis and programming of hardware designs within a Linux environment. The codebase covers har
Logisim Evolution is a digital logic simulator and schematic editor used for designing and verifying digital circuits. It functions as a tool for digital circuit design and real-time logic simulation, allowing users to create schematic representations of electronic hardware using gates and registers. The software distinguishes itself by providing hardware description language tools that allow for the definition of custom component behavior and the translation of visual schematics into synthesis-ready code for FPGA hardware deployment. It also serves as a bridge for physical hardware integrati
The Development Container Specification defines a standardized metadata format and protocol for creating reproducible, containerized development environments that work identically across local machines, remote services, and CI/CD pipelines. At its core, it provides a declarative JSON schema that captures the container image, tools, runtime, lifecycle scripts, and editor customizations for a workspace. This approach treats the development environment as code—version-controlled, shareable, and portable. Key to the specification is a cross-platform provisioning protocol that applies the same con
Flox is a Nix environment manager designed to create, share, and maintain reproducible software stacks. It uses declarative manifests to isolate project dependencies and toolchains, ensuring identical runtimes across different machines and operating systems. The platform distinguishes itself by enabling the deployment of imageless workloads to Kubernetes, allowing software to run in pods without traditional container images. It can also synthesize OCI-compliant container images and distroless artifacts directly from declarative environment definitions. The project covers broad capability are
Devbox is a development environment orchestrator designed to create reproducible, isolated workspaces for software projects. By leveraging declarative configuration files and the Nix package manager, it ensures that project dependencies, environment variables, and tooling remain consistent across different machines and team members. It functions as a central manager for project-specific environments, providing isolated shell execution that prevents conflicts with host system software. The project distinguishes itself through its ability to bridge local development and cloud-hosted infrastruct
zplug is a plugin manager for the Zsh shell designed to install and organize community plugins, themes, and commands from remote repositories and local paths. It focuses on environment reproducibility through versioned configuration, allowing plugins to be pinned to specific git branches, tags, or commit hashes. The project optimizes shell startup speed by using a lazy loading system that defers the execution of plugins until they are explicitly required. To accelerate initial environment setup, it employs a parallel installer that downloads multiple extensions concurrently. The manager supp
CPM.cmake is a dependency manager and package resolver for C and C++ projects that integrates directly into the CMake build system. It automates the process of fetching, configuring, and managing external libraries by resolving dependencies through system-wide package managers or by downloading source code from remote repositories. The system ensures reproducible builds by locking transitive dependency versions and verifying the authenticity of downloaded source archives using cryptographic hash checksums. It allows for development flexibility through local filesystem overrides, which redirec
This project is a collection of pre-configured Docker images that provide ready-to-run environments for interactive computing and data science. It functions as a scientific computing stack and a polyglot notebook server, bundling language interpreters and libraries for Python, R, and Julia within a containerized system to ensure reproducible research environments. The collection uses a layered image hierarchy to provide versioned software dependencies and support for hardware acceleration across different CPU architectures. It allows for the creation of custom images based on a foundation of
This framework provides a simplified interface for managing Bluetooth Low Energy connections and peripheral hardware communication on Android devices. It acts as a thin abstraction layer over the native system Bluetooth stack, reducing boilerplate code while facilitating device discovery, connection lifecycle management, and data exchange. The library distinguishes itself by implementing a state-machine approach to connection management, which tracks hardware links to ensure reliable transitions between scanning, connecting, and active communication. It further simplifies complex hardware int
DevPod is an IDE-agnostic remote development tool and containerized environment manager. It provisions reproducible development workspaces using open-standard configuration files and orchestrates these environments across local machines, remote servers, or public cloud providers. The system utilizes a client-side orchestration model that decouples workspace management from centralized cloud controllers. It features a pluggable provider-based infrastructure abstraction, which allows for multi-backend deployment and the creation of custom provider plugins to extend support for additional cloud
This project is a game source code decompilation effort that reconstructs a functional C source code representation of a commercial game from its original binary. It provides a compilation system designed to produce binary ROM files that are bit-for-bit identical to original commercial releases. The project utilizes a containerized toolchain environment to ensure consistent compilation of legacy game source code across different operating systems. This pipeline transforms the decompiled C source into hardware-compatible binaries for the Nintendo 64. The workflow encompasses C-based source re
This project provides a functional package manager and a reproducible build system designed to ensure identical build inputs always produce the same outputs. It serves as the foundation for a declarative Linux distribution where the entire system state is defined in a configuration file, enabling predictable deployments and full-system rollbacks. The system uses a deterministic functional language and a lazy-evaluation expression engine to manage software dependencies and isolate build environments. It distinguishes itself through a content-addressable store that allows multiple versions of s
SWE-bench is a software engineering benchmark and evaluation framework designed to measure the ability of large language models to resolve real-world GitHub issues. It provides datasets and evaluation suites to verify whether model-generated code patches correctly fix software bugs. The project includes a multimodal benchmark for testing visual language models on issues involving graphical interfaces. It utilizes a collection of pre-processed repository issues and gold-standard patches to train and test AI coding agents. The framework provides infrastructure for containerized patch verificat
Verilator is a hardware simulation engine and toolchain that translates Verilog and SystemVerilog hardware description languages into optimized C++ or SystemC models. It functions as a compiler and transpiler, converting hardware designs into executable binaries to achieve high-speed simulation and integration into software environments. The project distinguishes itself by focusing on simulation acceleration through the generation of optimized C++ classes and cycle-accurate models. It provides a SystemVerilog linter for static analysis of hardware designs and a hardware coverage analyzer to t
Composer is a command-line dependency management tool for PHP that automates the process of resolving, downloading, and installing external code libraries. It functions by evaluating version constraints defined in a project's configuration file to calculate a compatible dependency tree, ensuring that applications maintain consistent behavior across different development and production environments. The tool utilizes a structured manifest file as the single source of truth for project requirements and generates a deterministic lock file to record the exact version and hash of every installed d
This project provides a framework for defining and distributing reproducible development environments through modular, containerized configuration units. It functions as an infrastructure-as-code tool that automates the setup of standardized workspaces, ensuring that programming languages, command-line utilities, and system dependencies are consistently provisioned across different projects and team members. The system distinguishes itself by packaging these configuration units as versioned, discoverable artifacts that can be layered onto base container images. By utilizing a standardized spe
Mamba is a package manager for scientific and data science workflows that implements a high-performance dependency solver in C++. It uses a SAT-based resolution model and a specialized library for metadata processing to calculate compatible package versions across different operating systems. The project provides a standalone executable runtime, allowing the creation of isolated package environments without requiring a pre-existing system installation. It ensures reproducible environment setup by utilizing lock files to pin exact package versions and channels. The system supports containeriz
Slim is a concise, indentation-based template language and markup engine for generating HTML and XML. Designed for the Ruby ecosystem, it converts shorthand syntax into well-formed documents without the need for traditional closing tags. The engine functions as a multi-engine wrapper, allowing the integration of external rendering engines such as Markdown and Sass within a single template file. It also provides a command line interface for rendering templates and converting them between different markup formats. The system supports dynamic content generation through embedded Ruby logic, incl
This project is a suite of tools for scraping remote assets, applying binary modifications, and orchestrating the distribution of patched Android applications. It functions as an automated build pipeline that fetches remote assets and compiles patched binaries into installable packages. The system includes a specialized remote asset downloader designed to fetch application files and version metadata from remote servers while bypassing bot protections. It also operates as an Android app distribution system that uploads modified binaries to a repository and sends update notifications via Telegr
Goldmark is a Markdown parser and renderer written in Go that converts Markdown text into HTML or XHTML. It implements the CommonMark specification to ensure consistent parsing behavior. The project utilizes a modular extension registry, allowing for the addition of custom syntax such as tables, task lists, and footnotes. It also includes specialized support for CJK languages to handle specific line-breaking and emphasis rules for Chinese, Japanese, and Korean characters. The library parses text into an abstract syntax tree for programmatic document analysis and modification. Its capabilitie
Puphpet is a web-based infrastructure as code generator and local development environment orchestrator. It provides a graphical interface for defining and automating the setup of isolated virtual machine environments used for web development. The tool functions as a virtual machine environment builder that transforms user inputs into structured, declarative configuration models. It abstracts the complexity of infrastructure automation tools by mapping visual interface selections to configuration files. The system covers the generation of virtual machine configurations and the provisioning of
The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments. This specification acts as an embedded expression engine that allows applications to integrate portable logic for evaluating user-defined configurations. It is specifically designed to enable safe user-defin
GoCD is a continuous delivery server and build automation platform designed to orchestrate software delivery pipelines. It functions as a CD pipeline orchestrator that manages the automated execution of build, test, and deployment stages to move code from commit to production. The system utilizes an agent-based job execution model where remote agents pull work from a central server via polling. It employs a state-machine approach to pipeline orchestration, tracking the progression of software through stages and managing immutable build outputs via a central artifact repository to ensure consi