Efficient FPGA realization of inner-products of variable vectors

An Inner product is a generalization of the dot product (also called Scalar product). It is a method to multiply vectors together. After which, it produce a scalar result. Nonetheless inner product is different with dot product, where dot product can be denoted into either algebraically or geometric...

Full description

Saved in:
Bibliographic Details
Main Author: Yan, Yi
Other Authors: Pramod Kumar Meher
Format: Final Year Project
Language:English
Published: 2014
Subjects:
Online Access:http://hdl.handle.net/10356/59032
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:An Inner product is a generalization of the dot product (also called Scalar product). It is a method to multiply vectors together. After which, it produce a scalar result. Nonetheless inner product is different with dot product, where dot product can be denoted into either algebraically or geometrically ways, while inner product is an operation that takes two equal-length array number and return a single algebraic number. Since inner product is a very important concept for researches, so there is a significant meaning to familiarize with its principle, find out the advantages and disadvantages of inner product, compare the differences between inner product and other arithmetic method, and improvement on the operation efficiency of inner product. In this report, the author has introduced the concepts of inner-product and the proposed design for inner-product of variable vectors, also analyzed and compared several different methods to improve the efficiency of the proposed DA (Distributed arithmetic)-based implementation of inner-product of variable vectors. Pipelining is one of the basic technologies to improve the data arrival time for implementation of inner-product. Reuse of on small N-point inner-product to compute larger inner product length will extremely decrease the data arrival time which will economize the whole time consumption of the real system. However, this method will increase the usage of LUTs (lookup tables) and Register slices. DA (Distributed arithmetic) has been widely used for implementation of inner-products, and the proposed design introduced in this report is a novel time efficient flexible solution for bit-parallel DA-based implementation of inner-product of variable vectors. From the analytical results in this report, it is shown that proposed structures for input word-lengths L = 8 and L = 16, respectively are nearly 5.4% and 36% faster than the reference design (conventional multiplier-based implementation) in average for different inner-product length (N = 8, 16, 32 and 64). Whereas, the number of devices utilization of proposed DA-based design are significant larger than the reference multiplier-based design.