RU2691854C1 - Asynchronous device of cordic algorithm for digital-signal processors - Google Patents

Asynchronous device of cordic algorithm for digital-signal processors Download PDF

Info

Publication number
RU2691854C1
RU2691854C1 RU2017145110A RU2017145110A RU2691854C1 RU 2691854 C1 RU2691854 C1 RU 2691854C1 RU 2017145110 A RU2017145110 A RU 2017145110A RU 2017145110 A RU2017145110 A RU 2017145110A RU 2691854 C1 RU2691854 C1 RU 2691854C1
Authority
RU
Russia
Prior art keywords
input
output
unit
arithmetic logic
data
Prior art date
Application number
RU2017145110A
Other languages
Russian (ru)
Inventor
Вячеслав Викторович Теленков
Original Assignee
Акционерное общество "Ангстрем" (АО "Ангстрем")
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Акционерное общество "Ангстрем" (АО "Ангстрем") filed Critical Акционерное общество "Ангстрем" (АО "Ангстрем")
Priority to RU2017145110A priority Critical patent/RU2691854C1/en
Application granted granted Critical
Publication of RU2691854C1 publication Critical patent/RU2691854C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5446Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation using crossaddition algorithms, e.g. CORDIC

Abstract

FIELD: computer equipment.SUBSTANCE: invention relates to computer engineering. Disclosed is an asynchronous device of CORDIC algorithm for digital-signal processors, comprising a unit for increasing the number of single-type data, an initialisation and conditional transition unit of iterations, a basic unit of calculations, a shift register, a first arithmetic logic unit, a second arithmetic logic unit, a feedback register, a clock generator, a generator for reducing output data, wherein the input is at least one input of the unit for increasing the number of single-type data, the output of which is connected to the first input of the second arithmetic logic unit, output of clock signal generator is connected to first input of initialization unit and conditional switching of iterations and second input of shift register, output of which is connected to second input of initialisation unit and conditional transition of iterations, output of which is connected to first input of shift register, second input and fourth input of first arithmetic logic device, base computing unit output is connected to the first input and the third input of the first arithmetic logic unit and is connected to the second input of the second arithmetic logic unit, first output and second output of first arithmetic logic unit are connected to third input and fourth input of second arithmetic logic unit, output of which is connected to input of feedback register and input of output data reduction driver, output of feedback register is connected to input of basic unit of calculations, and output of generator of reduction of output data serves as output of device and is connected to control input of unit for increasing number of single-type data.EFFECT: reduced power consumption, simplified design and faster operation during asynchronous data exchange.1 cl, 5 dwg

Description

Изобретение относится к устройствам цифровых вычислений и обработки данных и предназначено для вычисления итерационным методом CORDIC (COordinate Rotation DIgital Computer) сходящихся процессов, например, квадратных, кубических корней, деления и т.д.The invention relates to digital computing and data processing devices and is intended to be computed by an iterative method CORDIC (COordinate Rotation DIgital Computer) of converging processes, for example, square, cubic roots, division, etc.

