Implementing algorithms on FPGAs using high-level languages and low-level libraries

R. Bruce, R. Chamberlain, M. Devlin, S. Marshall

Research output: Contribution to conferencePoster


Until relatively recently, users of FPGA-based computers have needed electronic-design skills to implement high-performance computing (HPC) algorithms. With the advent of high-level languages for FPGAs it is possible for non-experts in FPGA design to implement algorithms by describing them in a high-level syntax. A natural progression from developing high-level languages is to develop low-level libraries that support them.DIME-C is a high-level language that takes a subset of ANSI C as its input and outputs auto-generated hardware description language (HDL) and pre-synthesised netlists. Within DIME-C, the authors have implemented a math library composed of single-precision, floating-point, elementary functions such as the natural exponential and logarithm. Complex, fully-pipelined algorithms can be described in ANSI-compatible C and implemented on FPGAs, delivering orders of magnitude speed-up over microprocessor implementations. Work is ongoing, expanding the library.The poster will detail project motivations and direction, speedup and resource-use measurements, C-code examples and multi-fpga examples.
Original languageEnglish
Publication statusPublished - Nov 2006
Event2006 ACM/IEEE conference on Supercomputing - , United Kingdom
Duration: 4 Nov 20064 Nov 2006


Conference2006 ACM/IEEE conference on Supercomputing
Country/TerritoryUnited Kingdom


  • implementing algorithms
  • fpga
  • high-level languages
  • low-level libraries


Dive into the research topics of 'Implementing algorithms on FPGAs using high-level languages and low-level libraries'. Together they form a unique fingerprint.

Cite this