Abstract

The work aims to create hardware implementation of the streaming computing unit for logarithm calculation in fixed-point. Logarithms are widely used in telecommunications, particularly in radio intelligence to convert power spectrum values to decibels for further processing of spectrum data, e.g. for radio signals detection, range-finding, or direction-finding. For spectrum analysis of high sampling rate wideband signals, it is expedient to utilize hardware computing units for streaming logarithm calculation, implemented inside FPGA or ASIC chips. The market offers a large amount of IP cores for logarithm calculation in floating point. Floating-point calculation units offer a high dynamic range but also consume a large number of hardware resources that could diminish the maximum clock frequency of devices. In the proposed work, different approaches for logarithm calculating are considered, including CORDIC, Taylor series, and table-based methods. Authors proposed a mathematical model and architecture of streaming computing unit for base 2 logarithm calculation in fixed-point that can be easily adapted to any other base, simply multiplying the result by a constant. The proposed computing unit utilizes a table-based approach and counting leading zeroes in the argument. Based on the mathematical model, the high-level computational model in MATLAB® Simulink® was created. All the components of the mentioned model are compatible with HDL Coder. The proposed MATLAB® Simulink® model is parameterizable, one can set word and fraction width for input/output data, and memory size for table-based part. Using HDL Coder, Verilog HDL implementation for the proposed logarithm computing unit was synthesized. Utilizing HDL Verifier authors created the testbench in Verilog language for the verification of created computing unit on RTL level of abstraction based on reference data collected during simulation in Simulink. Running generated testbench in ModelSim simulator for one million clock cycles proved that there are no differences in operation between the Simulink Model and generated HDL design. The authors were synthesized HDL implementation of the created computing unit in Quartus Prime for the Stratix IV FPGA chip to evaluate the hardware cost of the proposed solution. The developed logarithm calculation unit was compared to the existing CORDIC, Taylor series, and table-based implementations in terms of calculation error and hardware costs. Additionally, for comparison purposes the authors created a hardware implementation for the base 2 logarithm calculation unit in a single-precision floating-point. During the evaluation of the calculation error, the double-precision floating-point logarithm computing unit from Simulink was chosen as the source for reference results. The comparison showed that created computing unit provides less calculation error compared to the existing fixed-point solutions, requires fewer hardware resources for implementation and can operate on higher clock frequencies. All the created models and source codes are open for utilization and can be downloaded from GitHub.

Highlights

  • Logarithms are widely used in telecommunications

  • The market offers a large amount of IP cores for logarithm calculation

  • Authors proposed a mathematical model and architecture of streaming computing unit for base 2 logarithm calculation in fixed-point that can be easily adapted to any other base

Read more

Summary

АНАЛІЗ ВІДОМИХ НАПРАЦЮВАНЬ

Відповідно до огляду, що наведений в [3], для реалізації апаратних обчислювачів логарифму використовують табличний та ітеративний підходи, алгоритм повороту координат CORDIC та апроксимацію за допомого ряду Тейлора. Вимоги до обсягу пам’яті можна зменшити у випадку обмеження діапазону значень на вході обчислювача, однак у такому разі знижується універсальність рішення. Подібне рішення застосовується для значень на вході обчислювача в інтервалі від 1 до 2, що обмежує використання підходу. Подібний підхід у випадку ітеративної реалізації потребує одного перемножувача (або одного блоку піднесення до квадрату) і не використовує блоки пам’яті. Конвеєризація рішення можлива, однак потребує значного збільшення кількості перемножувачів, що призводить до зростання апаратурних витрат. Для обчислення логарифму може бути використаний широко відомий алгоритм повороту координат CORDIC [3], [9,10]. Однак створення обчислювача логарифму на основі CORDIC додатково потребує застосування перемножувачів, що призводить до збільшення апаратурних витрат. Подібний підхід потребує залучення значної кількості перемножувачів, що негативно впливає на апаратурні витрати і максимально можливу тактову частоту

ТЕОРЕТИЧНІ ЗАСАДИ
МОДЕЛЬ ОБЧИСЛЮВАЧА
ОЦІНКА ПОМИЛКИ ОБЧИСЛЕНЬ
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call