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
  • Sonar - Write Clean Java Code. Always.
  • InfluxDB - Access the most powerful time series database as a service
  • 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.

  • Sonar

    Write Clean Java Code. Always.. Sonar helps you commit clean code every time. With over 600 unique rules to find Java bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • 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