• Stars
    star
    254
  • Rank 157,160 (Top 4 %)
  • Language Verilog
  • License
    Other
  • Created over 5 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Silicon-validated SoC implementation of the PicoSoc/PicoRV32

Raven: An ASIC implementation of the PicoSoC PicoRV32

Designed by efabless engineering, San Jose, CA

Overview

The purpose of this repository is to provide a completely free and open-source simulation environment for the Raven chip. The Raven chip itself can be found in the efabless IP catalog. See https://efabless.com (registration is required to view the IP catalog. Regitration is free and validation is not required to view the catalog contents. However, validation is required to use the efabless design environments; e.g., to view the layout of the raven chip on the Open Galaxy design platform).

The simulation environment matches the reference design in the efabless IP catalog functionally, and can be used to write software/firmware that will run on the Raven test board.

The requirements for simulating the Raven chip are: iverilog (iverilog.icarus.com), and the RISC-V gcc configured for the RISC-V options used by the picoRV32 processor design. The best way to obtain the correct gcc cross-compiler is to install the picoRV32 source from github (https://github.com/cliffordwolf/picorv32). The Makefile in the picoRV32 repository automatically downloads and locally installs the correct gcc cross-compiler. In this repository, it is necessary to change the path to gcc in verilog/Makefile and verilog/*/Makefile to match the local installation. Once that is done, cd to the "verilog/" directory and run "make" to run the simulation test suite.

Documentation on the memory mapping and the SPI slave interface can be found in the "doc/" directory.

Summary

Raven is using a very popular 32-bit RISC-V core (PicoRV32) developed by Clifford Wolf, a well-known open source champion. The core was previously proven with an FPGA implementation and Raven is the first SoC built with it. The system integrator is our own Tim Edwards, another champion in the open source domain. Included below is a 15s video showing the wakeup, key features and a link to high-level datasheet.

Raven is now published in our marketplace for designers and partner companies to clone and customize starting from a silicon-proven point. It is also published on the RISC-V Foundation’s directory of designs (https://riscv.org/risc-v-cores)

RAVEN Block Diagram

RAVEN-PICORV32

Key Features

  • RISC-V CPU (PicoRV32)
  • SRAM 32x1024
  • 100 MHz clock rate
  • Programmable clock source
  • 16 channels GPIO
  • 2 ADCs
  • 1 DAC
  • 1 Comparator
  • Over-temperature alarm
  • 100 kHz RC oscillator
  • Programmable functions on GPIO outputs
  • Programmable interrupts on GPIO inputs

High-level Datasheet

Short Video showing initial wakeup

More Repositories

1

caravel

Caravel is a standard SoC harness with on chip resources to control and read/write operations from a user-dedicated space.
Verilog
255
star
2

caravel_user_project

https://caravel-user-project.readthedocs.io
Verilog
165
star
3

openlane2

The next generation of OpenLane, rewritten from scratch with a modular architecture
Python
144
star
4

caravel_mpw-one

Caravel is a standard SoC hardness with on chip resources to control and read/write operations from a user-dedicated space.
Verilog
135
star
5

chipignite-resources

63
star
6

foss-asic-tools

FOSS-ASIC-TOOLS is all in one container for SKY130 based design both Analog and Digital. Below is a list of the current tools already installed and ready to use.
Tcl
59
star
7

volare

Version manager (and builder) for the Google sky130 and gf180mcu open-source PDKs
Python
53
star
8

caravel_user_project_analog

Verilog
39
star
9

sky130_sram_macros_old

SourcePawn
36
star
10

mpw_precheck

Python
34
star
11

clear

Verilog
30
star
12

caravel_board

C
28
star
13

proton

Perl
27
star
14

cace

Circuit Automatic Characterization Engine
Python
27
star
15

caravel_mgmt_soc_litex

https://caravel-mgmt-soc-litex.readthedocs.io/en/latest/
Verilog
25
star
16

chipcraft---mest-course

TL-Verilog
23
star
17

caravel-lite

Verilog
16
star
18

raptor

Arm Cortex-M0 based Customizable SoC for IoT Applications
Assembly
13
star
19

sky130_klayout_pdk

Skywaters 130nm Klayout PDK
Python
13
star
20

raptor_soc_template

Raptor is an SoC Design Template based on Arm Cortex M0 or M3 core.
Verilog
12
star
21

ravenna

32-bit RISC-V microcontroller
C
11
star
22

ipm

Open-source IPs Package Manager (IPM)
Python
10
star
23

clear_old

CLEAR is an Open Source FPGA ASIC delivered to you on its development board and its open source software development tools and all the ASIC design tools used to create it.
Verilog
7
star
24

caravel-gf180mcu

This repository is the GF180MCU port of Caravel. For more information about Caravel, see the original repo at https://github.com/efabless/caravel.
Verilog
7
star
25

openrcx-calibration

Verilog
5
star
26

EF_PSRAM_CTRL

A Quad I/O SPI Pseudo Static RAM (PSRAM) Controller
Verilog
5
star
27

timer-tutorial

Source files for the timer-tutorial
Tcl
3
star
28

caravel_ibex

An example project that utilizes caravel user space for an ibex based SoC
Verilog
3
star
29

openfpga-2

Verilog
3
star
30

EF_UART

Universal Asynchronous Receiver/Transmitter (UART) with FIFOs Soft IP
Verilog
3
star
31

EF_TCC32

A 32-bit Timer/Counter/Capture Soft IP (Verilog)
Verilog
3
star
32

EF_LDOR1V8

Open Source, 3.3 V to 1.8 V, 100 mA Full Regulator
Python
3
star
33

openlane-ci-designs

Verilog
3
star
34

Caravel_on_FPGA

Verilog
3
star
35

nldiff

Simple netlist comparison utility
Python
2
star
36

strive

Python
2
star
37

caravel_SI_testing

C
2
star
38

nm

Verilog
2
star
39

open_pdk_techfiles

2
star
40

dockerized-verification-setup

This is a dockerized tool chain for running verilog DV customized for the sky130A-based projects.
Dockerfile
2
star
41

caravel_openlane

Dockerfile
2
star
42

utilities

A repo for various EDA related utilities
Python
2
star
43

arduino-greenpak-shield

Shield for the GreenPak SLG468X chipset
Python
2
star
44

mpc

Multi-Project Support for Caravel
Verilog
2
star
45

sak-deprecated

SAK = Swiss Army Knife - Various scripts and utilities around popular FOSS EDA
Python
2
star
46

EF_UVM

Python
2
star
47

BusWrap

Python
2
star
48

grapevine

Verilog
1
star
49

libparse-python

Python wrapper around Yosys's `libparse` module
C++
1
star
50

tinyfpga_rsa_demo

Coq
1
star
51

EF_GPIO8

A generic 8-bit General Purpose I/O (GPIO) Peripheral
Verilog
1
star
52

silkflow-examples

Symbiflow Examples with a Silkflow flavor
Verilog
1
star
53

web_app_example

HTML
1
star
54

tinytapeout-rca

Verilog
1
star
55

silkflow

More straightforward utility for Symbiflow
Python
1
star
56

website_issues

1
star
57

clock-mesh-analysis

Verilog
1
star
58

drc-magic

Python
1
star
59

litex_ibex

Verilog
1
star
60

openram_tc_1kb

1
star
61

caravel_fasoc

Verilog
1
star
62

sram_macro_16KB

Verilog
1
star
63

caravel-sim-infrastructure

HTML
1
star
64

tt-fpga-demo

Tcl
1
star
65

tt-fpga-hdl-demo

TL-Verilog
1
star
66

lef_parser

[WIP] Antlr4-based parser for LEF files
Python
1
star
67

OL-DFFRAM

Pre-hardened DFFRAM macros using DFFRAM
Verilog
1
star
68

caravel_aes_example

A user project example for caravel that uses https://github.com/secworks/aes
Verilog
1
star