lite-david / comet

RISC-V ISA based 32-bit processor written in HLS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Comet

RISC-V ISA based 32-bit processor written in C++ for High Level Synthesis (HLS).

Pre-requisites

  1. RISC-V toolchain
  2. Vivado HLS
  3. Catapult HLS

Components of the project

The synthesizable directory contains C++ files which can be compiled to run as an emulator, synthesized for FPGA or ASIC. Vivado HLS is used for FPGA IP synthesis and Catapult HLS is used for ASIC synthesis.

  • Run make in the synthesizable folder to generate the emulator catapult.sim.
  • To build it as an FPGA IP, run script.tcl in Vivado HLS.
  • To synthesize it to rtl for ASIC, run directives.tcl in Catapult HLS.

The cycle_accurate_emulator directory, simulates a Direct Mapped Cache and DRAM keeping the same core architecture. It can be used to run larger benchmarks whose data / instructions do not fit in 32KB. To build the emulator:

$ cd cycle_accurate_emulator
$ bash build.sh

This compiles the project and creates a folder testdir. To run the benchmarks:

$ cd testdir
$ bash testscript.sh

The cache_synthesis_attempt directory contains an attempt to synthesize the caching mechanism along with the pipelined core. It's currently under progress.

Note

This project is no longer maintained. For latest version, head over here - Comet

About

RISC-V ISA based 32-bit processor written in HLS


Languages

Language:C 53.9%Language:C++ 39.0%Language:Objective-C 3.6%Language:Makefile 1.1%Language:Perl 0.9%Language:Python 0.8%Language:Tcl 0.3%Language:Shell 0.3%