FPGA vs. MPPA for Positron Emission
Michael Haselman, Nathan G. Johnson-Williams, Chad Jerde, Maria H. Kim, Scott Hauck, Thomas K. Lewellen, Robert S. Miyaoka · 2009
As FPGAs follow Moore's Law and increase in capacity and complexity, they are becoming more complex to use and are consuming increasing amounts of power. An interesting alternative for reconfigurable computing that is lower power and may be easier to program are Massively Parallel Processor Arrays (MPPAs). In this paper we investigate the Ambric AM2045, a commercial MPPA. To understand the differences between the architecture and computational models of MPPAs and FPGAs, we have implemented two pulse-processing algorithms used in Positron Emission Tomography (PET). The algorithms for event timing and event location were developed for FPGAs and then adapted to MPPAs. In this paper, we present the two implementations and discuss the main differences. Specifically, we show that while the MPPA is easier to program than the FPGA, the lack of a real-time mode, their distributed memory structure, and object based programming model posed challenges for optimized versions of these algorithms. I. INTRODUCTION