Abstract
In this paper, we present our compiler infrastructure, called Jaguar for Java reconfigurable computing. The Jaguar compiler translates compiled Java methods, i.e. sequence of bytecodes into Verilog synthesizable code modules with exploiting the maximum operational parallelism within applications. Our compiler infrastructure consists of two major components. One is a compiler to generate synthesizable Verilog codes from Java applications, which performs full compilation passes, such as bytecode parsing, intermediate representation (IR) construction, program analysis, optimization, and code emission. The other component is the Java Virtual Machine (JVM) which provides Java execution environment to the generated Verilog modules. The JVM closely interacts with hardware during the execution through an interrupt method. We discuss the performance issues and code transformation techniques to reduce the interaction overhead in our Java reconfigurable computing environment.
This work was supported by grant No. R01-2005-000-10124-0 from Korea Science and Engineering Foundation in Ministry of Science & Technology.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Cardoso, J.M.P., Neto, H.C.: Macro-based hardware compilation of java bytecodes into a dynamic reconfigurable computing system. In: Pocek, K.L., Arnold, J.M. (eds.) Proceedings of the IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, pp. 2–11. IEEE Computer Society Press, Los Alamitos (1999)
Maruyama, T., Hoshino, T.: A C to HDL compiler for pipeline processing on FPGAs. In: IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 101–110 (April 2000)
Frigo, J., Gokhale, M., Lavenier, D.: Evaluation of the streams-C C-to-FPGA compiler: An applications perspective. In: International Symposium on Field Programmable Gate Arrays, Monterey, CA, pp. 134–140 (2001)
JOP - Java Optimized Processor., http://www.jopdesign.com/
De Micheli, G., Gupta, R.: Hardware/software co-design. Proceedings of the IEEE 85(3), 349–365 (1997)
Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, Inc., San Francisco (1997)
De Micheli, G.: Synthesis and Optimization of Digital Circuits. McGraw-Hill, New York (1994)
SciMark 2.0, http://math.nist.gov/scimark2/
Bacon, D., Fink, S., Grove, D.: Space and time efficient implementation of the Java object model. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 10–14. Springer, Heidelberg (2002)
Excalibur devices, http://www.arm.com/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Han, Y., Kim, S.W., Kim, C. (2005). Jaguar: A Compiler Infrastructure for Java Reconfigurable Computing. In: Yang, L.T., Zhou, X., Zhao, W., Wu, Z., Zhu, Y., Lin, M. (eds) Embedded Software and Systems. ICESS 2005. Lecture Notes in Computer Science, vol 3820. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11599555_37
Download citation
DOI: https://doi.org/10.1007/11599555_37
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30881-2
Online ISBN: 978-3-540-32297-9
eBook Packages: Computer ScienceComputer Science (R0)