Zylin ZPU: The worlds smallest 32 bit CPU with GCC toolchain

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • zpu

    The Zylin ZPU

  • mini-rv32ima

    A tiny C header-only risc-v emulator.

  • Not GP, but this might scratch your itch https://github.com/cnlohr/mini-rv32ima

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • pinwheel

    A tiny RISC-V processor for hard-real-time FPGA-based applications. (by aappleby)

  • It will eventually be in https://github.com/aappleby/Pinwheel but that repo is currently a mess.

  • zpugcc

  • Yes, exactly, the gcc port is a very old version, and the build process frequently breaks on more modern systems. I did fork it [0] and apply a couple of fixes a year or so back, but I seem the be the only one who cares now, and even I don't care enough to pour large amounts of time into it!

    [0] https://github.com/robinsonb5/zpugcc

  • ZPUFlex

    A highly-configurable and compact variant of the ZPU processor core

  • For me the most interesting thing about ZPU is that its instructions are only a single byte each, which means that while the CPU is much smaller than most RISC-V implementations, the code density is significantly better than RV32 code. (Compressed RISC-V code can beat ZPU, but adding the compressed instruction set to a RISC-V core increases its size quite a bit.)

    I did play with the ZPU quite a bit 8 or 9 years ago, and forked the ZPU Small variant to create ZPUFlex [0]. I borrowed a number of ideas from ZPU when I created my own CPU Project, EightThirtyTwo [1], some years later.

    [0] https://github.com/robinsonb5/ZPUFlex

  • EightThirtyTwo

    An experimental CPU core with 8-bit instruction words and 32-bit registers

  • minimax

    Minimax: a Compressed-First, Microcoded RISC-V CPU

  • Note that you can't compare LUT4 results (ZPU @ 440 LUTs) against LUT6 results (PicoRV32 @ 750 LUTs). The ZPU is remarkably small, and it's a bigger gap than a direct comparison shows.

    SERV is a fair comparison, since it's architected for 4LUTs and I suspect the synthesis results come from iCE40 tools.

    I have a contender in the "very small" space, too [1], although I don't claim it's as mature or complete as SERV. (If Minimax was excluded from your post on the basis of insanity, I'm OK with that.)

    [1] https://github.com/gsmecher/minimax

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts