GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - onchipuis/mriscv: A 32-bit Microcontroller featuring a RISC-V core

BranchesTags
Open more actions menu

Latest commit

 

History

31 Commits
31 Commits

Folders and files

NameName
Last commit message
Last commit date
board
board
 
 
mriscv_apb
mriscv_apb
 
 
mriscv_axi
mriscv_axi
 
 
mriscvcore @ 1e94fa9
mriscvcore @ 1e94fa9
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
LICENSE
LICENSE
 
 
PID4063257.pdf
PID4063257.pdf
 
 
README.md
README.md
 
 
demo1.pdf
demo1.pdf
 
 
fully-synthesized-trng.pdf
fully-synthesized-trng.pdf
 
 
mriscv.jpg
mriscv.jpg
 
 
mriscv.pdf
mriscv.pdf
 
 

Repository files navigation

mriscv

Building a pure RV32I Toolchain

The default settings in the riscv-tools build scripts will build a compiler, assembler and linker that can target any RISC-V ISA, but the libraries are built for RV32G and RV64G targets. Follow the instructions below to build a complete toolchain (including libraries) that target a pure RV32I CPU.

The following commands will build the RISC-V gnu toolchain and libraries for a pure RV32I target, and install it in /opt/riscv32i:

# Ubuntu packages needed:
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev \
        libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc

sudo mkdir /opt/riscv32i
sudo chown $USER /opt/riscv32i

git clone https://github.com/riscv/riscv-gnu-toolchain riscv-gnu-toolchain-rv32i
cd riscv-gnu-toolchain-rv32i
git checkout 7e48594
git submodule update --init --recursive

mkdir build; cd build
../configure --with-arch=RV32I --prefix=/opt/riscv32i
make -j$(nproc)

The Microcontroller

The microcontroller is composed by a 32b RISC-V core, a 4KB SRAM, a 10b ADC, a 12b DAC, 8 GPIO, and two SPI interfaces (master and slave). All the modules are conneted using two differente buses: AXI4 and APB.

./mriscv.jpg

The directory tree is:

mriscv/mriscv_axi/ADC_interface_AXI -----> ADC interface with the AXI4 bus

mriscv/mriscv_axi/AXI_SP32B1024 -----> SRAM memory interface

mriscv/mriscv_axi/DAC_interface_AXI -----> DAC interface with the AXI4 bus

mriscv/mriscv_axi/axi4_interconnect -----> the AXI4 bus

mriscv/mriscv_axi/impl_axi -----> the microcontroller

mriscv/mriscv_axi/spi_axi_master -----> master SPI used for programming

mriscv/mriscv_axi/spi_axi_slave -----> slave SPI used for data adquisition

Development Board

Also, there are a PCB design for the development board, including circuits for sensing analog signals and the capability to use external clocks. The design is in mriscv/board

About

A 32-bit Microcontroller featuring a RISC-V core

Resources

Readme
License
Activity

Stars

166 stars

Watchers

15 watching

Forks

40 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.