Vector processor for RISC-V vector ISA
Vector architectures are almost unique in their ability to effectively combine high programmability attributes, high computational throughput, and high energy efficiency. This work builds an efficient vector processor that implements the upcoming RISC-V vector ISA extension. The proposed architecture is founded on the traditional tenets of vector processing, and it introduces novel techniques that reap high performance benefits in a cost-effective implementation:
RISC-V2 is integrated in a two-way superscalar OoO core.
The scalar core acts as the main control processor, with all the instructions being fetched and decoded in the scalar pipeline.
During the superscalar issue stage, the instructions are diverted to the correct path (i.e., scalar, or vector), based on their type.
A vector instruction queue decouples the execution rates of the two datapaths.
At the moment, the RTL of the scalar core is not publicly shared. We will fix this soon.
The folder hierarchy is organised as follows:
images
: schematics and instruction mappings to microopsrtl
: contains all the synthesisable RTL filessva
: contains related x-checks and assertions for the designvector_simulator
: contains the TB to run a simulation with the Vector datapath, as well as some example stimulus.vector_lanes > 16
configurations (Needed by the reduction tree to support more lanes)The repo at it’s current stage contains the vector datapath, as well as a testbench that can be used to simulate payloads on it. The superscalar core is not provided yet, but will be released in the future. The hierarchy can be seen below:
TB Level Hierarchy:
->vector_sim_top.sv
-> vector_driver
& vector_top
Hierarchy Name | Details |
---|---|
vector_sim_top | top level of the TB, instantiating the vector datapath and the scalar simulator. |
vector_driver | The TB driver that feeds the vector datapath with decoded vector instructions. |
vector_top | The top level of the vector datapath, as shown in figure 2. |
RISC-V2 architecture and performance is presented in
IEEE International Symposium on Circuits and Systems, Oct. 2020. You can find the paper
paper here.
To cite this work please use
@INPROCEEDINGS{risc-v-squared,
author={K. {Patsidis} and C. {Nicopoulos} and G. C. {Sirakoulis} and G. {Dimitrakopoulos}},
booktitle={2020 IEEE International Symposium on Circuits and Systems (ISCAS)},
title={RISC-V^$2$: A Scalable RISC-V Vector Processor},
year={2020},
volume={},
number={},
pages={1-5},}
RISC-V2 is licensed under the MIT License.