Метод приближения CORDIC широко используется в вычислительных процессах. Алгоритм CORDIC был описан достаточно давно (J.E. Voider. The CORDIC trigonometric computing technique. IRE Trans. Electron. Comput. Sept. 1959, Vol. EC-8, No. 3, pp. 335-339). Существуют различные методы реализации алгоритма CORDIC, например, на базе ПЛИС (Дмитрий Дайнеко. Реализация CORDIC алгоритма на ПЛИС. Компоненты и технологии, №12, 2011). Кроме того, это алгоритмическое решение используется для быстрого преобразования Фурье (Despain A.M. Fourier Transform Computations Using CORDIC Iterations. IEEE Transactions On Computers. 1974, Vol. 23, pp. 993-1001).The CORDIC approximation method is widely used in computational processes. The CORDIC algorithm has been described for a long time (J.E. Voider. The CORDIC trigonometric computing technique. IRE Trans. Electron. Comput. Sept. 1959, Vol. EC-8, No. 3, pp. 335-339). There are various methods for implementing the CORDIC algorithm, for example, based on the FPGA (Dmitry Daineko. Implementation of the CORDIC algorithm on the FPGA. Components and Technologies, # 12, 2011). In addition, this algorithmic solution is used for fast Fourier transform (Despain A.M. Fourier Transform Computations Using CORDIC Iterations. IEEE Transactions On Computers. 1974, Vol. 23, pp. 993-1001).

Известен модуль CORDIC для повторяющегося приближения векторного вращения через ротационный угол (см., например, патент США US 7606852).A CORDIC module is known for the repetitive approximation of vector rotation through a rotation angle (see, for example, US Patent US 7,606,552).

Для реализации алгоритма CORDIC используется большое количество матриц (Chang L.W. and Lee S.W. Systolic Arrays for the discrete Cosine Transform. IEEE Trans. On Signal Processing. Nov. 1991, Vol. 29, No. 11, pp. 2411-2418), а также отдельные процессорные узлы для вычислений (Wang S. and Piuri V. A unified View of CORDIC Processor Design. Application Specific Processors. Edited by Earl E. Swartzlander, Jr. Kluwer Academic Press. November 1996, Ch. 5, pp. 121-160).For the implementation of the CORDIC algorithm, a large number of matrices are used (Chang LW and Lee SW Systolic Arrays for the discrete Cosine Transform. IEEE Trans. On Signal Processing. Nov. 1991, Vol. 29, No. 11, pp. 2411-2418), as well as separate processor nodes for computing (Wang S. and Piuri V. A unified View of the CORDIC Processor Design. Application Specific Processors. Edited by Earl E. Swartzlander, Jr. Kluwer Academic Press. November 1996, Ch. 5, pp. 121-160 ).

Наиболее близким является устройство для реализации CORDIC алгоритма при выполнении различных математических операций согласно XILINX, LogiCORE IP CORDIC v4.0, DS249. March 1, 2011 Product Specification.The closest is the device for implementing the CORDIC algorithm when performing various mathematical operations according to XILINX, LogiCORE IP CORDIC v4.0, DS249. March 1, 2011 Product Specification.

Ограничением всех известных технических решений является существенные аппаратные затраты, выражающиеся в необходимости использования, кроме базового блока вычислений, большого количества таблиц памяти, большого числа арифметически-логических устройств, других логических устройств, регистров, сумматоров и т.д. При этом необходимо обеспечить жесткую временную синхронизацию работы всех функциональных блоков, и по этой причине эффективность работы (быстродействие) известных технических решений недостаточно высока. Известные устройства характеризуются длительным процессом подготовки к вычислениям, необходимостью согласования временных диаграмм и дополнительными аппаратными затратами.A limitation of all known technical solutions is the substantial hardware costs, expressed in the need to use, in addition to the basic computing unit, a large number of memory tables, a large number of arithmetic logic devices, other logic devices, registers, adders, etc. It is necessary to ensure tight time synchronization of all functional units, and for this reason, the efficiency (performance) of the known technical solutions is not high enough. The known devices are characterized by a lengthy process of preparation for calculations, the need to coordinate timing diagrams and additional hardware costs.

Решаемая изобретением задача заключается в улучшении технико-эксплуатационных характеристик устройства CORDIC алгоритма.Solved by the invention, the problem is to improve the technical and operational characteristics of the device CORDIC algorithm.

Технический результат, достигаемый при использовании изобретения, заключается в снижении потребляемой мощности, упрощении конструкции и повышении быстродействия при асинхронном обмене данными.The technical result achieved with the use of the invention is to reduce power consumption, simplify the design and improve performance in asynchronous data exchange.

Для решения поставленной задачи с достижением заявленного технического результата асинхронное устройство CORDIC алгоритма для цифро-сигнальных процессоров содержит блок увеличения числа однотипных данных, блок инициализации и условного перехода итераций, базовый блок вычислений, сдвиговый регистр, первое арифметически-логическое устройство, второе арифметически-логическое устройство, регистр обратной связи, формирователь тактовых сигналов, формирователь снижения выходных данных. Входом устройства служит по меньшей мере один вход блока увеличения числа однотипных данных, выход которого соединен с первым входом второго арифметически-логического устройства. Выход формирователя тактовых сигналов соединен с первым входом блока инициализации и условного перехода итераций и вторым входом сдвигового регистра, выход которого соединен со вторым входом блока инициализации и условного перехода итераций. Выход блока инициализации и условного перехода итераций соединен с первым входом сдвигового регистра, а также вторым входом и четвертым входом первого арифметически-логического устройства. Выход базового блока вычислений соединен с первым входом и третьим входом первого арифметически-логического устройства и вторым входом второго арифметически-логического устройства. Первый выход и второй выход первого арифметически-логического устройства соединены соответственно с третьим входом и четвертым входом второго арифметически-логического устройства, выход которого соединен с входом регистра обратной связи и входом формирователя снижения выходных данных. Выход регистра обратной связи соединен с входом базового блока вычислений. Выход формирователя снижения выходных данных служит выходом устройства.To solve the problem with the achievement of the claimed technical result, the asynchronous device CORDIC algorithm for digital-signal processors contains a block for increasing the number of data of the same type, an initialization and conditional iteration block, a basic computing unit, a shift register, a first arithmetic logic unit, a second arithmetic logic unit , feedback register, clock driver, driver output reduction. The input of the device is at least one input of the block for increasing the number of data of the same type, the output of which is connected to the first input of the second arithmetic logic unit. The output of the clock driver is connected to the first input of the initialization block and the conditional iteration transition and the second input of the shift register, the output of which is connected to the second input of the initialization block and the conditional iteration transition. The output of the initialization and conditional iteration transition block is connected to the first input of the shift register, as well as the second input and the fourth input of the first arithmetic logic unit. The output of the basic computing unit is connected to the first input and the third input of the first arithmetic logic unit and the second input of the second arithmetic logic unit. The first output and the second output of the first arithmetic logic unit are connected respectively to the third input and the fourth input of the second arithmetic logic unit, the output of which is connected to the input of the feedback register and the input of the output shaper. The output of the feedback register is connected to the input of the basic computing unit. The output of the driver to reduce the output data is the output of the device.

Преимущества, а также особенности настоящего изобретения поясняются с помощью варианта его выполнения со ссылками на фигуры.The advantages as well as the features of the present invention are explained using an embodiment of the invention with reference to the figures.

На фиг. 1 изображена функциональная схема заявленного устройства.FIG. 1 shows a functional diagram of the claimed device.

На фиг. 2 схематично показан известный алгоритм CORDIC работы устройства согласно фиг. 1.FIG. 2 schematically shows the known CORDIC algorithm for the operation of the device according to FIG. one.

На фиг. 3, 4, 5 приведены графики итерационного процесса, где:FIG. 3, 4, 5 are graphs of the iterative process, where:

на фиг. 3 представлен график итерационного процесса, например, для выполнения операции деления;in fig. 3 shows a graph of an iterative process, for example, for performing a division operation;

на фиг. 4 представлено то же, что фиг. 3, но в увеличенном масштабе;in fig. 4 shows the same as FIG. 3, but on an enlarged scale;

на фиг. 5 представлен результат выполнения операции деления при различных входных данных (полные циклы).in fig. 5 shows the result of the division operation with various inputs (full cycles).

Перечень позиций на фиг. 1:The list of items in FIG. one:

1 - блок увеличения числа однотипных данных1 - block to increase the number of similar data

2 - блок инициализации и условного перехода итераций2 - block initialization and conditional transition iterations

3 - базовый блок вычислений3 - basic computing unit

4 - сдвиговый регистр4 - shift register

5 - первое арифметически-логическое устройство5 - the first arithmetic-logical device

6 - второе арифметически-логическое устройство6 - the second arithmetic-logical device

7 - регистр обратной связи7 - feedback register

8 - формирователь тактовых сигналов8 - clock driver

9 - формирователь снижения выходных данных9 - shaper reduce output

10 - вход (шина входных сигналов)10 - input (input bus)

11 - выход (шина выходных сигналов)11 - output (output signal bus)

12-22 - шины данных (сигнальные).12-22 - data bus (signal).

Асинхронное устройство CORDIC алгоритма для цифро-сигнальных процессоров (фиг. 1) содержит блок 1 увеличения числа однотипных данных, блок 2 инициализации и условного перехода итераций, базовый блок 3 вычислений, сдвиговый регистр 4, первое арифметически-логическое устройство 5, второе арифметически-логическое устройство 6, регистр 7 обратной связи, формирователь 8 тактовых сигналов, формирователь 9 снижения выходных данных. Входом 10 служит по меньшей мере один вход блока 1 увеличения числа однотипных данных, выход которого соединен с первым входом второго арифметически-логического устройства 6. Выход формирователя 8 тактовых сигналов соединен с первым входом блока 2 инициализации и условного перехода итераций и вторым входом сдвигового регистра 4. Выход сдвигового регистра 4 соединен со вторым входом блока 2 инициализации и условного перехода итераций. Выход блока 2 инициализации и условного перехода итераций соединен с первым входом сдвигового регистра 4, вторым входом и четвертым входом первого арифметически-логического устройства 5. Выход базового блока 3 вычислений соединен с первым входом и третьим входом первого арифметически-логического устройства 5 и соединен со вторым входом второго арифметически-логического устройства 6. Первый выход и второй выход первого арифметически-логического устройства 5 соединены соответственно с третьим входом и четвертым входом второго арифметически-логического устройства 6. Выход второго арифметически-логического устройства соединен с входом регистра 7 обратной связи и входом формирователя 9 снижения выходных данных. Выход регистра 7 обратной связи соединен с входом базового блока 3 вычислений. Выход формирователя 9 снижения выходных данных служит выходом устройства.The asynchronous device CORDIC algorithm for digital-signal processors (Fig. 1) contains a block 1 of increasing the number of data of the same type, a block 2 of initialization and a conditional transition of iterations, a basic block 3 of calculations, a shift register 4, a first arithmetic-logical unit 5, a second arithmetic-logical device 6, feedback register 7, clock driver 8, driver 9 for reducing output data. Input 10 is at least one input of unit 1 for increasing the number of data of the same type, the output of which is connected to the first input of the second arithmetic logic unit 6. The output of the clock shaper 8 is connected to the first input of initialization unit 2 and the iteration conditional transition and the second input of the shift register 4 The output of the shift register 4 is connected to the second input of the initialization block 2 and the conditional iteration transition. The output of the initialization block 2 and the conditional iteration transition is connected to the first input of the shift register 4, the second input and the fourth input of the first arithmetic logic unit 5. The output of the basic calculation unit 3 is connected to the first input and the third input of the first arithmetic logic unit 5 and is connected to the second the input of the second arithmetic logic unit 6. The first output and the second output of the first arithmetic logic unit 5 are connected respectively to the third input and the fourth input of the second arithmetic ki-logical unit 6. The output of the second arithmetic-logic unit is connected to the feedback input of the register 7 and the input of the output reduction 9. The output of the register 7 feedback is connected to the input of the base unit 3 calculations. The output of the shaper 9 reduce the output data serves as the output device.

Предложенное устройство характеризуется тем, что с целью реализации автономного процесса обмена, упрощения приема данных и формирования вычисленных результатов входные воздействия не регламентированы по времени поступления, а выходная реакция устройства определяется автоматически при завершении итерационного процесса. Известные устройства характеризуются длительным процессом подготовки к вычислениям, необходимостью согласования временных диаграмм и дополнительными аппаратными затратами в сравнении с заявленным устройством.The proposed device is characterized by the fact that in order to implement an autonomous exchange process, simplify data reception and generate calculated results, input actions are not regulated by the arrival time, and the output response of the device is automatically determined when the iteration process is completed. The known devices are characterized by a lengthy process of preparation for calculations, the need to coordinate timing diagrams and additional hardware costs in comparison with the claimed device.

Иллюстрация алгоритма CORDIC представлена на фиг. 2. Алгоритм основан на последовательном (итерационном) приближении текущего значения к искомому. Например, для операции деления проверяется условие:An illustration of the CORDIC algorithm is presented in FIG. 2. The algorithm is based on the sequential (iterative) approximation of the current value to the desired one. For example, for a division operation, the condition is checked:

Y⋅Z[i]-X≤0?Y⋅Z [i] -X≤0?

где Y - делитель, X - делимое, Z [i] - итерационная величина искомого значения на i-том шаге. На каждом итерационном шаге вычитается или прибавляется Δ[i] согласно следующим выражениям:where Y is the divisor, X is the dividend, Z [i] is the iterative value of the desired value at the i-th step. At each iteration step, Δ [i] is subtracted or added according to the following expressions:

Z[i]-Δ[i] или Z[i]+Δ[i],Z [i] -Δ [i] or Z [i] + Δ [i],

где Δ[i] на каждом шаге уменьшается в два раза (фактическая операция - сдвиг вправо на один разряд). На фиг. 2 показано изменение величины в итерационном процессе - V1, V2, V3, при этом V2-V1 соответствует углу смещения (поворота) в два раза больше угла, соответствующего последующему изменению V2-V3. Таким образом, на фиг. 2 показана величина изменения Δ[i] в два раза на следующем итерационном шаге.where Δ [i] at each step is halved (the actual operation is a right shift by one bit). FIG. Figure 2 shows the change in magnitude in the iterative process — V1, V2, V3, with V2-V1 corresponding to the displacement (rotation) angle twice as large as the angle corresponding to the subsequent change in V2-V3. Thus, in FIG. 2 shows the magnitude of the change in Δ [i] twice in the next iteration step.

В заявленном устройстве базовый блок 3 вычислений может выполнять различные, заранее заданные функции, например, деление, суммирование, возведение в степень, извлечение корней и т.п.In the inventive device, the basic computing unit 3 can perform various predefined functions, for example, division, summation, exponentiation, root extraction, etc.

Заявленное устройство имеет блок 1 увеличения числа однотипных данных для повторения входных воздействий (это может быть один или два входа в зависимости от типа базового блока 3), сигналы на который поступают с входа 10 по шине 12.The claimed device has a block 1 of increasing the number of data of the same type for repeating input actions (it can be one or two inputs depending on the type of the base unit 3), the signals to which are received from input 10 via bus 12.

На вход 10 (или входы) в асинхронном режиме подаются данные для вычисления. Если входной буфер задействован в блоке 1, то устройство остается в режиме вычисления предыдущего незаконченного итерационного процесса, и запись новых данных не допускается. После завершения итерационного процесса в блок 1 загружаются новые данные, и начинается следующий итерационный процесс. При этом на выходе блока 1 (на шине 13) сохраняются n-число раз данные, которые поступили по шине 12, где n - число разрядов в слове (word). Итерационный процесс длится с числом тактов, эквивалентных числу разрядов в слове.Input 10 (or inputs) in asynchronous mode feeds the data for calculation. If the input buffer is involved in block 1, then the device remains in the mode of calculating the previous unfinished iterative process, and the recording of new data is not allowed. After the iteration process is completed, new data is loaded into block 1, and the next iteration process begins. In this case, the output of block 1 (on the bus 13) stores the n-number of times the data that arrived on the bus 12, where n is the number of digits in the word (word). The iterative process lasts with the number of clock cycles equivalent to the number of bits in a word.

Базовый блок 3 зависит от типа выполняемой операции. Например, для вычисления квадратного корня текущее в итерационном процессе значение возводится в квадрат в этом блоке (word^2). Таким образом, по шине 15 передается слово на первый арифметически-логический блок 5, где осуществляется операция сложения/вычитания с итерационной величиной, формируемой в блоке 2 и сдвиговом регистре 4. В блоке 2 инициализации и условного перехода итераций на начальном этапе формируется максимальное значение Δ[i], лежащее в диапазоне 0,5 от 1, что соответствует предельному значения положительного числа в формате чисел с фиксированной точкой. Это обеспечивается сигналом сброса по первому входу. После окончания сигнала сброса в процесс включается кольцо, состоящее из блока 2 и сдвигового регистра 4, обеспечивающее итерационный процесс и деление значения Δ[i] на два в каждом такте, что соответствует сдвигу вправо на один разряд.Base unit 3 depends on the type of operation being performed. For example, to calculate the square root, the current value in the iterative process is squared in this block (word ^ 2). Thus, the bus 15 transmits the word to the first arithmetic logic unit 5, where the operation of addition / subtraction with the iteration value generated in block 2 and shift register 4 is performed. In block 2 initialization and conditional iteration of iterations at the initial stage, the maximum value Δ [i] is in the range of 0.5 from 1, which corresponds to the limit value of a positive number in the format of fixed-point numbers. This is provided by a reset signal on the first input. After the reset signal is completed, a ring consisting of block 2 and shift register 4 is turned on in the process, ensuring an iterative process and dividing the value of Δ [i] into two in each clock cycle, which corresponds to a shift to the right by one bit.

Блок 2 по первому тактовому сигналу инициируется в заданное состояние (например, максимальное значение - предельная величина диапазона вычислений), которое в каждом такте через сдвиговый регистр 4 уменьшается в два раза (shift>>1), осуществляя сдвиг в сторону младших разрядов на один разряд. Это выражение справедливо, например, для данных с фиксированной запятой в формате 2S complement как представление чисел в формате от +1 до -1: например, максимальное положительное число представляется как 0.11111…1, а минимальное число (максимальная абсолютная величина отрицательного числа) - как 1.0000…0.Block 2 is triggered to the specified state by the first clock signal (for example, the maximum value is the limit value of the calculation range), which in each clock cycle through the shift register 4 is halved (shift >> 1), shifting towards the lower digits by one digit . This expression is valid, for example, for data with a fixed comma in the 2 S complement format as a representation of numbers in the format from +1 to -1: for example, the maximum positive number is represented as 0.11111 ... 1, and the minimum number (maximum absolute value of a negative number) is as 1.0000 ... 0.

Итерационная величина Δ[i] на шине 19 есть величина для сложения и вычитания, постоянно изменяемая на каждом такте, которая поступает на второй и четвертый входы арифметически-логического блока 5. На шинах 16 и 17 формируются данные +/- («плюс/минус»), которые поступают на третий и четвертый входы второго арифметически-логического устройства 6. В зависимости от того, какая величина больше - на шинах 13 или 15, - фактор сравнения исходной величины и необходимой для вычисления величины выбирается во втором арифметически-логическом блоке 6 данных с шины 16 или 17. Таким образом, осуществляется итерационное приближение к вычисляемой величине Δ1[i] на шине 18.The iteration quantity Δ [i] on bus 19 is the value for addition and subtraction, constantly changing on each clock cycle, which goes to the second and fourth inputs of the arithmetic logic unit 5. On tires 16 and 17, data is generated +/- (plus / minus "), Which arrive at the third and fourth inputs of the second arithmetic logical unit 6. Depending on which value is greater - on buses 13 or 15, the comparison factor of the initial value and the value necessary for calculating is selected in the second arithmetic logical unit 6 data from the bus 16 or 17. Thus, an iterative approximation to the calculated value Δ1 [i] on the bus 18 is carried out.

Арифметически-логическое устройство 5 выполняет функцию сложения и вычитания одновременно: на его первом выходе формируется сложение чисел, поступающих на первый и второй входы ([1]+[2]). На втором выходе выполняется вычитание чисел, поступающих на третий и четвертый входы ([3]+[4]). Арифметически-логическое устройство 6 фактически является вычитателем с условным формированием результата. Если число, поступающее на первый вход, больше числа на втором входе, то на выходе (шина 18) формируется сигнал с четвертого входа, в противном случае - с третьего входа.The arithmetic logic unit 5 performs the function of addition and subtraction at the same time: at its first output, the addition of numbers arriving at the first and second inputs is formed ([1] + [2]). The second output is the subtraction of the numbers entering the third and fourth inputs ([3] + [4]). Arithmetic logic unit 6 is actually a subtractor with conditional formation of the result. If the number arriving at the first input is greater than the number at the second input, then the output (bus 18) generates a signal from the fourth input, otherwise from the third input.

В формирователе 9 снижения выходных данных осуществляется сравнение числа с количеством разрядов в слове. В момент, когда число сдвигов в сдвиговом регистре 4 эквивалентно числу разрядов, формируется выходной сигнал на шине 22 с одновременным разрешением выдачи результата на выход 11. Одновременно с этим также формируется сигнал для загрузки следующих данных во входные буферы блока 1. Связь для передачи указанного сигнала для загрузки на фиг. 1 для простоты показана пунктирной линией, при этом выход формирователя 9 снижения выходных данных соединен с управляющим входом блока 1.In the shaper 9 reduce the output data is compared with the number of bits in the word. At the moment when the number of shifts in the shift register 4 is equivalent to the number of digits, an output signal is generated on bus 22 with simultaneous resolution of outputting the output to output 11. At the same time, a signal is also generated to load the following data into the input buffers of unit 1. Communication for transmitting the specified signal for loading in FIG. 1 for simplicity is shown by a dashed line, while the output of the shaper 9 reducing the output data is connected to the control input of the unit 1.

Окончание процесса вычисления позволяет производить обработку следующих данных с входа 10.The end of the calculation process allows the processing of the following data from input 10.

Формирователь 8 тактовых сигналов обеспечивает формирование сигнала сброса (начало итерационного процесса).Shaper 8 clock signals provides the formation of a reset signal (the beginning of the iterative process).

Регистр 7 обратной связи является регистром памяти для сохранения текущего значения. Регистр 7 обеспечивает работу схемы с обратной связью в соответствии с принципом построения последовательностных (рекурсивных) схем.Feedback register 7 is a memory register for storing the current value. Register 7 provides a circuit with feedback in accordance with the principle of constructing sequential (recursive) schemes.

На фиг. 3-5 приведены графики итерационного процесса для выполнения операции деления.FIG. 3-5 are graphs of an iterative process for performing a division operation.

На фиг. 3 представлена кривая итерационного процесса в последовательности различных значений входных данных, поступающих на вход 10. На фиг 4 показан фрагмент фиг. 3 одного итерационного цикла (увеличенный масштаб по оси X).FIG. 3 shows the curve of the iterative process in a sequence of different values of input data arriving at the input 10. FIG. 4 shows a fragment of FIG. 3 single iteration cycles (enlarged scale along the X axis).

На фиг. 5 показаны результаты выполнения операции деления для входных данных на фиг. 3.FIG. 5 shows the results of performing the division operation for the input data of FIG. 3

Заявленное устройство является полностью автономным с асинхронным принципом обмена данными между загрузкой данных и формированием вычисленного результата.The claimed device is fully autonomous with the asynchronous principle of data exchange between data loading and the formation of the calculated result.

Таким образом, во-первых, удалось разработать асинхронное устройство, функционирующее в алгоритмах последовательного приближения структуры CORDIC, которое эффективно для выполнения любых вычислений. При этом основным результатом работы является снижение потребляемой мощности за счет асинхронного принципа работы, при котором устройство обрабатывает информацию только при наличии входных данных. Кроме того, достигается уменьшение аппаратных затрат, поскольку не требуется блоков подготовки загрузки данных, вычисления окончания процесса итерации - это происходит в автоматическом режиме. В-третьих, повышается быстродействие, т.к. итерационные процессы вычисления величин Δ[i] и Δ1[i] происходят одновременно. Эти три фактора значительно повышают эффективность использования данного устройства.Thus, firstly, it was possible to develop an asynchronous device that functions in the algorithms of successive approximation of the CORDIC structure, which is effective for performing any calculations. In this case, the main result of the work is to reduce power consumption due to the asynchronous principle of operation, in which the device processes information only if there is input data. In addition, a reduction in hardware costs is achieved, since data preparation blocks are not required, the iteration process end calculations are calculated - this happens in automatic mode. Thirdly, the speed increases, because Iterative processes of calculating the quantities Δ [i] and Δ1 [i] occur simultaneously. These three factors significantly increase the efficiency of using this device.

Наиболее успешно заявленное асинхронное устройство CORDIC алгоритма для цифро-сигнальных процессоров промышленно применимо в отдельных IP-блоках или непосредственно в цифро-сигнальных процессорах. Данное устройство может широко применяться вычислительных средах с автономным разделением функций с целью ускорения вычислительного процесса.The most successful claimed asynchronous device CORDIC algorithm for digital-signal processors is industrially applicable in separate IP blocks or directly in digital-signal processors. This device can be widely used computing environments with autonomous separation of functions in order to accelerate the computational process.

Claims (7)

Асинхронное устройство CORDIC алгоритма для цифро-сигнальных процессоров, содержащее блок увеличения числа однотипных данных, блок инициализации и условного перехода итераций, базовый блок вычислений, сдвиговый регистр, первое арифметически-логическое устройство, второе арифметически-логическое устройство, регистр обратной связи, формирователь тактовых сигналов, формирователь снижения выходных данных,Asynchronous device CORDIC algorithm for digital-signal processors, containing a unit for increasing the number of data of the same type, initialization and conditional iteration block, basic computing unit, shift register, first arithmetic logic unit, second arithmetic logic unit, feedback register, clock generator shaper reduce output data при этом входом служит по меньшей мере один вход блока увеличения числа однотипных данных, выход которого соединен с первым входом второго арифметически-логического устройства,at the same time, the input is at least one input of the block for increasing the number of data of the same type, the output of which is connected to the first input of the second arithmetic logic unit, выход формирователя тактовых сигналов соединен с первым входом блока инициализации и условного перехода итераций и вторым входом сдвигового регистра, выход которого соединен со вторым входом блока инициализации и условного перехода итераций, выход которого соединен с первым входом сдвигового регистра, вторым входом и четвертым входом первого арифметически-логического устройства,the clock driver output is connected to the first input of the initialization and iteration conditional transition and the second input of the shift register, the output of which is connected to the second input of the initialization and iteration conditional transition, the output of which is connected to the first input of the shift register, second input and the fourth input of the first arithmetic logical device выход базового блока вычислений соединен с первым входом и третьим входом первого арифметически-логического устройства и соединен со вторым входом второго арифметически-логического устройства,the output of the basic computing unit is connected to the first input and the third input of the first arithmetic logic unit and connected to the second input of the second arithmetic logic unit, первый выход и второй выход первого арифметически-логического устройства соединены соответственно с третьим входом и четвертым входом второго арифметически-логического устройств, выход которого соединен с входом регистра обратной связи и входом формирователя снижения выходных данных,the first output and the second output of the first arithmetic-logical device are connected respectively to the third input and the fourth input of the second arithmetic-logical device, the output of which is connected to the input of the feedback register and the input of the output shaper, выход регистра обратной связи соединен с входом базового блока вычислений, иthe output of the feedback register is connected to the input of the basic calculation unit, and выход формирователя снижения выходных данных служит выходом устройства и соединен с управляющим входом блока увеличения числа однотипных данных.the output of the shaper of the output data output serves as a device output and is connected to the control input of the unit for increasing the number of the same type data.
RU2017145110A 2017-12-21 2017-12-21 Asynchronous device of cordic algorithm for digital-signal processors RU2691854C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017145110A RU2691854C1 (en) 2017-12-21 2017-12-21 Asynchronous device of cordic algorithm for digital-signal processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017145110A RU2691854C1 (en) 2017-12-21 2017-12-21 Asynchronous device of cordic algorithm for digital-signal processors

Publications (1)

Publication Number Publication Date
RU2691854C1 true RU2691854C1 (en) 2019-06-18

Family

ID=66947959

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017145110A RU2691854C1 (en) 2017-12-21 2017-12-21 Asynchronous device of cordic algorithm for digital-signal processors

Country Status (1)

Country Link
RU (1) RU2691854C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU222880U1 (en) * 2023-11-28 2024-01-22 федеральное государственное бюджетное образовательное учреждение высшего образования "МИРЭА-Российский технологический университет" Device for calculating transcendental functions and multiplying binary numbers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385632B1 (en) * 1999-06-18 2002-05-07 Advanced Micro Devices, Inc. Fast CORDIC algorithm with sine governed termination
US7606852B2 (en) * 2001-12-20 2009-10-20 IHP-GmbH-Innovations for High Performance Microelectronics/Institut fur Innovative Mikroelectronik CORDIC unit
US7870179B2 (en) * 2006-09-21 2011-01-11 Samsung Electronics Co., Ltd. Apparatus and method for optimal implementation of the CORDIC algorithm for wireless RFIC digital down-conversion
RU167428U1 (en) * 2015-09-04 2017-01-10 Акционерное общество "Зеленоградский нанотехнологический центр" SINUS-COSINUS SIGNAL CONVERTER TO POSITION CODE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385632B1 (en) * 1999-06-18 2002-05-07 Advanced Micro Devices, Inc. Fast CORDIC algorithm with sine governed termination
US7606852B2 (en) * 2001-12-20 2009-10-20 IHP-GmbH-Innovations for High Performance Microelectronics/Institut fur Innovative Mikroelectronik CORDIC unit
US7870179B2 (en) * 2006-09-21 2011-01-11 Samsung Electronics Co., Ltd. Apparatus and method for optimal implementation of the CORDIC algorithm for wireless RFIC digital down-conversion
RU167428U1 (en) * 2015-09-04 2017-01-10 Акционерное общество "Зеленоградский нанотехнологический центр" SINUS-COSINUS SIGNAL CONVERTER TO POSITION CODE

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU222880U1 (en) * 2023-11-28 2024-01-22 федеральное государственное бюджетное образовательное учреждение высшего образования "МИРЭА-Российский технологический университет" Device for calculating transcendental functions and multiplying binary numbers

Similar Documents

Publication Publication Date Title
US11249726B2 (en) Integrated circuits with modular multiplication circuitry
TWI772978B (en) Computational units, method, and re-configurable processor for element approximation
CN107305484B (en) Nonlinear function operation device and method
US10877733B2 (en) Segment divider, segment division operation method, and electronic device
CN110515584A (en) Floating-point Computation method and system
RU2691854C1 (en) Asynchronous device of cordic algorithm for digital-signal processors
US6728745B1 (en) Semiconductor circuit for arithmetic operation and method of arithmetic operation
JP3003467B2 (en) Arithmetic unit
Dixit et al. FPGA accomplishment of a 16-bit divider
CN114138233A (en) Serial shift complement multiply-add device
US9032009B2 (en) Multiplier circuit
RU2799035C1 (en) Conveyor totalizer by modulo
KR100946256B1 (en) Scalable Dual-Field Montgomery Multiplier On Dual Field Using Multi-Precision Carry Save Adder
JP2943255B2 (en) Reciprocal calculation circuit
Bashagha et al. Radix digit-serial pipelined divider/square-root architecture
EP1504338A1 (en) "emod" a fast modulus calculation for computer systems
Chinta et al. High speed most significant bit first truncated multiplier
RU2402803C2 (en) Binary coded decimal summation method and device
US11934799B2 (en) Combinatorial logic circuits with feedback
Meher et al. An optimized design for serial-parallel finite field multiplication over GF (2 m) based on all-one polynomials
KR100900790B1 (en) Method and Apparatus for arithmetic of configurable processor
KR101764343B1 (en) Finite field multiplication apparatus based on redundant basis and method using thereof
RU188390U1 (en) PARALLEL RECONFIGURABLE REED-SOLOMON CODER
RU2642385C1 (en) DEVICE FOR CALCULATING arctg Y/X FUNCTION
RU2069009C1 (en) Adding device