Coder Social home page Coder Social logo

sld-columbia / hl5 Goto Github PK

View Code? Open in Web Editor NEW
45.0 8.0 17.0 87 KB

A 32-bit RISC-V Processor Designed with High-Level Synthesis

License: Apache License 2.0

Makefile 1.09% Verilog 1.01% Python 17.39% Tcl 2.70% C 53.23% Assembly 1.13% C++ 23.44%

hl5's Introduction

HL5: A 32-bit RISC-V processor designed with HLS

This is a high-level description in SystemC of an in-order 32-bit RISC-V core.

Installing the RISC-V toolchain

Test programs must be compiled with the RISC-V toolchain.

git clone --recursive https://github.com/riscv/riscv-gnu-toolchain.git
cd riscv-gnu-toolchain
mkdir build
cd build
../configure --prefix=<custom_target_path> --with-arch=rv32ima --with-abi=ilp32
make

To compile the test programs, make sure that riscv32-unknown-elf-gcc is PATH.

cd <hl5>/soft
make

Simulating and Synthesizing HL5

Simulation and synthesis run within the Cadence Stratus HLS 17.2 environment. In addition to Stratus HLS, simulation is configured to use Incisive as the RTL and SystemC simulator. You may change this configuration from the Stratus project.tcl script.

For instance, to run HLS and generate RTL for the BASIC HLS configuration, enter the HLS folder and run the following target.

cd <hl5>/hls
make hls_BASIC

To run a simulation of the C program soft/aes256_1.c, compile the test programs, then execute the following targets.

cd <hl5>/hls
# Behavioral simulation
make sim_BEH_aes256_1_P
# RTL simulation for BASIC HLS configuration
make sim_BASIC_aes256_1_V
# RTL simulation with GUI support
make debug_BASIC_aes256_1_V

The simulation will print on screen the content of the program counter, the instruction register and the register file. Colors highlight stalls (in red), registers for which there is a pending write back (yellow) and registers that have been updated during the latest instruction commit.

The target for synthesis is set to the Xilinx Artix7 FPGA, which is available on the ZYNQ SoCs.

If you use this work, please reference the following paper.

HL5: A 32-bit RISC-V Processor Designed with High-Level Synthesis. Paolo Mantovani, Robert Margelli, Davide Giri, and Luca P. Carloni. In the Proceedings of the Custom Integrated Circuits Conference (CICC), 2020.

hl5's People

Contributors

paulmnt avatar sinkswim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hl5's Issues

Need for asic synthesis scripts

I have saed32 nm pdk I want to synthesize hl5 processor using saed 32nm pdk.
Please provide the asic synthesis scripts as I have technology files I will attach them at my end as i am new to this.
Please provide those scripts it would be very helpful for me.
Thanks in advance !!

Simulation and simulation errors

Hello author, I ran into some problems while running your hl5 project and need to ask you, I would appreciate it if you could provide advice. I followed the steps step by step, and when I ran the make hls_BASIC command in the simulation and composite, it prompted an error.

  • Ubuntu 18.04
  • STRATUS 19.1
  • INCISIVE15.1
    Info:top.tb:Done resete ncsim :*E,SCK403:conversion failed:character string 'rror:' is not valid In file :sc_uint_base.cpp:525 In process:top.tb.source @ 60 ns. SC simulation stopped due to errors. SystemC : SystemC stopped at time 60 ncsim>exit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.