Interfacing Java to Hardware Coprocessors and FPGAs



The previous chapter discussed how the Java Virtual Machine could benefit from some of its components being implemented in hardware. This chapter continues this hardware-support theme by considering how Java applications can interface to more general hardware coprocessors.


Device Driver Java Code Application Specific Integrate Circuit Java Native Interface Generate Java Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



The authors are grateful to the staff at EADS Ulm for their help in developing and evaluating the Hardware Methods for PC platform, and to Martin Schoeberl for his assistance with Hardware Methods for JOP.


  1. 19.
    P.J. Ashenden. The Designer’s Guide to VHDL. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001.Google Scholar
  2. 51.
    D.M. Beazley. SWIG: an easy to use tool for integrating scripting languages with C and C\(++\). In Proc. USENIX Tcl/Tk Workshop, 1996 - Volume 4, pages 15–15, 1996.Google Scholar
  3. 70.
    A. Borg, R. Gao, and N. Audsley. A co-design strategy for embedded Java applications based on a hardware interface with invocation semantics. In Proc. JTRES, pages 58–67, 2006.Google Scholar
  4. 74.
    M. Bowen. Handel-C Language Reference Manual, 2.1 edition. Embedded Solutions Limited, 1998.Google Scholar
  5. 81.
    Brigham Young University. JHDL: FPGA CAD Tools., 2006.
  6. 82.
    A.R. Brodtkorb. The Graphics Processor as a Mathematical Coprocessor in MATLAB. In Proc. CISIS, pages 822–827, 2008.Google Scholar
  7. 95.
    S.M. Carta, D. Pani, and L. Raffo. Reconfigurable coprocessor for multimedia application domain. J. VLSI Signal Process. Syst., 44:135–152, August 2006.MATHCrossRefGoogle Scholar
  8. 102.
    N. Cheung, J. Henkel, and S. Parameswaran. Rapid Configuration and Instruction Selection for an ASIP: A Case Study. In Proc. DATE - Volume 1, 2003.Google Scholar
  9. 123.
    G. De Micheli, R. Ernst, and W. Wolf, editors. Readings in Hardware/Software Co-design. Kluwer Academic Publishers, 2002.Google Scholar
  10. 188.
    S. Hauck, T.W. Fry, M.M. Hosler, and J.P. Kao. The Chimaera Reconfigurable Functional Unit. IEEE Trans. Very Large Scale Integr. Syst., 12:206–217, February 2004.CrossRefGoogle Scholar
  11. 189.
    J.R. Hauser and J. Wawrzynek. Garp: a MIPS processor with a reconfigurable coprocessor. In Proc. FCCM, pages 12–, 1997.Google Scholar
  12. 221.
    Intel. Intel386 DX Microprocessor Hardware Reference Manual, number 231630, ISBN 1-55512-153-5, 1991.Google Scholar
  13. 227.
    JEOPARD Project. Deliverable 2.3: Jamaica and FPGA Integration Report. FP7 Project Report, 2010.Google Scholar
  14. 228.
    JEOPARD Project. Deliverable 7.2: Evaluation Results. FP7 Project Report, 2010.Google Scholar
  15. 245.
    Lattice Semiconductor Corporation. LatticeSC/M HTX Evaluation Board and Reference Design., 2010.
  16. 268.
    M.C. Merten, A.R. Trick, C.N. George, J.C. Gyllenhaal, and W.W. Hwu. A hardware-driven profiling scheme for identifying program hot spots to support runtime optimization. SIGARCH Comput. Archit. News, 27:136–147, May 1999.CrossRefGoogle Scholar
  17. 293.
    PCI-SIG. PCIe Base Specification., 2010.
  18. 343.
    Schaumont, P.R. A Practical Introduction to Hardware/Software Codesign. Springer, 2010.Google Scholar
  19. 358.
    M. Schoeberl, S. Korsholm, T. Kalibera, and A.P. Ravn. A hardware abstraction layer in Java. ACM Trans. Embed. Comput. Syst., accepted, 2010.Google Scholar
  20. 359.
    M. Schoeberl, S. Korsholm, C. Thalinger, and A.P. Ravn. Hardware objects for Java. In Proceedings of the 11th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2008), pages 445–452, Orlando, Florida, USA, May 2008. IEEE Computer Society.Google Scholar
  21. 364.
    D. Seal. ARM Architecture Reference Manual. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2000.Google Scholar
  22. 377.
    E.T. Silva Jr, D. Andrews, C.E. Pereira, and F.R. Wagner. An Infrastructure for Hardware-Software Co-Design of Embedded Real-Time Java Applications. In Proc. ISORC, pages 273–280, 2008.Google Scholar
  23. 380.
    M.J.S. Smith. Application-specific Integrated Circuits, ISBN 978-0201500226. FreeTechBooks, 1997.Google Scholar
  24. 421.
    M. Ward and N. C. Audsley. Hardware Compilation of Sequential Ada. In Proc. CASES, pages 99–107, 2001.Google Scholar
  25. 422.
    M. Ward and N. C. Audsley. Hardware implementation of the ravenscar ada tasking profile. In Proc. CASES, pages 59–68, 2002.Google Scholar
  26. 423.
    M. Ward and N. C. Audsley. A deterministic implementation process for accurate and traceable system timing and space analysis. In Proc. RTCSA, pages 432–440, 2007.Google Scholar
  27. 433.
    J. Whitham, N.C. Audsley, and M. Schoeberl. Using hardware methods to improve time-predictable performance in real-time Java systems. In Proceedings of the 7th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2009), pages 130–139, Madrid, Spain, September 2009. ACM Press.Google Scholar
  28. 434.
    Wikipedia. Programmable Logic Device., 2010.
  29. 441.
    K-C. Wu and Y-W. Tsai. Structured ASIC, evolution or revolution? In Proc. ISPD, pages 103–106, 2004.Google Scholar
  30. 442.
    Xilinx. Connecting Customized IP to the MicroBlaze Soft Processor Using the Fast Simplex Link (FSL) Channel. Application Note XAPP529, Xilinx Corporation, 2004.Google Scholar
  31. 443.
    Xilinx. Getting Started with FPGAs - FPGA vs. ASIC., 2010.
  32. 448.
    A. Zemva and M. Verderber. FPGA-oriented HW/SW implementation of the MPEG-4 video decoder. Microprocessors and Microsystems, 31(5):313–325, 2007.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  1. 1.University of YorkYorkUK

Personalised recommendations