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]
Versions [faq] 0.1.0.0, 0.2.0.0
Change log CHANGELOG.md
Dependencies base (>=4.13 && <4.15), Cabal, clash-prelude (>=1.2.5 && <1.5), generic-monoid (==0.1.*), ghc-typelits-extra, ghc-typelits-knownnat, ghc-typelits-natnormalise, ice40-prim (==0.3.*), lens (>=4.19 && <5.1), mtl (==2.2.*) [details]
License BSD-3-Clause
Copyright (c) 2021 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 git://github.com/standardsemiconductor/lion.git
Uploaded by dopamane at 2021-03-27T22:07:20Z
Distributions NixOS:0.2.0.0
Downloads 67 total (3 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2021-03-27 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for lion-0.2.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.