Coarse-Grained Reconfigurable Computing with the Versat Architecture

Reconfigurable computing architectures allow the adaptation of the underlying datapath to the algorithm. The granularity of the datapath elements and data width determines the granularity of the architecture and its programming flexibility. Coarse-grained architectures have shown the right balance between programmability and performance. This paper provides an overview of coarse-grained reconfigurable architectures and describes Versat, a Coarse-Grained Reconfigurable Array (CGRA) with self-generated partial reconfiguration, presented as a case study for better understanding these architectures. Unlike most of the existing approaches, which mainly use pre-compiled configurations, a Versat program can generate and apply myriads of on-the-fly configurations. Partial reconfiguration plays a central role in this approach, as it speeds up the generation of incrementally different configurations. The reconfigurable array has a complete graph topology, which yields unprecedented programmability, including assembly programming. Besides being useful for optimising programs, assembly programming is invaluable for working around post-silicon hardware, software, or compiler issues. Results on core area, frequency, power, and performance running different codes are presented and compared to other implementations.

[1]  John Wawrzynek,et al.  Garp: a MIPS processor with a reconfigurable coprocessor , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[2]  Fadi J. Kurdahi,et al.  Design and Implementation of the MorphoSys Reconfigurable Computing Processor , 2000, J. VLSI Signal Process..

[3]  Martin Margala,et al.  MORA - An Architecture and Programming Model for a Resource Efficient Coarse Grained Reconfigurable Processor , 2009, 2009 NASA/ESA Conference on Adaptive Hardware and Systems.

[4]  Lizy Kurian John,et al.  Scaling to the end of silicon with EDGE architectures , 2004, Computer.

[5]  Nader Bagherzadeh,et al.  Fast parallel FFT on a reconfigurable computation platform , 2003, Proceedings. 15th Symposium on Computer Architecture and High Performance Computing.

[6]  Kiyoung Choi,et al.  FloRA: Coarse-grained reconfigurable architecture with floating-point operation capability , 2009, 2009 International Conference on Field-Programmable Technology.

[7]  Jian Weng,et al.  Towards General Purpose Acceleration by Exploiting Common Data-Dependence Forms , 2019, MICRO.

[8]  Gerald Estrin,et al.  Organization of computer systems: the fixed plus variable structure computer , 1960, IRE-AIEE-ACM '60 (Western).

[9]  Christian Hochberger,et al.  AMIDAR Project: Lessons Learned in 15 Years of Researching Adaptive Processors , 2018, 2018 13th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC).

[10]  Yu Wang,et al.  Going Deeper with Embedded FPGA Platform for Convolutional Neural Network , 2016, FPGA.

[11]  Markus Weinhardt,et al.  A Coarse-Grained Reconfigurable Array for High-Performance Computing Applications , 2018, 2018 International Conference on ReConFigurable Computing and FPGAs (ReConFig).

[12]  Rudy Lauwereins,et al.  Architecture exploration for a reconfigurable architecture template , 2005, IEEE Design & Test of Computers.

[13]  Dong Wang,et al.  An Energy-Efficient Coarse-Grained Reconfigurable Processing Unit for Multiple-Standard Video Decoding , 2015, IEEE Transactions on Multimedia.

[14]  Wenjie Wang,et al.  A reconfigurable multi-processor SoC for media applications , 2010, Proceedings of 2010 IEEE International Symposium on Circuits and Systems.

[15]  Carl Ebeling,et al.  RaPiD - Reconfigurable Pipelined Datapath , 1996, FPL.

[16]  Bjorn De Sutter,et al.  Coarse-Grained Reconfigurable Array Architectures , 2018, Handbook of Signal Processing Systems.

[17]  Shekhar Y. Borkar,et al.  Design challenges of technology scaling , 1999, IEEE Micro.

[18]  Kentaro Sano,et al.  A Survey on Coarse-Grained Reconfigurable Architectures From a Performance Perspective , 2020, IEEE Access.

[19]  Z. Hasan A Survey on Shari’Ah Governance Practices in Malaysia, GCC Countries and the UK , 2011 .

[20]  André DeHon,et al.  MATRIX: a reconfigurable computing architecture with configurable instruction distribution and deployable resources , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[21]  Ahmed Hemani,et al.  Parallel distributed scalable runtime address generation scheme for a coarse grain reconfigurable computation and storage fabric , 2014, Microprocess. Microsystems.

[22]  Reiner W. Hartenstein,et al.  A New FPGA Architecture for Word-Oriented Datapaths , 1994, FPL.

[23]  Kunle Olukotun,et al.  REMARC : Reconfigurable Multimedia Array Coprocessor , 1999 .

[24]  Kunle Olukotun,et al.  Plasticine: A reconfigurable architecture for parallel patterns , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[25]  Markus Weinhardt,et al.  PACT XPP—A Self-Reconfigurable Data Processing Architecture , 2003, The Journal of Supercomputing.

[26]  Fan Feng,et al.  Floating-point operation based reconfigurable architecture for radar processing , 2016, IEICE Electron. Express.

[27]  Reiner W. Hartenstein,et al.  Mapping Applications onto Reconfigurable Kress Arrays , 1999, FPL.

[28]  Henk Corporaal,et al.  Coarse grained reconfigurable architectures in the past 25 years: Overview and classification , 2016, 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS).

[29]  Kavitha T. Madhu,et al.  RHyMe: REDEFINE Hyper Cell Multicore for Accelerating HPC Kernels , 2016, 2016 29th International Conference on VLSI Design and 2016 15th International Conference on Embedded Systems (VLSID).

[30]  Abdullah Atalar,et al.  BilRC: An Execution Triggered Coarse Grained Reconfigurable Architecture , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[31]  Jan M. Rabaey,et al.  A reconfigurable multiprocessor IC for rapid prototyping of algorithmic-specific high-speed DSP data paths , 1992 .

[32]  Jean Vuillemin,et al.  A reconfigurable arithmetic array for multimedia applications , 1999, FPGA '99.

[33]  A. G. Hirschbiel,et al.  A Novel ASIC Design Approach based on a New Machine Paradigm , 1990, ESSCIRC '90: Sixteenth European Solid-State Circuits Conference.

[34]  Yangdong Deng,et al.  A Survey of Coarse-Grained Reconfigurable Architecture and Design , 2019, ACM Comput. Surv..

[35]  Fadi J. Kurdahi,et al.  The MorphoSys Parallel Reconfigurable System , 1999, Euro-Par.

[36]  Kentaro Sano,et al.  A Template-based Framework for Exploring Coarse-Grained Reconfigurable Architectures , 2020, 2020 IEEE 31st International Conference on Application-specific Systems, Architectures and Processors (ASAP).

[37]  Rudy Lauwereins,et al.  ADRES: An Architecture with Tightly Coupled VLIW Processor and Coarse-Grained Reconfigurable Matrix , 2003, FPL.

[38]  Seth Copen Goldstein,et al.  PipeRench: A Reconfigurable Architecture and Compiler , 2000, Computer.