High-radix complex number multiplier implementations on FPGA
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2018-05-14
Department
Major/Subject
Micro- and Nanoelectronic Circuit Design
Mcode
ELEC3036
Degree programme
NanoRad - Master’s Programme in Nano and Radio Sciences (TS2013)
Language
en
Pages
50
Series
Abstract
Multiplication is often the bottleneck in digital signal processing applications. Therefore, faster and more compact hardware multipliers are needed. Multiplication is computed as a series of additions from the hardware point of view. The performance of a hardware multiplier can be enhanced by adding more parallelism at the cost of using more resources. Multiplication of complex numbers is computed as multiplication and addition of real numbers. Therefore, designing an efficient complex number multiplier is a more complicated task than designing a real number multiplier. In this work, we develop multiple complex number multiplication algorithms, along with their respective implementations on FPGA technology. We design the multipliers with the radix-4, radix-8, and radix-16 Booth encoding, as well as the radix-8 non-recoded algorithms. All proposed multipliers are implemented and verified in C++. Catapult HLS tool is used to convert the behavioral models to VHDL, which are synthesizable on Intel Stratix 10 1SX280LN3F43E1VG FPGA. In the next step, we compare the area and performance of the implementations. Finally, we propose the most suitable multiplier for low latency and high performance applications.Kertolasku rajoittaa usein digitaalisen signaalinkäsittelyn sovellusten nopeutta, minkä vuoksi nopeampia ja pienempiä kertojia tarvitaan jatkuvasti. Kertolaskuoperaatio toteutetaan laitteistoissa yhteenlaskujen sarjana. Kertojan suorituskykyä voidaan parantaa lisäämällä yhteenlaskuoperaatioiden rinnakkaisuutta, mikä vaatii enemmän resursseja. Kompleksilukujen kertolasku voidaan toteuttaa reaalilukujen kerto- ja yhteenlaskuna. Kompleksilukuja kertovan laitteiston suunnittelu on siten huomattavasti monimutkaisempaa kuin reaalilukuja kertovan laitteiston suunnittelu. Tässä työssä suunnitellaan useita kompleksilukukertojia FPGA-alustalle eri algoritmeja hyödyntäen. Kertojat kehitetään Boothin algoritmeilla kantaluvuilla 4, 8 ja 16. Lisäksi yksi kantalukua 8 käyttävä kertoja suunnitellaan ilman enkoodausta. Kaikki tässä työssä esitellyt kertojat on kuvattu C++- ohjelmointikielellä, ja VHDL-versiot on luotu Catapult HLS-työkalulla. Kertojat syntetisoidaan Intelin Stratix 10 1SX280LN3F43E1VG FPGA-laitteistolle. Työssä vertaillaan toteutettujen kertojien kokoa ja suorituskykyä, joiden perusteella esitetään sopivimmat kertojat matalan viiveen ja korkean suorituskyvyn sovelluksiin.Description
Supervisor
Ryynänen, JussiThesis advisor
Guevorkian, DavidKeywords
complex multiplication, high-radix, FPGA, HLS