Implementing the VSIPL API on reconfigurable computers

Bruce, R. and Devlin, M. and Marshall, S. (2006) Implementing the VSIPL API on reconfigurable computers. In: 9th Annual International MAPLD Conference, 2006-09-26 - 2008-09-28.

[thumbnail of mapld06_paper.doc] Microsoft Word. Filename: mapld06_paper.doc

Download (137kB)


FPGA-based reconfigurable computers have widely recognised performance advantages over microprocessor-based systems. One of the greatest impediments to their widespread deployment has been the difficulty inherent in their programming. The authors have looked at the viability of implementing the basic functions of the Vector, Signal, and Image-Processing Library (VSIPL) standard API using reconfigurable computers as the principal compute element. Ideally, such an implementation would offer significant abstraction from the complexities of FPGA design and would allow for high design productivity. Several factors make this impractical in the short term as a path to high-performance reconfigurable computing. In order to maintain standards compliance to VSIPL, performance must be sacrificed. Problems include: the high function-call overheads of FPGA functions; the complexities and overheads of data transfer between the differing memory structures of FPGA and CPU-based systems; the lack of suitable building-block IP to reduce the implementation and verification workload is also an obstacle. The focus of the work has shifted to providing a low-level library of floating-point math functions, analogous to ANSI C’s math.h library. This library can both act as a building block for future implementations of APIs like VSIPL and as a enabler to high-level languages that target FPGAs.