All Projects → ridecore → Ridecore

ridecore / Ridecore

Licence: other
RIDECORE (RIsc-v Dynamic Execution CORE) is an Out-of-Order RISC-V processor written in Verilog HDL.

Labels

Projects that are alternatives of or similar to Ridecore

Cnn Fpga
使用Verilog实现的CNN模块,可以方便的在FPGA项目中使用
Stars: ✭ 160 (-19.6%)
Mutual labels:  verilog
Verilog I2c
Verilog I2C interface for FPGA implementation
Stars: ✭ 171 (-14.07%)
Mutual labels:  verilog
Fpga
The USRP™ Hardware Driver FPGA Repository
Stars: ✭ 176 (-11.56%)
Mutual labels:  verilog
Kryon
FPGA,Verilog,Python
Stars: ✭ 169 (-15.08%)
Mutual labels:  verilog
Sv Parser
SystemVerilog parser library fully complient with IEEE 1800-2017
Stars: ✭ 169 (-15.08%)
Mutual labels:  verilog
Tinyfpga B Series
Open source design files for the TinyFPGA B-Series boards.
Stars: ✭ 173 (-13.07%)
Mutual labels:  verilog
Fpg1
PDP-1 FPGA implementation in Verilog, with CRT, Teletype and Console.
Stars: ✭ 159 (-20.1%)
Mutual labels:  verilog
Basejump stl
BaseJump STL: A Standard Template Library for SystemVerilog
Stars: ✭ 179 (-10.05%)
Mutual labels:  verilog
Poprc
A Compiler for the Popr Language
Stars: ✭ 170 (-14.57%)
Mutual labels:  verilog
Accdnn
A compiler from AI model to RTL (Verilog) accelerator in FPGA hardware with auto design space exploration.
Stars: ✭ 175 (-12.06%)
Mutual labels:  verilog
Metroboy
MetroBoy - A playable, circuit-level simulation of an entire Game Boy
Stars: ✭ 169 (-15.08%)
Mutual labels:  verilog
Sdram Controller
Verilog SDRAM memory controller
Stars: ✭ 169 (-15.08%)
Mutual labels:  verilog
Step into mips
一步一步写MIPS CPU
Stars: ✭ 174 (-12.56%)
Mutual labels:  verilog
Fpga readings
Recipe for FPGA cooking
Stars: ✭ 164 (-17.59%)
Mutual labels:  verilog
Wb2axip
Bus bridges and other odds and ends
Stars: ✭ 177 (-11.06%)
Mutual labels:  verilog
Sha256
Hardware implementation of the SHA-256 cryptographic hash function
Stars: ✭ 160 (-19.6%)
Mutual labels:  verilog
Kestrel
The Kestrel is a family of home-made computers, built as much as possible on open-source technology, and supporting as much as possible the open-source philosophy.
Stars: ✭ 171 (-14.07%)
Mutual labels:  verilog
Verilog Generator Of Neural Net Digit Detector For Fpga
Verilog Generator of Neural Net Digit Detector for FPGA
Stars: ✭ 187 (-6.03%)
Mutual labels:  verilog
Openwifi Hw
FPGA/hardware design of openwifi
Stars: ✭ 181 (-9.05%)
Mutual labels:  verilog
Verilog Uart
Verilog UART
Stars: ✭ 174 (-12.56%)
Mutual labels:  verilog

Introduction

RIDECORE (RIsc-v Dynamic Execution CORE) is an Out-of-Order processor written in Verilog HDL. RIDECORE implements RISC-V, an open-source ISA that was originally designed by researchers at UC Berkeley (http://www.riscv.org).

RIDECORE's microarchitecture is based on "Modern Processor Design: Fundamentals of Superscalar Processors" (https://www.waveland.com/browse.php?t=624&r=d|259). Thus, we recommend users to read this book and our document (doc/ridecore_document.pdf) before using RIDECORE.

Our FPGA prototyping efforts have so far resulted in a prototype for Xilinx VC707 board. This prototype can operate at a clock frequency of 50MHz (Vivado 2015.2 is used for synthesizing and implementing the design).

Some of the hardware modules in RIDECORE are based on vscale (https://github.com/ucb-bar/vscale).

Toolchain Installation (Linux)

  • riscv-tools
    riscv-tools include a C/C++ cross compiler for RISC-V and an ISA simulator. Please refer to the following URL for the installation guide: http://riscv.org/software-tools/

  • iverilog
    iverilog is an open-source verilog simulator. To install iverilog in Ubuntu, run the following command:
    # apt-get install iverilog

  • memgen
    memgen is an application generating binary code for RIDECORE from ELF files. The source code of memgen can be found in toolchain/memgen-v0.9. Run the make command to compile it.

Structure of this repository

The structure of this repository is described in doc/struct_repository.pdf.

How to use

  • Compiling applications and generating binary code
    Some sample applications for RIDECORE can be found in src/test/ridecore/app. For each application, you can generate the binary code (init.bin) from the C code and the startup code (in Assembly) by using the make command. To use this binary code in verilog simulations, run "make copy" to copy it to src/test/ridecore/bin.

  • Simulating RIDECORE
    The simulation code of RIDECORE can be found in src/test/ridecore/sim. You can generate an a.out executable file by running the make command. Currently, there are three options:

    • "make last" (testbench_last.v is compiled): generates an a.out executable file for executing applications without outputting any information about the states of RIDECORE during the execution.
    • "make dbg" (testbench.v is compiled): generates an a.out executable file which reports the states of RIDECORE in every clock cycle while executing applications.
    • "make pred" (testbench_pred.v is compiled): generates an a.out executable file which reports the branch prediction information while executing applications.
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].