Design and Implementation of a 256-Bit RISC-V-Based Dynamically Scheduled Very Long Instruction Word on FPGA

This study describes the design and implementation of a 256-bit very long instruction word (VLIW) microprocessor based on the new RISC-V instruction set architecture (ISA). Base integer RV32I and extension instruction sets, including RV32M, RV32F, and RV32D, are selected to implement our VLIW hardware. The proposed architecture packs up eight 32-bit instruction flows, each of which performs fixed operational functions to create a 256-bit long instruction format. However, one obstacle of studying new ISAs, similar to RISC-V, to design VLIW microprocessors is the lack of dedicated compilers. Developing an architecture-specific compiler is really challenging. An instruction scheduler is integrated to dynamically schedule independent instructions into the VLIW instruction format. This scheduler is used to overcome the lack of a dedicated RISC-V VLIW compiler and leverage the available RISC-V GNU toolchain. Unlike conventional VLIWs, our proposed architecture is organized into six main stages, namely, fetch, instruction scheduler, decode, execute, data memory, and writeback. The complete design is verified, synthesized, and implemented on a Xilinx Virtex-6 (xc6vlx240t-1-ff1156). Maximum synthesis frequency reaches 83.739 MHz. The proposed RISC-V-based VLIW architecture obtains an average instructions per cycle value that outperforms that of existing open-source RISC-V cores.

[1]  Mostafa I. Soliman A VLIW architecture for executing multi-scalar/vector instructions on unified datapath , 2013, 2013 Saudi International Electronics, Communications and Photonics Conference.

[2]  Xiaoyang Zeng,et al.  A VLIW architecture stream cryptographic processor for information security , 2019, China Communications.

[3]  Muhammad Rashid,et al.  A high performance processor architecture for multimedia applications , 2018, Comput. Electr. Eng..

[4]  Kannappan Palaniappan,et al.  Dynamically scheduling VLIW instructions with dependency information , 2002, Proceedings Sixth Annual Workshop on Interaction between Compilers and Computer Architectures.

[5]  Microsystems Sun,et al.  Jini^ Architecture Specification Version 2.0 , 2003 .

[6]  Slo-Li Chu,et al.  DynaPack: A Dynamic Scheduling Hardware Mechanism for a VLIW Processor , 2012 .

[7]  Rainer Leupers,et al.  An Application-Specific VLIW Processor with Vector Instruction Set for CNN Acceleration , 2019, 2019 IEEE International Symposium on Circuits and Systems (ISCAS).

[8]  Murali Annavaram,et al.  Parallel Computer Organization and Design , 2012 .

[9]  Stephan Wong,et al.  Dynamically reconfigurable register file for a softcore VLIW processor , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[10]  Scott A. Mahlke,et al.  Trimaran: An Infrastructure for Research in Instruction-Level Parallelism , 2004, LCPC.

[11]  Alberto Ferreira de Souza,et al.  Dynamically Scheduling VLIW Instructions , 2000, J. Parallel Distributed Comput..

[12]  Anh-Vu Dinh-Duc,et al.  Adaptable VLIW processor: The reconfigurable technology approach , 2017, 2017 International Conference on Advanced Technologies for Communications (ATC).

[13]  B. R. Rau,et al.  HPL-PD Architecture Specification:Version 1.1 , 2000 .

[14]  Paolo Faraboschi,et al.  Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools , 2004 .

[15]  Geoffrey Brown,et al.  A hardware compilation flow for instance-specific VLIW cores , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[16]  Aneesh Raveendran,et al.  Out of order floating point coprocessor for RISC V ISA , 2015, 2015 19th International Symposium on VLSI Design and Test.

[17]  Andrew Waterman,et al.  The RISC-V Reader: An Open Architecture Atlas , 2017 .

[18]  Yamin Li Computer Principles and Design in Verilog HDL: Li/Computer Principles and Design in Verilog HDL , 2015 .

[19]  David A. Patterson,et al.  EBOOK : Computer Organization and Design; the Hardware / Software Interface, RISC V Edition , 2018 .

[20]  Wayne Luk,et al.  Customisable EPIC processor: architecture and tools , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[21]  Yunsup Lee,et al.  The RISC-V Instruction Set Manual , 2014 .