How a CPU works: Bare metal C on my RISC-V toy CPU

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

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

    A digital logic designer and circuit simulator.

  • I have been building a CPU using: https://github.com/hneemann/Digital

    Much faster than Logisim, UI a little clunky, but my CPU runs around 0.5Mhz and it has very nice peripherals like Telnet, graphics ram, VGA etc

    Terrible name that is hard to google, but great tool.

  • fpga-experiments

  • You are right :)

    Here's the repo: https://github.com/fnoeding/fpga-experiments

    I'll update the post with it too.

  • 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
  • qtrvsim

    RISC-V CPU simulator for education purposes

  • - source & native releases: https://github.com/cvut/qtrvsim

    It visualizes the inner workings of a basic RISC-V CPU, you can choose a basic single-cycle CPU, or a full 5-stage pipelined CPU with a hazard unit.

    I also recently wrote a 5-stage RISC-V CPU in SystemVerilog, the implementation should be reasonably well-commented: https://github.com/MatejKafka/risc-v_pipelined_cpu

  • risc-v_pipelined_cpu

    RISC-V CPU with a 5-stage pipeline, written in SystemVerilog

  • - source & native releases: https://github.com/cvut/qtrvsim

    It visualizes the inner workings of a basic RISC-V CPU, you can choose a basic single-cycle CPU, or a full 5-stage pipelined CPU with a hazard unit.

    I also recently wrote a 5-stage RISC-V CPU in SystemVerilog, the implementation should be reasonably well-commented: https://github.com/MatejKafka/risc-v_pipelined_cpu

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