Software acceleration using programmable hardware devices

Martyn D. Edwards, J. J. H. Forrest · IEE Proceedings - Computers and Digital Techniques · 1996

Traditionally the hardware and software subsystems for an application have been designed independently, and subsequently integrated during the testing phase of the design cycle. In recent years there has been a resurgence of interest in the design and implementation of embedded systems, where the constituent hardware and software subsystems are developed concurrently to meet specified performance and cost constraints. This is known as hardware/software codesign. The paper presents a development environment for the design, cosynthesis and performance evaluation of general purpose hardware/software systems. In particular, we are concerned with accelerating the performance of time critical regions of programs which are being executed on a conventional microcomputer. The behaviour of an application is defined by a C program and an interactive profiling tool helps identify these critical regions. The original program is subsequently partitioned into hardware and software subsystems, where a critical region is now implemented using a programmable hardware device for improved performance. An overview of the development process is presented and the significance of our approach is demonstrated in a number of examples.

Read the paper · More papers on PaperTik