This repository contains the Verilog RTL code for the MCCI Catena Risc-V V32I CPU with suitable peripherals for the MCCI Catena 4710 for the Lattice Semiconductor iCE-40 Ultra Plus FPGA.
Contents:
The repository contains both FGPA code and some test software; the test software is intended to be used with the MCCI Catena RISC-V SDK.
The following hardware platforms are supported as build targets. The directories are for the Lattice iCECube2 projects files, and all begin with hw/syn/ice40up/
.
Platform | Directory | Project file |
---|---|---|
MCCI Catena 4710 | catena4710-riscv |
catena4710-riscv_sbt.project |
Lattice iCE40-UP MDP (FPGA "C") | larva_mdp_c |
larva_mdp_c_sbt.project |
Lattice iCE40-UP Breakout Board | larva_bb |
larva_bb_sbt.project |
Himax demo board | larva_himax |
larva_himax_sbt.project |
Documents in this repository include:
- hw/syn/ice40up/README.md: instructions on how to create a new FPGA design.
- hw/src/boards/Catena4710/PERIPHERALS.md: address map and documentation for the peripherals included in the Catena 4710
- hw/src/boards/lora-mdp/PERIPHERALS.md: information about peripherals included when building for the Lattice Semiconductor MDP.
- hw/syn/ice40up/larva_bb/README.md: information about using the FPGA on the Lattice iCE40UP breakout board.
The following demo programs are supported, all in ${top}/sw
.
Directory | Description |
---|---|
cxxtest | C++ test program and simple "it's alive" test case. |
ttn_sensor1 | A demo (targeting the MDP) which exercises the sensors on the MDP board, transmitting data using LoRaWAN and The Things Network ("ttn"). |
lorawan_raw | A simple radio test, useful for verifying that things are working. Use another lorawan_raw device, and you'll be able to see transmit and receive working. |
This project currently requires the Lattice Semiconductor iCECube2 FPGA software for building the FPGA.
-
Launch iCube2. We used release
2017.01.27914
. -
In the Design tree (on the left), select Open Project, and open
{top}/fpga/hw/syn/ice40up/*DIR*/*PROJECT*
-
From the menu bar, select
Tool>Run All
.
Building the software requires use of the SDK. Normally the SDK lives in a parallel directory to the fpga
directory. Please see instructions in the SDK.
The SDK includes scripts for using either Lattice Diamond Programmer or iceprog
from the iceStorm toolchain.
This repository is released under GPLv3. Commercial licenses are also available from MCCI Corporation.
MCCI invests time and resources providing this open source code, please support MCCI and open-source hardware by purchasing products from MCCI, Adafruit and other open-source hardware/software vendors!
For information about MCCI's products, please visit store.mcci.com.
MCCI and MCCI Catena are registered trademarks of MCCI Corporation. All other marks are the property of their respective owners.