lion: RISC-V Core

[ bsd3, hardware, library ] [ Propose Tags ]

Lion is a formally verified, 5-stage pipeline RISC-V core. Lion targets the VELDT FPGA development board and is written in Haskell using Clash.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.4.0.0
Change log CHANGELOG.md
Dependencies base (>=4.13 && <4.17), clash-prelude (>=1.2.5 && <1.7), generic-monoid (>=0.1 && <0.2), ghc-typelits-extra, ghc-typelits-knownnat, ghc-typelits-natnormalise, ice40-prim (>=0.3 && <0.3.1.4), lens (>=4.19 && <5.2), mtl (>=2.2 && <2.3) [details]
License BSD-3-Clause
Copyright (c) 2021-2024 David Cox
Author dopamane <standard.semiconductor@gmail.com>
Maintainer dopamane <standard.semiconductor@gmail.com>
Category Hardware
Bug tracker https://github.com/standardsemiconductor/lion/issues
Source repo head: git clone https://github.com/standardsemiconductor/lion
Uploaded by dopamane at 2024-01-18T04:15:20Z
Distributions
Downloads 445 total (10 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed as of 2024-01-18 [all 2 reports]

Readme for lion-0.4.0.0

[back to package description]

Where Lions Roam: RISC-V on the VELDT

Haskell CI Hackage Hackage Dependencies

Lion is a formally verified, 5-stage pipeline RISC-V core. Lion targets the VELDT FPGA development board and is written in Haskell using Clash.

This repository contains four parts:

  1. The Lion library: a pipelined RISC-V core.
  2. lion-formal: formally verify the core using riscv-formal.
  3. lion-soc: a System-on-Chip demonstrating usage of the Lion core on the VELDT.
  4. lion-metric: Observe Yosys synthesis metrics on the Lion Core.

Lion library

Usage:

  1. Add lion to build depends section of Cabal file
  2. import module in source files import Lion.Core

When connecting the core to memory and peripherals, ensure single cycle latency.

Clone the repository

  1. git clone https://github.com/standardsemiconductor/lion.git
  2. cd lion
  3. git submodule update --init

Features

Current Support

  • Architecture: RV32I (no FENCE, ECALL, EBREAK)
  • Configurable ALU adder and subtractor: use a generic (+) and (-) or SB_MAC16 hard IP

Future Support

All features will be added in a configurable manner extending the base RV32I configuration noted above

  • Zicsr, Control and Status Register (CSR) Instructions
  • CSR registers
  • RV32IM

Check out the Lion Development project to see which features are in progress.

References and Additional Resources