minimax VS picorv32

Compare minimax vs picorv32 and see what are their differences.

minimax

Minimax: a Compressed-First, Microcoded RISC-V CPU (by gsmecher)

picorv32

PicoRV32 - A Size-Optimized RISC-V CPU (by YosysHQ)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
minimax picorv32
13 15
194 2,753
- 2.2%
5.8 2.8
8 months ago 20 days ago
Verilog Verilog
BSD 3-clause "New" or "Revised" License ISC License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

minimax

Posts with mentions or reviews of minimax. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-04.
  • A Single-Cycle 64-Bit RISC-V Register File
    2 projects | news.ycombinator.com | 4 Aug 2023
    On FPGAs, a register file probably fits better into distributed RAM than block RAM.

    On Xilinx, for example: a 64-bit register file doesn't map efficiently to Xilinx's RAMB36 primitives. You'd need 2 RAMB36 primitives to provide a 64-bit wide memory with 1 write port and 2 read ports, each addressed separately. Only 6% (32 of 512) entries in each RAMB36 are ever addressable. It's this inefficient because ports, not memory cells, are the contented resource and BRAMs geometries aren't that elastic.

    A 64-bit register file in distributed RAM, conversely, is a something like an array of DPRAM32 primitives (see, for example, UG474). Each register would still be stored multiple times to provide additional ports, but depending on the fabric, there's less (or no) unaddressed storage cells.

    The Minimax RISC-V CPU (https://github.com/gsmecher/minimax; advertisement warning: my project) is what you get if you chase efficient mapping of FPGA memory primitives (both register-file and RAM) to a logical conclusion. Whether this is actually worth hyper-optimizing really depends on the application. Usually, it's not.

  • Verilator - Do I need to maintain two testbench suits?
    2 projects | /r/FPGA | 10 Jul 2023
    I haven't used it on a huge design (I'm usually a VHDL person), but it was a hassle-free replacement for iverilog when regression testing Minimax. Performance is substantially better; compilation times are worse.
  • Zylin ZPU: The worlds smallest 32 bit CPU with GCC toolchain
    7 projects | news.ycombinator.com | 13 Apr 2023
    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

  • Senior Design Project Ideas?
    4 projects | /r/FPGA | 21 Jan 2023
    I develop Minimax (https://github.com/gsmecher/minimax), an open-source RISC-V implementation. It's currently written in both VHDL and Verilog (the two implementations are equivalent, though I am likely to drop the VHDL implementation if it's too much work to keep them both.)
  • Compiled and Interpreted Languages: Two Ways of Saying Tomato
    4 projects | news.ycombinator.com | 11 Jan 2023
  • PicoBlaze in Verilog / Vivado
    2 projects | /r/FPGA | 16 Nov 2022
    The best point-of-entry for "tiny" MCUs these days is FemtoRV32-Quark or SERV. I also maintain my own small RISC-V core (Minimax), though it's early on in graduating from "experiment" to "real design".
  • Minimax: A Compressed-First, Microcoded RISC-V CPU
    2 projects | news.ycombinator.com | 1 Nov 2022
  • Minimax: a Compressed-First, Microcoded RISC-V CPU
    4 projects | /r/FPGA | 26 Oct 2022

picorv32

Posts with mentions or reviews of picorv32. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-16.

What are some alternatives?

When comparing minimax and picorv32 you can also consider the following projects:

openlane - OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.

rocket-chip - Rocket Chip Generator

neorv32-setups - 📁 NEORV32 projects and exemplary setups for various FPGAs, boards and (open-source) toolchains.

skywater-pdk - Open source process design kit for usage with SkyWater Technology Foundry's 130nm node.

wd65c02 - Cycle accurate FPGA implementation of various 6502 CPU variants

Projects - Ted Fried's MicroCore Labs Projects which include microsequencer-based FPGA cores and emulators for the 8088, 8086, 8051, 6502, 68000, Z80, Risc-V, and also Typewriter and EPROM Emulator projects. MCL51, MCL64, MCL65, MCL65+, MCL68, MCL86, MCL86+, MCL86jr, MCLR5, MCLZ8

vivado-risc-v - Xilinx Vivado block designs for FPGA RISC-V SoC running Debian Linux distro

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

openc910 - OpenXuantie - OpenC910 Core

mini-rv32ima - A tiny C header-only risc-v emulator.

litex - Build your hardware, easily!

serv - SERV - The SErial RISC-V CPU