Updated README

This commit is contained in:
Eyck Jentzsch 2017-09-25 21:17:55 +02:00
parent 710d61e304
commit a528e35cad
2 changed files with 17 additions and 15 deletions

View File

@ -1,42 +1,44 @@
# JIT-ISS # DBT-RISE-RiscV
A versatile Just-in-time (JIT) compiling instruction set simulator (ISS) Am instruction set simulator based on DBT-RISE implementing the Risc-V ISA
**JIT-ISS README** **DBT-RISE-RiscV README**
This is currently a proof of concept and work in progress, so use at your own risk. It is currently set-up as an Eclipse CDT project and based on LLVM. To build it you need latest LLVM and Eclipse CDT version 4.6 aka Neon. This is work in progress, so use at your own risk. Goal is to implement an open-source ISS which can easily embedded e.g. into SystemC Virtual Prototypes. It used code generation to allow easy extension and adaptation of the used instruction.
The Risc-V ISS reaches about 20MIPS at an Intel Core i7-2600K.
To build with SystemC the define WITH_SYSTEMC needs to be set. Then a simple proof-of-concept system is created. Mainly missing are platform peripherals and interrupt handling. It reaches about 5 MIPS in lock-step mode on a MacBook Pro (Core i7-4870HQ@2.5GHz) running in a Docker container. The implementation is based on LLVM 4.0. Eclipse CDT 4.7 (Oxygen) is recommended as IDE.
JIT-ISS uses libGIS (https://github.com/vsergeev/libGIS) as well as ELFIO (http://elfio.sourceforge.net/), both under MIT license DBT-RISE-RiscV uses libGIS (https://github.com/vsergeev/libGIS) as well as ELFIO (http://elfio.sourceforge.net/), both under MIT license
**What's missing** **What's missing**
* only AVR instruction set implemented but not verified * RV64I is only preliminary verified
* F & D standard extensions to be implemented
**Planned features** **Planned features**
* add platform peripherals * add platform peripherals to resemble E300 platform
* timers * PLIC
* gpio * gpio
* ext interrupt registers and functionality * ...
* and more * and more
**Quick start** **Quick start**
* you need to have a decent compiler, make and cmake installed * you need to have a decent compiler, make and cmake installed
* install LLVM 3.9 or 4.0 according to http://apt.llvm.org/ * install LLVM 4.0 according to http://apt.llvm.org/
* download and install SystemC from http://accellera.org/downloads/standards/systemc * download and install SystemC from http://accellera.org/downloads/standards/systemc
* optionally download and install SystemC Verification Library (SCV) from Accelera into the same location * optionally download and install SystemC Verification Library (SCV) from Accelera into the same location
* checkout source from git * checkout source from git
* start an out-of-source build like so (e.g. when using LLVM 3.9 and bash) * start an out-of-source build like so (e.g. when using LLVM 3.9 and bash)
``` ```
cd JIT-ISS cd DBT-RISE-RiscV
mkdir build mkdir build
cd build cd build
LLVM_HOME=/usr/lib/llvm-3.9 cmake .. cmake ..
make make
``` ```
* if the SystemC installation is not to be found be cmake you can optionally specify the location by either setting the following environment variables pointing to the installation * if the SystemC installation is not found by cmake you can optionally specify the location by either setting the following environment variables pointing to the installation
- SYSTEMC_HOME - SYSTEMC_HOME
- SYSTEMC_PREFIX - SYSTEMC_PREFIX

@ -1 +1 @@
Subproject commit 743e314de55023df0942c5de146c109a0b8b1513 Subproject commit d41577a9371160a03a0b302d1dcf87cd6c7b588b