Redundant Number Systems for Optimising Digital Signal Processing Performance in Field Programmable Gate Array

dc.contributor.authorKamp, William Hermanus Michael
dc.date.accessioned2010-10-06T22:44:33Z
dc.date.available2012-10-07T11:20:03Z
dc.date.issued2010en
dc.description.abstractSpeeding up addition is the key to faster digital signal processing (DSP). This can be achieved by exploiting the properties of redundant number systems. Their expanded symbol (digit) alphabet gives them multiple representations for most values. Utilising redundant representations at the output of an adder permits addition to be performed without carry-propagation, yielding fast, constant time performance irrespective of the word length. A resource efficient implementation of this fast adder structure is developed that re-purposes the fast carry logic of low-cost field programmable gate arrays (FPGAs). Experiments confirm constant time addition and show that it outperforms binary ripple carry addition at word lengths of greater than 44 bits in a Xilinx Spartan 3 FPGA and 24 bits in an Altera Cyclone III FPGA. Redundancy also provides other properties that can be exploited for performance gain. Some redundant representations will have more zero-symbols than others. These maximise the opportunities to exploit the multiplicative absorbing and additive identity properties of zero that when exercised reduce superfluous calculations. A serial recoding algorithm is developed that generates a redundant representation for a specified value with as few nonzero symbols as possible. Unlike previously published methods, it accepts a wide specification of number systems including those with irregularly spaced symbol alphabets. A Markov analysis and analysis of the elementary cycles in the formulated state machine provides average and worst case measures for the tested number system. Typically, the average number of non-zero symbols is less than a third and the worst case is less than a half. Further to the increase in zero-symbols, zero-dominance is proposed as a new property of redundant number representations. It promotes a set of representations that have uniquely positioned zero-symbols, in a Pareto-optimal sense. This set covers all representations of a value and is used to select representations to optimise the calculation of a dot-product. The dot-product or vector-multiply is a fundamental operation in DSP, since it is employed in filtering, correlation and convolution. The nonzero partial products can be packed together, substantially reducing the calculation time. The application of redundant number systems provides a two-fold benefit. Firstly, the number of nonzero partial products is reduced. Secondly, a novel opportunity is identified to use the representations in the zero-dominant set to optimise the packing further, gaining an extra 18% improvement. An implementation of the proposed dot-product with partial product packing is developed for a Cyclone II FPGA. It outperforms a quad-multiplier binary implementation in throughput by 50% . Redundant number systems excel at increasing performance in particular DSP subsystems, those that are numerically intensive and consist of considerable accumulation. The conversion back to a binary result is the performance bottleneck in the DSP algorithm, taking a time proportional to a binary adder. Therefore, redundant number systems are best utilised when this conversion cost can be amortised over many fast redundant additions, which is typical in many DSP and communications applications.en
dc.identifier.urihttp://hdl.handle.net/10092/4623
dc.identifier.urihttp://dx.doi.org/10.26021/2754
dc.language.isoen
dc.publisherUniversity of Canterbury. Electrical and Computer Engineeringen
dc.relation.isreferencedbyNZCUen
dc.rightsCopyright William Hermanus Michael Kampen
dc.rights.urihttps://canterbury.libguides.com/rights/thesesen
dc.subjectRedundant number systemsen
dc.subjectField programmable gate arrayen
dc.subjectFPGAen
dc.subjectDigital signal processingen
dc.subjectDSPen
dc.subjectZero dominant seten
dc.subjectZDSen
dc.subjectHamming weighten
dc.subjectpartial product packingen
dc.subjectdot producten
dc.subjectmultiply accumulateen
dc.titleRedundant Number Systems for Optimising Digital Signal Processing Performance in Field Programmable Gate Arrayen
dc.typeTheses / Dissertations
thesis.degree.grantorUniversity of Canterburyen
thesis.degree.levelDoctoralen
thesis.degree.nameDoctor of Philosophyen
uc.collegeFaculty of Engineeringen
uc.embargo24en
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
thesis_fulltext.pdf
Size:
3.7 MB
Format:
Adobe Portable Document Format