Home

Awesome

Kronos RISC-V

Kronos is a 3-stage in-order RISC-V RV32I_Zicsr_Zifencei core geared towards FPGA implementations.

Kronos find primes

Finding prime numbers (sf_prime.c) with Kronos implemented on iCEBreaker (Demo Snowflake SoC)

Arduboy on KRZ SoC - https://www.youtube.com/watch?v=nveWIcuFHzo

Features

Kronos Architecture

News

Documentation

https://sonalpinto.github.io/kronos/

Integration

All of the HDL for the Kronos core is located in the rtl/core directory, with the top design file being kronos_core.sv.

Instantiation template and IO description at docs/integration

KRZ SoC

Kronos Zero Degree (KRZ) is the System-on-Chip packaged in this project to show-off the Kronos core. It is designed for the iCE40UP5K with the following features.

KRZ SoC

Read More - KRZ SoC

Performance

Kronos running on the KRZ SoC hits a DMIPS/MHz of 0.7105. making it one of the fastest RISC-V cores to run on the the iCE40UP5K, an FPGA with 5280 LUTs. More details here.

The following single-thread algorithm tests have been ported as well, and the CPI (Clocks Per Instructions) is recorded. Yes, they all pass.

TestCyclesInstretCPI
median797241521.92
multiply33442208991.60
qsort2204351235051.78
rsort2915051711311.70
spmv314354719473281.61
towers1084761681.75
vvadd1403780261.74

Status

License

Licensed under Apache License, Version 2.0 (see LICENSE for full text).

Miscellaneous

I initially started this project to build some street cred as a digital designer. The RISC-V ISA and the open-source community that has grown around it is absolutely beautiful, and I want to be a part of it. If it wasn't for the maturity of the riscv-toolchain and the effort the community has put into it, I wouldn't have attempted to build this core. A core can only shine when it runs awesome software. As a bonus, I also get something neat to present during job interviews, instead of just my prosaic grad school work on formal theory.