ACM Home Page
Please provide us with feedback. Feedback
Attacking the semantic gap between application programming languages and configurable hardware
Full text PdfPdf (259 KB)
Source International Symposium on Field Programmable Gate Arrays archive
Proceedings of the 2001 ACM/SIGDA ninth international symposium on Field programmable gate arrays table of contents
Monterey, California, United States
Pages: 115 - 124  
Year of Publication: 2001
ISBN:1-58113-341-3
Authors
Sponsor
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 45,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/360276.360322
What is a DOI?

ABSTRACT

It is difficult to exploit the massive, fine-grained parallelism of configurable hardware with a conventional application programðming language such as C, Pascal or Java. The difficulty arises from the mismatch between the synchronous, concurrent processing capability of the hardware and the expressiveness of the lanðguage-the so-called "semantic gap." We attack this problem by using a programming model matched to the hardware's capabilities that can be implemented in any (unmodified) object-oriented lanðguage, and building a corresponding compiler. The result is appliðcation code that can be developed, compiled, debugged and executed on a personal computer using conventional tools (such as Visual C++ or Visual Cafe), and then recompiled without modifiðcation to the configurable hardware target. A straightforward C++ implementation of the Serpent encryption algorithm compiled with our compiler onto a Virtex XCV1000 FPGA yielded an implemenðtation that was smaller (3200 vs. 4502 CLBs) and faster (77 MHz vs. 38 MHz) than an independent VHDL implementation with the same degree of pipelining. A tuned version of the source yielded an implementation that ran at 95 MHz.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
 
4
5
 
6
 
7
 
8
 
9
J. Hammes, R. Rinker, W. Bohm, W. Najjar, B. Draper, A High-Level, Algorithmic Programming Language and Compiler for Reconfigurable Systems, Computer Science Department, Colorado State University.
 
10
J.M.P. Cardoso, H.C. Neto, Fast hardware compilation of behaviors into an FPGA-based dynamic reconfigurable computing system, Proceedings of the XII Symposium on Integrated Circuits and Systems Design (SBCCI'99), Natal- RN, Brazil, pp. 150-153, Sept. 29-Oct. 2, 1999.
 
11
R. Schreiber, S. Aditya, B.R. Rau, V. Kathail, S. Mahlke, S. Abraham, G. Snider, S. Anik, High-level synthesis of nonprogrammable hardware accelerators, submitted to CODES2000.
 
12
BRASS Research Group, Automatic C compilation to SW + reconfigurable HW, http://brass.cs.berkeley.edu/compile. html.
 
13
 
14
 
15
D. Davis, S. Edwards, J. Harris, Forge-J, LavaLogic white paper available from: http://www.lavalogic.com/product/ wp_forge.html, pp. 1-8, 2000.
 
16
D. Davis, Java for digital circuit design, LavaLogic ratepayer available from: http://www.lavalogic.com/product/ wp_java.html, pp. 1-5, 2000.
 
17
P. Clarke and R. Goering, C Level fields C++ class library, eeTimes.com, available from: http://www.eet.com/story/ OEG20000103S0020, Aug. 30, 2000.
 
18
M. Brown, Handel-C and the Alex APAC509, Embedded Solutions Application Note 002, pp. 1-4, Feb. 6, 1998.
19
 
20
D. Ku, HardwareCa language for hardware design version 2.0, HardwareC Language Manual, available from: http:// www.ics.uci.edu/~jian/olympus/hardwarec.html#manual.
 
21
L.E. Thon, K. Rimey, L. Svensson, From C to silicon, Chapter: 17, The PUMA Processor, available from: http:// infopad.eecs.berkeley.edu/~burd/software/maker2html/ex10/ CtoSilicon.html, Sept. 1995.
 
22
P.L. Flake, S.J. Davidmann, D.J. Kelf, Superlog, A Next Generation Systems Design Language, International HDL Conference, March 2000.
 
23
S.E. Mitchell, TAOA model for the integration of concurrency and synchronisation in object-oriented programming, Ph.D. Thesis, University of York, UK, pp. 1-167, March 1995.
 
24
J Heath, P. Kuekes, G. Snider, R. Williams, A Defect-Tolerant Computer Architecture: Oppotunities for Nanotechnology, Science, June 12, 1998.
 
25
 
26
E. Gamma, Design Patterns, Addison-Wesley, 1995.
 
27
 
28
B. Rau, Iterative Modulo Scheduling, Hewlett-Packard Laboratories Technical Report HPL-94-115, 1994.
29
 
30
31
 
32
 
33
 
34
 
35
M. Brandis, Optimizing Compilers for Structured Programming Languages, Ph.D. dissertation, Swiss Federal Institute of Technology Zurich, 1995.


Collaborative Colleagues:
Greg Snider: colleagues
Barry Shackleford: colleagues
Richard J. Carter: colleagues