skip to main content
10.1145/1344671.1344689acmconferencesArticle/Chapter ViewAbstractPublication PagesfpgaConference Proceedingsconference-collections
research-article

C is for circuits: capturing FPGA circuits as sequential code for portability

Published:24 February 2008Publication History

ABSTRACT

Synthesizing common sequential algorithms, captured in a language like C, to FPGA circuits is now well-known to provide dramatic speedups for numerous applications, and to provide tremendous portability and adaptability advantages over circuit implementations of an application. However, many applications targeted to FPGAs are still designed and distributed at the circuit level, due in part to tremendous human ingenuity being exercised at that level to achieve exceptional performance and efficiency. A question then arises as to whether applications for FPGAs will have to be distributed as circuits to achieve desired performance and efficiency, or if instead a more portable language like C might be used. Given a set of common synthesis transformations, we studied the extent to which circuits published in FCCM in the past 6 years could be captured as sequential code and then synthesized back to the published circuit. The study showed that a surprising 82% of the 35 circuits chosen for the study could be re-derived from some form of standard C code, suggesting that standard C code, without extensions, may be an effective means for distributing FPGA applications

References

  1. ATTIG, M. AND LOCKWOOD, J. 2005. A framework for rule processing in reconfigurable network systems. FCCM, pp. 225--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AZIZI, N., KUON, I., EGIER, A., DARABIHA, A., AND CHOW, P. 2004. Reconfigurable Molecular Dynamics Simulator (April 20-23, 2004). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BAKER, P., TODMAN, T., STYLES, H., AND LUK, W. 2005. Reconfigurable Designs for Radiosity. -- Volume 00 (April 18-20, 2005). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BAKER, Z.K. AND PRASANNA, V.K. 2005. Efficient Hardware Data Mining with the Apriori Algorithm on FPGAs. (Fccm'05) -- Volume 00 (April 18-20, 2005). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BAKER, Z.K. AND PRASANNA, V.K. 2006. An Architecture for Efficient Hardware Data Mining using Reconfigurable Computing Systems. (Fccm'06) -- Volume 00 (April 24-26, 2006). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BEECKLER, J.S. AND GROSS, W.J. 2005. FPGA Particle Graphics Hardware (April 18-20, 2005). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. BITTON, D. , DEWITT, D.J, HSAIO, D.K, AND J. MENON. 1984. A taxonomy of parallel sorting. ACM Comput. Surv. 16, 3 (Sep. 1984). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. BOGDANOV, A. AND MERTENS, M.C. 2006. A parallel hardware architecture for fast Gaussian Elimination over GF(2). FCCM, pp. 237--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. BONDHUGULA, U., DEVULAPALLI, A., DINAN, J., FERNANDO, J., WYCKOFF, P., STAHLBERG, E., AND SADAYAPPAN, P. 2006. Hardware/Software Integration for FPGA-based All-Pairs Shortest-Paths. (April 24-26, 2006). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. CATAPULTC. http://www.mentor.com/products/c-based_design/Google ScholarGoogle Scholar
  11. CELOXICA. http://www.celoxica.com/Google ScholarGoogle Scholar
  12. CHO, Y.H. AND MANGIONE-SMITH, W.H. 2004. Deep Packet Filter with Dedicated Logic and Read Only Memories. (April 20-23, 2004). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. DINIZ, P., HALL, M., PARK, J., SO, B., AND ZIEGLER, H. 2005. Automatic mapping of C to FPGAs with the DEFACTO compilation and synthesis systems. Journal on Microprocessors and Microsystems, Vol. 29, Issues 2-3, pp. 51--62.Google ScholarGoogle ScholarCross RefCross Ref
  14. DOOM, T.; WHITE, J.; WOJCIK, A.; AND G. CHISHOLM. 1998. Identifying high-level components in combinational circuits. Proceedings of the 8th Great Lakes Symposium on VLSI 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. DURBANO, J.P., ORTIZ, F.E., HUMPHREY, J.R., CURT, P.F., AND PRATHER, D.W. 2004. FPGA-based acceleration of the 3D finite-difference time-domain method. FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. ELES, P., PENG, Z., KUCHCHINSKI, K. AND DOBOLI, A. 1997. System level hardware/software partitioning based on simulated annealing and tabu search. Journal on Design Automation for Embedded Systems, Vol. 2, No. 1, pp. 5--32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. FIN, A., FUMMI, F., AND SIGNORETTO, M. 2001. SystemC: a homogenous environment to test embedded systems. CODES, pp 17--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. FRIGO, J., GOKHALE, AND M., LAVENIER, D. 2001. Evaluation of the streams-C C-to-FPGA compiler: an applications perspective. FPGA, pp. 134--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. FRY, T.W. AND HAUCK, S. 2002. Hyperspectral Image Compression on Reconfigurable Platforms. (September 22-24, 2002). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. GUPTA, S., DUTT, N.D., GUPTA, R.K., AND NICOLAU, A. 2003. SPARK: a high-level synthesis framework for applying parallelizing compiler transformations. VLSI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. GUPTA, S., AND G. DEMICHELI 1991. VULCAN -- A System for High-Level Partitioning of Synchronous Digital Circuits. Technical Report.Google ScholarGoogle Scholar
  22. HANSEN, M.C. YALCIN, H. AND J.P HAYES, 1999. Unveiling the ISCAS-85 benchmarks: A Case Study in Reverse Engineering . IEEE Design and Test in Computers. Vol. 12, Issue 3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. HARIRI, A., RASTEGAR, R., ZAMANI, M.S., AND MEYBODI, M.R. 2005. Parallel hardware implementation of cellular learning automata based evolutionary computing (CLA-EC) on FPGA. FCCM, pp. 311--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. HAULBELT, C., TEICH , J., RICHTER, K. AND ERNST R. 2002. System design for flexibility. DATE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. HE, C., LU, M., AND SUN, C. 2004. Accelerating seismic migration using FPGA-based coprocessor platform. FCCM, pp. 207--216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. HE, C., ZHAO, W., AND LU, M. 2005. Time domain numerical simulation for transient waves on reconfigurable coprocessor platform. FCCM, pp. 127--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. INTEL QUICKASSIST TECHNOLOGY http://www.intel.com/technology/magazine/45nm/quickassist-0507.htmGoogle ScholarGoogle Scholar
  28. J. HENKEL. 1999. A low power hardware/software partitioning approach for core-based embedded systems. DAC, pp. 122--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. HEZEL, S., KUGEL, A., MANNER, R., AND GAVRILA, D.M. 2002. FPGA-Based Template Matching Using Distance Transforms. (September 22-24, 2002). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C.A HOARE. 1961. Algorithm 64: Quicksort. Commun. ACM 4, 7 (Jul. 1961). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. HUANG, Z. AND ERCEGOVAC, M.D. 2001. FPGA Implementation of Pipelined On-Line Scheme for 3-D Vector Normalization. (April 29-May 02, 2001). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Impulse CoDeveloper. http://www.impulsec.com/Google ScholarGoogle Scholar
  33. JAMES-ROXBY, P., BREBNER, G., AND BEMMANN, D. 2004. Time-Critical Software Deceleration in an FCCM. (April 20-23, 2004). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. JAMES-ROXBY, P.B. AND DOWNS, D.J. 2001. An Efficient Content-Addressable Memory Implementation Using Dynamic Routing. (April 29-May 02, 2001). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. KRUEGER, S.D. AND SEIDEL, P. 2004. Design of an on-line IEEE floating-point addition unit for FPGAs. FCCM, pp. 239--246. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. LEE, D., LUK, W., VILLASENOR, J., AND CHEUNG, P.Y. 2003. A hardware Gaussian noise generator for channel code evaluation. FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. MAHMOUD, W.H., HAGGARD, R.L., AND ABDELRAHMAN, M. 2001. Hardware Implementation of Automated Sensor Self-Validation System for Cupola Furnaces (April 29-May 02, 2001). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. MITRA, T. AND CHIUEH, T. 2002. An FPGA Implementation of Triangle Mesh Decompression. (September 22-24, 2002). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. MOSCOLA, J., LOCKWOOD, J., LOUI, R.P., AND PACHOS, M. 2003. Implementation of a Content-Scanning Module for an Internet Firewall (April 09-11, 2003). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. NAJJAR, W., BÖHM, W., DRAPER, B., HAMMES, J., RINKER, R., BEVERIDGE, R., CHAWATHE, M., AND ROSS, C. 2003. From algorithms to hardware -- a high-level language abstraction for reconfigurable computing. IEEE Computer, Vol. 36, Issue 8, August 2003, pp.63--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. PLESSL, C. AND PLATZNER, M. 2002. Custom Computing Machines for the Set Covering Problem (September 22-24, 2002). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. SCROFANO, R., GOKHALE, M., TROUW, F., AND PRASANNA, V.K. 2006. Hardware/software approach to molecular dynamics on reconfigurable computers. FCCM, pp. 23--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. SGI ALTIX. http://www.sgi.com/products/servers/altix/Google ScholarGoogle Scholar
  44. SIDHU, R. AND PRASANNA, V.K. 2001. Fast Regular Expression Matching Using FPGAs. (April 29-May 02, 2001). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. SOURDIS, I. AND PNEVMATIKATOS, D. 2004. Pre-Decoded CAMs for Efficient and High--Speed NIDS Pattern Matching. (April 20-23, 2004). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. SRINIVASAN, V., RADHAKRISHNAN, S., AND VEMURI, R. 1998. Hardware/software partitioning with integrated hardware design space exploration. DATE, pp. 28--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. STITT, G., VAHID, F., MCGREGOR, G., AND EINLOTH, B. 2005. Hardware/software partitioning of software binaries: a case study of H.264 decode. CODES/ISSS, pp. 285--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. STITT, G., AND F. VAHID. 2006. A Code refinment methodology for performance-improved synthesis from C. ICCAD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. THOMAS, D.B. AND LUK, W. 2006. Efficient Hardware Generation of Random Variates with Arbitrary Distributions. (Fccm'06) -- Volume 00 (April 24-26, 2006). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. TRIPP, J.L., MORTVEIT, H.S., HANSSON, A A., AND GOKHALE, M. 2005. Metropolitan road traffic simulation on FPGAs. FCCM, pp. 117--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. TSOI, K.H., LEE, K.H., AND LEONG, P.H. 2002. A Massively Parallel RC4 Key Search Engine. (September 22-24, 2002). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. TSOI, K.H., LEUNG, K.H., AND LEONG, P.H. 2003. Compact FPGA-based True and Pseudo Random Number Generators. (April 09-11, 2003). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. VULETIC, M., POZZI, L., AND IENNE, P. 2004. Virtual Memory Window for a Portable Reconfigurable Cryptography Coprocessor. (April 20-23, 2004). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. WAKE, H.A. AND BUELL, D.A. 2003. Congruential Sieves on a Reconfigurable Computer. (April 09-11, 2003). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. WANG, X. AND NELSON, B.E. 2003. Tradeoffs of Designing Floating--Point Division and Square Root on Virtex FPGAs. (April 09-11, 2003). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. WHITTON, K., HU, X. S., YI, C.X., AND CHEN, D. Z. 2006. An FPGA Solution for Radiation Dose Calculation. (April 24-26, 2006). FCCM Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. ZHANG, Y. AND S.Q ZHENG. 1995. Design and analysis of a systolic sorting architecture. SPDP. IEEE Computer Society, Washington, DC, 652. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. ZIEGLER, H., SO, B., HALL, M., AND DINIZ, P.C. 2002. Coarse--Grain Pipelining on Multiple FPGA Architectures (September 22-24, 2002). FCCM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. C is for circuits: capturing FPGA circuits as sequential code for portability

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      FPGA '08: Proceedings of the 16th international ACM/SIGDA symposium on Field programmable gate arrays
      February 2008
      278 pages
      ISBN:9781595939340
      DOI:10.1145/1344671

      Copyright © 2008 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 24 February 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate125of627submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader