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
- ATTIG, M. AND LOCKWOOD, J. 2005. A framework for rule processing in reconfigurable network systems. FCCM, pp. 225--234. Google ScholarDigital Library
- AZIZI, N., KUON, I., EGIER, A., DARABIHA, A., AND CHOW, P. 2004. Reconfigurable Molecular Dynamics Simulator (April 20-23, 2004). FCCM Google ScholarDigital Library
- BAKER, P., TODMAN, T., STYLES, H., AND LUK, W. 2005. Reconfigurable Designs for Radiosity. -- Volume 00 (April 18-20, 2005). FCCM Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- BEECKLER, J.S. AND GROSS, W.J. 2005. FPGA Particle Graphics Hardware (April 18-20, 2005). FCCM Google ScholarDigital Library
- 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 ScholarDigital Library
- BOGDANOV, A. AND MERTENS, M.C. 2006. A parallel hardware architecture for fast Gaussian Elimination over GF(2). FCCM, pp. 237--248. Google ScholarDigital Library
- 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 ScholarDigital Library
- CATAPULTC. http://www.mentor.com/products/c-based_design/Google Scholar
- CELOXICA. http://www.celoxica.com/Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- FIN, A., FUMMI, F., AND SIGNORETTO, M. 2001. SystemC: a homogenous environment to test embedded systems. CODES, pp 17--22. Google ScholarDigital Library
- 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 ScholarDigital Library
- FRY, T.W. AND HAUCK, S. 2002. Hyperspectral Image Compression on Reconfigurable Platforms. (September 22-24, 2002). FCCM. Google ScholarDigital Library
- 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 ScholarDigital Library
- GUPTA, S., AND G. DEMICHELI 1991. VULCAN -- A System for High-Level Partitioning of Synchronous Digital Circuits. Technical Report.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- HAULBELT, C., TEICH , J., RICHTER, K. AND ERNST R. 2002. System design for flexibility. DATE. Google ScholarDigital Library
- HE, C., LU, M., AND SUN, C. 2004. Accelerating seismic migration using FPGA-based coprocessor platform. FCCM, pp. 207--216. Google ScholarDigital Library
- HE, C., ZHAO, W., AND LU, M. 2005. Time domain numerical simulation for transient waves on reconfigurable coprocessor platform. FCCM, pp. 127--136. Google ScholarDigital Library
- INTEL QUICKASSIST TECHNOLOGY http://www.intel.com/technology/magazine/45nm/quickassist-0507.htmGoogle Scholar
- J. HENKEL. 1999. A low power hardware/software partitioning approach for core-based embedded systems. DAC, pp. 122--127. Google ScholarDigital Library
- HEZEL, S., KUGEL, A., MANNER, R., AND GAVRILA, D.M. 2002. FPGA-Based Template Matching Using Distance Transforms. (September 22-24, 2002). FCCM. Google ScholarDigital Library
- C.A HOARE. 1961. Algorithm 64: Quicksort. Commun. ACM 4, 7 (Jul. 1961). Google ScholarDigital Library
- 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 ScholarDigital Library
- Impulse CoDeveloper. http://www.impulsec.com/Google Scholar
- JAMES-ROXBY, P., BREBNER, G., AND BEMMANN, D. 2004. Time-Critical Software Deceleration in an FCCM. (April 20-23, 2004). FCCM Google ScholarDigital Library
- 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 ScholarDigital Library
- KRUEGER, S.D. AND SEIDEL, P. 2004. Design of an on-line IEEE floating-point addition unit for FPGAs. FCCM, pp. 239--246. Google ScholarDigital Library
- LEE, D., LUK, W., VILLASENOR, J., AND CHEUNG, P.Y. 2003. A hardware Gaussian noise generator for channel code evaluation. FCCM. Google ScholarDigital Library
- 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 ScholarDigital Library
- MITRA, T. AND CHIUEH, T. 2002. An FPGA Implementation of Triangle Mesh Decompression. (September 22-24, 2002). FCCM. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- PLESSL, C. AND PLATZNER, M. 2002. Custom Computing Machines for the Set Covering Problem (September 22-24, 2002). FCCM. Google ScholarDigital Library
- 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 ScholarDigital Library
- SGI ALTIX. http://www.sgi.com/products/servers/altix/Google Scholar
- SIDHU, R. AND PRASANNA, V.K. 2001. Fast Regular Expression Matching Using FPGAs. (April 29-May 02, 2001). FCCM Google ScholarDigital Library
- SOURDIS, I. AND PNEVMATIKATOS, D. 2004. Pre-Decoded CAMs for Efficient and High--Speed NIDS Pattern Matching. (April 20-23, 2004). FCCM Google ScholarDigital Library
- SRINIVASAN, V., RADHAKRISHNAN, S., AND VEMURI, R. 1998. Hardware/software partitioning with integrated hardware design space exploration. DATE, pp. 28--35. Google ScholarDigital Library
- 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 ScholarDigital Library
- STITT, G., AND F. VAHID. 2006. A Code refinment methodology for performance-improved synthesis from C. ICCAD. Google ScholarDigital Library
- 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 ScholarDigital Library
- TRIPP, J.L., MORTVEIT, H.S., HANSSON, A A., AND GOKHALE, M. 2005. Metropolitan road traffic simulation on FPGAs. FCCM, pp. 117--126. Google ScholarDigital Library
- TSOI, K.H., LEE, K.H., AND LEONG, P.H. 2002. A Massively Parallel RC4 Key Search Engine. (September 22-24, 2002). FCCM. Google ScholarDigital Library
- 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 ScholarDigital Library
- VULETIC, M., POZZI, L., AND IENNE, P. 2004. Virtual Memory Window for a Portable Reconfigurable Cryptography Coprocessor. (April 20-23, 2004). FCCM Google ScholarDigital Library
- WAKE, H.A. AND BUELL, D.A. 2003. Congruential Sieves on a Reconfigurable Computer. (April 09-11, 2003). FCCM Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- ZHANG, Y. AND S.Q ZHENG. 1995. Design and analysis of a systolic sorting architecture. SPDP. IEEE Computer Society, Washington, DC, 652. Google ScholarDigital Library
- ZIEGLER, H., SO, B., HALL, M., AND DINIZ, P.C. 2002. Coarse--Grain Pipelining on Multiple FPGA Architectures (September 22-24, 2002). FCCM. Google ScholarDigital Library
Index Terms
- C is for circuits: capturing FPGA circuits as sequential code for portability
Recommendations
Applying Genetic Parallel Programming to Synthesize Combinational Logic Circuits
Experimental results show that parallel programs can be evolved more easily than sequential programs in genetic parallel programming (GPP). GPP is a novel genetic programming paradigm which evolves parallel program solutions. With the rapid development ...
PACT HDL: a compiler targeting ASICS and FPGAS with power and performance optimizations
Power aware computingRecently, there has been a focus on high-level languages, C/C++ in particular, for hardware synthesis. At the same time, power dissipation is becoming an important metric in hardware design. This work presents PACT HDL, a C to HDL Compiler with ...
The 1-to-7 phase decoder circuit design using VHDL
ICC'05: Proceedings of the 9th International Conference on CircuitsThe design of the 1-to-7 Phase Decoder (PD7) circuit is described by using a core written in synthesizable VHDL. The circuit decodes the input line that carries a sequential pattern of seven clock phases into seven output lines by streaming sets of ...
Comments