All Projects → lambdaconcept → lambdasoc

lambdaconcept / lambdasoc

Licence: BSD-2-Clause License
No description, website, or topics provided.

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
Verilog
626 projects

A framework for building SoCs with Amaranth

LambdaSoC is a work in progress. Please keep in mind that some interfaces will undergo breaking changes as they evolve and/or get moved upstream.

Installation

git clone https://github.com/lambdaconcept/lambdasoc
cd lambdasoc
git submodule update --init --recursive

pip install -r requirements.txt
python setup.py install

Quick start

Let's build and run the SoC example at examples/sram_soc.py. It is composed of a Minerva CPU, SRAM storage, an UART and a timer.

Requirements
  • A riscv64-unknown-elf GNU toolchain, to build the first-stage bootloader
  • A supported platform with enough resources to fit the SoC

Here, we build the SoC for the amaranth_boards.arty_a7.ArtyA7Platform:

python examples/sram_soc.py --baudrate=9600 amaranth_boards.arty_a7.ArtyA7Platform

The bootloader shell can be accessed from the serial port:

flterm --speed=9600 /dev/ttyUSB1

LambdaSoC BIOS
(c) Copyright 2007-2020 M-Labs Limited
(c) Copyright 2020 LambdaConcept
Built Mar 26 2020 13:41:04

BIOS CRC passed (c402e7e2)
BIOS>

The help command lists available commands.

License

LambdaSoC is released under the permissive two-clause BSD license. See LICENSE file for full copyright and license information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].