NCSU Libraries
Search the Collection|Browse Subjects|Services|Library Information|Community |News & Events

Title page for ETD etd-08232002-164934


Type of Document Dissertation
Author Sahin, Ibrahim ,
Author's Email Address isahin@eos.ncsu.edu
URN etd-08232002-164934
Title A Compilation Tool for Automated Mapping of Algorithms onto FPGA-Based Custom Computing Machines
Degree PhD
Graduate Program Electrical Engineering
Advisory Committee
Advisor Name Title
Dr. Clay S. Gloster Committee Co-Chair
Dr. Winser E. Alexander Committee Co-Chair
Dr. Gregory T. Byrd Committee Member
Dr. Paul D. Franzon Committee Member
Keywords
  • custom computing machines
  • compilation tool
  • compiler
  • reconfigurable computing
  • FPGA
Date of Defense 2002-08-12
Availability unrestricted
Abstract
SAHIN, IBRAHIM. A Compilation Tool for Automated Mapping of Algorithms onto FPGA-Based Custom Computing Machines. (Under the directions of Dr. Clay S. Gloster and Dr. Winser E. Alexander).




Adaptive computing, also known as Reconfigurable Computing (RC), is a field that combines hardware and software data processing platforms. RC systems combine the flexibility of General Purpose Processors (GPP) with the speed of application specific processors [1,2]. In a typical reconfigurable computer, computationally intensive portions of algorithms are executed on Field Programmable Gate Arrays (FPGA) for enhanced performance.



Although RC systems offer significant performance advantages over GPPs, they have a few disadvantages. RC systems require more application development time than GPPs. Also, RC system designers need to be knowledgeable in the areas of hardware and software system design. Since each application is different in terms of data inputs, outputs, and the method of processing data, designers are required to design a specific RC implementation for each specific problem.



Our major contribution in this research is the development of a design automation tool called the Reconfigurable Computing Compilation Tool (RCCT) to address the problems mentioned above. In addition, this tool was designed to automate the process of mapping applications onto RC systems, and to provide the potential performance benefits of RC systems to typical software programmers. The final version of the tool contains four components: The RC Compiler, the Module Library, the Loader and the Simulator. Our contributions also includes a novel assembly language instruction set for the modules and a session file format (a new assembly language program format for RC systems).



The tool was tested on several applications to demonstrate its effectiveness. Among the selected applications were matrix multiplication, and some image processing algorithms such as 3-D Image correlation. We compared the execution times of the applications when they were run on different GPPs to different RC configurations to demonstrate the tool's effectiveness.



Our results showed that the tool is able to enhance the performance of the applications by mapping portions of them to the RC systems. Simulations with the tool showed that when the user applications are mapped to the RC systems, significant speedups (around 10 times to 100 times) can be attained for the mapped sections of the applications. We also noticed that the design and implementation time of the RC versions of the applications were reduced significantly. With the tool, the RC versions of the applications were developed, in a matter of a few hours. No special skills are needed to map applications to the RC systems using RCCT if the required hardware modules are readily available.

Files
  Filename       Size       Approximate Download Time (Hours:Minutes:Seconds) 
 
 28.8 Modem   56K Modem   ISDN (64 Kb)   ISDN (128 Kb)   Higher-speed Access 
  etd.pdf 1.19 Mb 00:05:29 00:02:49 00:02:28 00:01:14 00:00:06