Abstract
In this paper, we describe the compiler developed to target the Molen reconfigurable processor and programming paradigm. The compiler automatically generates optimized binary code for C applications, based on pragma annotation of the code executed on the reconfigurable hardware. For the IBM PowerPC 405 processor included in the Virtex II Pro platform FPGA, we implemented code generation, register, and stack frame allocation following the PowerPC EABI (embedded application binary interface). The PowerPC backend has been extended to generate the appropriate instructions for the reconfigurable hardware and data transfer, taking into account the information of the specific hardware implementations and system. Starting with an annotated C application, a complete design flow has been integrated to generate the executable bitstream for the reconfigurable processor. The flexible design of the proposed infrastructure allows to consider the special features of the reconfigurable architectures. In order to hide the reconfiguration latencies, we implemented an instruction-scheduling algorithm for the dynamic hardware configuration instructions. The algorithm schedules, in advance, the hardware configuration instructions, taking into account the conflicts for the reconfigurable hardware resources (FPGA area) between the hardware operations. To verify the Molen compiler, we used the multimedia video frame M-JPEG encoder of which the extended discrete cosine transform (DCT*) function was mapped on the FPGA. We obtained an overall speedup of 2.5 (about 84% efficiency over the maximal theoretical speedup of 2.96). The performance efficiency is achieved using automatically generated nonoptimized DCT* hardware implementation. The instruction-scheduling algorithm has been tested for DCT, quantization, and VLC operations. Based on simulation results, we determine that, while a simple scheduling produces a significant performance decrease, our proposed scheduling contributes for up to 16x M-JPEG encoder speedup.
- Blodget, B., Bobda, C., Huebner, M., and Niyonkuru, A. 2004. Partial and dynamic reconfiguration of xilinx virtex-ii fpgas. In FPL. vol. 3203. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Antwerp, Belgium. 801--810.]]Google Scholar
- Bolotski, M., DeHon, A., and Knight, J. T. F. 1994. Unifying FPGAs and SIMD arrays. In ACM/SIGDA Symposium on FPGAs. Berkeley, CA. 1--10.]]Google Scholar
- Bondalapati, K., Diniz, P. C., Duncan, P., Granacki, J., Hall, M., Jain, R., and Ziegler, H. 1999. DEFACTO: A design environment for adaptive computing technology. In IPPS/SPDP Workshops. 570--578.]] Google Scholar
- Cai, Q. and Xue, J. 2003. Optimal and efficient speculation-based partial redundancy elimination. In ACM CGO. San Francisco, CA. 91--102.]] Google Scholar
- Campi, F., Cappelli, A., Guerrieri, R., Lodi, A., Toma, M., Rosa, A. L., Lavagno, L., and Passerone, C. 2003. A reconfigurable processor architecture and software development environment for embedded systems. In Proceedings of Parallel and Distributed Processing Symposium. Nice, France. 171--178.]] Google Scholar
- EDK. http://www.xilinx.com/ise/embedded/edk.htm.]]Google Scholar
- Gokhale, M. B. and Stone, J. M. 1998. Napa C: Compiling for a Hybrid RISC/FPGA Architecture. In Proceedings of FCCM'98. Napa Valley, CA. 126--137.]] Google Scholar
- ISE. “http://www.xilinx.com/ise_eval/index.htm.”]]Google Scholar
- Kastrup, B., Bink, A., and Hoogerbrugge, J. 1999. Concise: A compiler-driven cpld-based instruction set accelerator. In Proceedings of FCCM'99. Napa Valley CA. 92--100.]] Google Scholar
- Kienhuis, B., Rijpkema, E., and Deprettere, E. 2000. Compaan: Deriving process networks from matlab for embedded signal processing architectures. In Proc. of CODES'2000. San Diego, CA. 13--17.]] Google Scholar
- Kuzmanov, G. and Vassiliadis, S. 2003. Arbitrating instructions in an ρμ-coded CCM. In Proceedings of the 13th International Conference on Field Programmable Logic and Applications (FPL'03). vol. 2778. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Lisbon, Portugal. 81--90.]]Google Scholar
- Lee, M.-H., Singh, H., Lu, G., Bagherzadeh, N., and Kurdahi, F. J. 2000. Design and implementation of the MorphoSys reconfigurable computing processor. VLSI Signal Processing Systems 24, 147--164.]] Google Scholar
Digital Library
- MachineSUIF. “http://www.eecs.harvard.edu/hube/software.”]]Google Scholar
- Magnusson, P. S., Christensson, M., Eskilson, J., Forsgren, D., Hallberg, G., Hogberg, J., Larsson, F., Moestedt, A., and Werner, B. 2002. Simics: A full system simulation platform. IEEE Transactions on Computers 35, 2, 50--58.]] Google Scholar
Digital Library
- Moscu Panainte, E., Bertels, K., and Vassiliadis, S. 2003. Compiling for the molen programming paradigm. In 13th International Conference on Field Programmable Logic and Applications (FPL). vol. 2778. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Lisbon, Portugal. 900--910.]]Google Scholar
- Moscu Panainte, E., Bertels, K., and Vassiliadis, S. 2004a. Dynamic hardware reconfigurations: Performance impact on mpeg2. In Proceedings of SAMOS. vol. 3133. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Samos, Greece. 284--292.]]Google Scholar
- Moscu Panainte, E., Bertels, K., and Vassiliadis, S. 2004b. The PowerPC backend molen compiler. In FPL. vol. 3203. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Antwerp, Belgium. 434--443.]]Google Scholar
- Pillai, L. 2002. Video compression using dct. In Application Note: Virtex-II Series. Xilinx, http://direct.xilinx.com/bvdocs/appnotes/xapp610.pdf.]]Google Scholar
- Pillai, L. 2003a. Quantization. In Application Note: Virtex and Virtex-II Series. Xilinx, http://direct.xilinx.com/bvdocs/appnotes/xapp615.pdf.]]Google Scholar
- Pillai, L. 2003b. Variable length coding. In Application Note: Virtex-II Series. Xilinx, http://direct.xilinx.com/bvdocs/appnotes/xapp621.pdf.]]Google Scholar
- Rosa, A. L., Lavagno, L., and Passerone, C. 2003. Hardware/Software design space exploration for a reconfigurable processor. In Proc. of DATE 2003. Munich, Germany. 570--575.]]Google Scholar
- Sima, M., Vassiliadis, S., S.Cotofana, van Eijndhoven, J., and Vissers, K. 2002. Field-programmable custom computing machines---A taxonomy. In 12th International Conference on Field Programmable Logic and Applications (FPL). vol. 2438. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Montpellier, France. 79--88.]] Google Scholar
- Stefanov, T., Zissulescu, C., Turjan, A., Kienhuis, B., and Deprettere, E. 2004. System design using kahn process networks: The Compaan/Laura approach. In Proc. of DATE 2004. Paris, France. 340--345.]] Google Scholar
- SUIF2. “http://suif.stanford.edu/suif/suif2.”]]Google Scholar
- Tang, X., Aalsma, M., and Jou, R. 2000. A compiler directed approach to hiding confguration latency in Chameleon processors. In FPL. vol. 1896. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Villach, Austria. 29--38.]] Google Scholar
- Vassiliadis, S., Wong, S., and Cotofana, S. 2001. The MOLEN ρμ-Coded Processor. In 11th International Conference on Field Programmable Logic and Applications (FPL). vol. 2147. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Belfast, UK. 275--285.]] Google Scholar
- Vassiliadis, S., Gaydadjiev, G., Bertels, K., and Moscu Panainte, E. 2003. The molen programming paradigm. In Proceedings of the 3rd International Workshop on Systems, Architectures, Modeling, and Simulation. Samos, Greece. 1--7.]]Google Scholar
- Ye, Z. A., Shenoy, N., and Banerjee, P. 2000. A C Compiler for a processor with a reconfigurable functional unit. In ACM/SIGDA Symposium on FPGAs. Monterey, CA. 95--100.]] Google Scholar
- Zissulescu, C., Stefanov, T., Kienhuis, B., and Deprettere, E. 2003. Laura: Leiden architecture research and exploration tool. In 13th International Conference on Field Programmable Logic and Applications (FPL). vol. 2778. Springer-Verlag. Lecture Notes in Computer Science (LNCS), Lisbon, Portugal. 911--920.]]Google Scholar
Index Terms
The Molen compiler for reconfigurable processors
Recommendations
The MOLEN Polymorphic Processor
In this paper, we present a polymorphic processor paradigm incorporating both general purpose and custom computing processing. The proposal incorporates an arbitrary number of programmable units, exposes the hardware to the programmers/designers, and ...
A multi-mode video-stream processor with cyclically reconfigurable architecture
CF '08: Proceedings of the 5th conference on Computing frontiersThis paper presents an approach for development of cost-effective hardware platform for video/image processing. The approach utilizes the SRAM based reconfigurable logic devices (FPGAs) and, their capability of run-time temporal partitioning of logic ...
Reconfigurable Instruction Set Processors: A Survey
RSP '00: Proceedings of the 11th IEEE International Workshop on Rapid System Prototyping (RSP 2000)Reconfigurable instruction set processors have the capability to adapt their instruction sets to the application being executed through a reconfiguration in their hardware. Through this adaptation, they are expected to achieve a great improvement in ...






Comments