All Projects → onchipuis → Mriscv

onchipuis / Mriscv

Licence: other
A 32-bit Microcontroller featuring a RISC-V core

Labels

Projects that are alternatives of or similar to Mriscv

Cpu
A very primitive but hopefully self-educational CPU in Verilog
Stars: ✭ 80 (-20.79%)
Mutual labels:  verilog
Lpc sniffer tpm
A low pin count sniffer for ICEStick - targeting TPM chips
Stars: ✭ 91 (-9.9%)
Mutual labels:  verilog
Vgasim
A Video display simulator
Stars: ✭ 94 (-6.93%)
Mutual labels:  verilog
Vsdflow
VSDFLOW is an automated solution to programmers, hobbyists and small scale semiconductor technology entrepreneurs who can craft their ideas in RTL language, and convert the design to hardware using VSD (RTL-to-GDS) FLOW. VSDFLOW is completely build using OPHW tools, where the user gives input RTL in verilog. From here on the VSDFLOW takes control, RTL is synthesized (using Yosys). The synthesized netlist is given to PNR tool (Qflow) and finally Sign-off is done with STA tool (using Opentimer). The output of the flow is GDSII layout and performance & area metrics of your design. VSDFLOW also provide hooks at all stages for users working at different levels of design flow. It is tested for 30k instance count design like ARM Cortex-M0, and can be further tested for multi-million instance count using hierarchical or glue logic.
Stars: ✭ 82 (-18.81%)
Mutual labels:  verilog
Oldland Cpu
Oldland CPU - a 32-bit RISC FPGA CPU including RTL + tools
Stars: ✭ 90 (-10.89%)
Mutual labels:  verilog
Cores Swervolf
FuseSoC-based SoC for SweRV EH1
Stars: ✭ 92 (-8.91%)
Mutual labels:  verilog
C65gs
FPGA-based C64 Accelerator / C65 like computer
Stars: ✭ 79 (-21.78%)
Mutual labels:  verilog
Panologic G2
Pano Logic G2 Reverse Engineering Project
Stars: ✭ 99 (-1.98%)
Mutual labels:  verilog
Ivtest
Regression test suite for Icarus Verilog.
Stars: ✭ 90 (-10.89%)
Mutual labels:  verilog
Mips32 Cpu
奋战一学期,造台计算机(编译出的bit文件在release中,可以直接食用)
Stars: ✭ 94 (-6.93%)
Mutual labels:  verilog
Xilinx Serial Miner
Bitcoin miner for Xilinx FPGAs
Stars: ✭ 83 (-17.82%)
Mutual labels:  verilog
Hoodlum
A nicer HDL.
Stars: ✭ 88 (-12.87%)
Mutual labels:  verilog
Icestation 32
Compact FPGA game console
Stars: ✭ 93 (-7.92%)
Mutual labels:  verilog
Ponylink
A single-wire bi-directional chip-to-chip interface for FPGAs
Stars: ✭ 80 (-20.79%)
Mutual labels:  verilog
Kamikaze
Light-weight RISC-V RV32IMC microcontroller core.
Stars: ✭ 94 (-6.93%)
Mutual labels:  verilog
Homotopy
Homotopy theory in Coq.
Stars: ✭ 79 (-21.78%)
Mutual labels:  verilog
Fpga Cnn
FPGA implementation of Cellular Neural Network (CNN)
Stars: ✭ 91 (-9.9%)
Mutual labels:  verilog
Spatial Lang
Spatial: "Specify Parameterized Accelerators Through Inordinately Abstract Language"
Stars: ✭ 99 (-1.98%)
Mutual labels:  verilog
Nyuziprocessor
GPGPU microprocessor architecture
Stars: ✭ 1,351 (+1237.62%)
Mutual labels:  verilog
Radioberry 2.x
Ham Radio hat for Raspberry PI
Stars: ✭ 92 (-8.91%)
Mutual labels:  verilog

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

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].