In this work, we present PolyBlaze, a configurable and scalable FPGA-based multicore platform with Linux SMP support. PolyBlaze is based off of the MicroBlaze processor [Xilinx Inc. 2010] and its existing Linux support for a single processor through PetaLinux [Xilinx Inc. 2016]. Here, we present the modifications and extensions required to bring SMP support to the MicroBlaze,as were presented in Matthews et al. [2012]:
(1) Modifications to the MicroBlaze processor for SMP support,
(2) Additions to the Linux kernel for MicroBlaze SMP support, and
(3) A new Timer and Interrupt Controller (TIC).
Our new contributions specific to this work include:
(1) A scalable and flexible memory hierarchy optimized for FPGAs
(2) A detailed analysis of the key performance characteristics, configurability, and implementation tradeoffs of the memory hierarchy The remainder of the article is organized as follows: in Section 2, relevant work is discussed along with how this work fits in, Section 3 provides an overview of the