Liquid metal: Object-oriented programming across the hardware/software boundary
ECOOP 2008–Object-Oriented Programming: 22nd European Conference Paphos …, 2008•Springer
The paradigm shift in processor design from monolithic processors to multicore has renewed
interest in programming models that facilitate parallelism. While multicores are here today,
the future is likely to witness architectures that use reconfigurable fabrics (FPGAs) as
coprocessors. FPGAs provide an unmatched ability to tailor their circuitry per application,
leading to better performance at lower power. Unfortunately, the skills required to program
FPGAs are beyond the expertise of skilled software programmers. This paper shows how to …
interest in programming models that facilitate parallelism. While multicores are here today,
the future is likely to witness architectures that use reconfigurable fabrics (FPGAs) as
coprocessors. FPGAs provide an unmatched ability to tailor their circuitry per application,
leading to better performance at lower power. Unfortunately, the skills required to program
FPGAs are beyond the expertise of skilled software programmers. This paper shows how to …
Abstract
The paradigm shift in processor design from monolithic processors to multicore has renewed interest in programming models that facilitate parallelism. While multicores are here today, the future is likely to witness architectures that use reconfigurable fabrics (FPGAs) as coprocessors. FPGAs provide an unmatched ability to tailor their circuitry per application, leading to better performance at lower power. Unfortunately, the skills required to program FPGAs are beyond the expertise of skilled software programmers. This paper shows how to bridge the gap between programming software vs. hardware. We introduce Lime, a new Object-Oriented language that can be compiled for the JVM or into a synthesizable hardware description language. Lime extends Java with features that provide a way to carry OO concepts into efficient hardware. We detail an end-to-end system from the language down to hardware synthesis and demonstrate a Lime program running on both a conventional processor and in an FPGA.
Springer
Showing the best result for this search. See all results