Clemson Reconfigurable Computing

PARL Home | RC Home | ACC | RCADE | ROAR



RCADE Projects

People
Papers



RCADE
Reconfigurable Application Development Environment


Summary

As the FPGA density increases, so does the potential for reconfigurable computing machines. Unfortunately, applications which take advantage of the higher densities require significant effort and involve prohibitively long design cycles when conventional methods are used. To combat this problem, a design environment called RCADE has been proposed to manage this additional complexity. RCADE gives the end user a mechanism for describing and managing algorithms at a higher level of abstraction than the other extant methods such as writing VHDL or using schematic capture.

The core of RCADE's design tool is a general Algorithm Description Format (ADF) which represents an algorithm as an attributed graph, and a library of components, which are tailored to a particular FPGA device. RCADE provides a set of tools which operate on the ADF representation to provide a number of functions to aid in the creation of applications for configurable computing platforms. These tools include front end tools for specifying a design, a suite of analysis tools to aid the user in refining and constraining the design, and a set of back end tools which select components from the library based on the design constraints and place and route these components on the configurable computing platform.

Configurable Computing Machines(CCMs) based on FPGA technology show tremendous potential for improving the performance of aerospace applications. But, the tools to develop applications for CCMs are not maturing as quickly as the technology. This problem manifests itself in two areas : initial application development is complex and time consuming, and migration from one generation to the next requires significant redesign effort. These problems leave many unwilling to migrate their applications from a software implementation to hardware. The RCADE has been proposed to solve this problem. RCADE will offer higher performance than software solutions, will allow non-experts in FPGA design to develop applications, will simplify the design and maintenance process for those who are experts, and will ease the process of migration from one CCM platform to the next.

One of the central themes of RCADE is that the user selects operations from a library without initially specifying an implementation. Once the design is completely specified, these abstract operations are then bound to components. Components in RCADE are efficiently implemented blocks of logic (such as adders, multipliers, etc.) that conform to a well defined interface. This component based approach provides a number of advantages. The component interface is designed in such a way that components can interface with each other without the need for any controlling state machine. This lack of central control reduces the complexity of timing issues and eases debugging. Separating the selection of the operation from the selection of the component also serves to ease the problem of migration from one FPGA device or CCM platform to the next. The same design, specified by the user as a set of abstract, can be re-used by simply running the component selection phase again with a library of components targeted at the new device. Once the component library is ported to a new platform, any RCADE design can be ported quickly and easily. Another advantage of separating the selection of operations from the selection of components is tighter integration of the algorithm design and implementation.

RCADE provides many other tools apart from the front end tools ranging from the Precision Analysis tool that operates on designs very early in the specification cycle to the almost transparent pipelining balancing tool which operates on a design after the component selection phase. These tools are intended to be focused and capture some element of a hardware designer's expertise, so that it may be used by others. It also provides a Placement tool, which is responsible for the placement of components within a chip. The placement tool is very important because it has been shown that the use of relationally placed components can greatly reduce run times and improve performance.

The RCADE approach to design shortens the path between algorithm design and design of the implementation. Using conventional hardware design techniques, the design of the algorithm and the algorithm implementation are completely separate tasks and the details of implementation can take months. In RCADE, the user can interact with both the algorithm design and implementation, evolving each part and using one to guide another. RCADE combined with the component based design approach offers a powerful, flexible new tool for the design of reconfigurable computing applications. It helps the user to specify all the salient properties of the design, and then uses those properties to build a better design. RCADE, thus attempts to bring the interactive model with a higher level of abstraction to the hardware design world.

Projects

  • Arbitrary Mappings
  • Accelerating BLAST
  • Polymorphous Interface

People

  • Ron Sass
  • Srinivas R Beeravolu
  • Ranjesh G Jaganathan
  • Matt Simpson
  • Brian Greskamp
  • Shyamnath Harinath
  • Krishna M Muriki

Papers

  • Implementation and Analysis of Numerical Components for Reconfigurable Computing. Aerospace 1999. Walter B. Ligon III, Greg Monn, Dan Stanzione, Fred Stivers, Keith D. Underwood
  • Creating Applications in RCADE. Aerospace 1999. Kim Hazelwood, Walter B. Ligon III, Greg Monn, Natasha Pothen, Ron Sass, Dan Stanzione, Keith D. Underwood


Please mail Comments/Suggestions to Ranjesh or Srinivas at { jranjes , sbeerav } at parl.clemson.edu