RU2028666C1 - Computational cell for realizing quick convolution - Google Patents

Computational cell for realizing quick convolution Download PDF

Info

Publication number
RU2028666C1
RU2028666C1 SU4950599A RU2028666C1 RU 2028666 C1 RU2028666 C1 RU 2028666C1 SU 4950599 A SU4950599 A SU 4950599A RU 2028666 C1 RU2028666 C1 RU 2028666C1
Authority
RU
Russia
Prior art keywords
input
output
register
inputs
registers
Prior art date
Application number
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 SU4950599 priority Critical patent/RU2028666C1/en
Application granted granted Critical
Publication of RU2028666C1 publication Critical patent/RU2028666C1/en

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: computer technology. SUBSTANCE: "butterfly" operation is organized by means of theoretical-numerical modulo conversion of Ferma numbers. Intermediate and final results are presented by double-digit code. Computational cell for realizing quick convolution has the first and the second input buffer registers, the first by 23v/4 and by 2v/4 multipliers, three registers of repeat clocking, the first output register, revolution exponential curve store register, three multiplexers. Three units for summing Ferma numbers modulo, the third and the fourth input buffer registers, the fourth to the sixth repeat clocking registers, the second output register, the third to the sixth multiplexers, the second by 23v/4 and 2v/4 multipliers, counter and delay element are brought into the cell additionally, which provides addition and subtraction of two numbers which are presented by double-digit codes. Code of result is formed in form of double-row code. EFFECT: improved speed of operation. 2 cl, 4 dwg

Description

Изобретение относится к вычислительной технике, в частности к цифровой обработке радио-, гидро- и звуколокационных сигналов, и может быть применено при построении быстродействующих процессоров, работающих в условиях жестких временных ограничений. The invention relates to computer technology, in particular to digital processing of radio, hydro and sonar signals, and can be used in the construction of high-speed processors operating under severe time constraints.

Известен вычислительный элемент для осуществления быстрой свертки (1), содержащий два регистра, блок элементов НЕ, умножитель и два сумматора по модулю чисел Ферма. Known computing element for the implementation of fast convolution (1), containing two registers, a block of elements NOT, a multiplier and two adders modulo Fermat numbers.

Недостатком устройства является низкое быстродействие,
Известно устpойство для выполнения дискретных ортогональных преобразований (2), содержащее два коммутатора, четыре блока регистров, сумматор по модулю два, два умножителя двухрядного кода, пять сумматоров двухрядного кода. Известное устройство обеспечивает обработку данных, представленных двухрядными кодами.
The disadvantage of this device is the low speed,
A device for performing discrete orthogonal transformations (2) is known, comprising two switches, four register blocks, an adder modulo two, two multipliers of a two-row code, five adders of a two-row code. The known device provides data processing represented by two-row codes.

Недостатками такого устройства является недостаточно высокое быстродействие, обусловленное большим временем выполнения операции преобразования многорядного кода в сумматорах двухрядного кода. The disadvantages of this device is the lack of high speed due to the long lead time of the operation of converting a multi-row code in the adders of a two-row code.

Наиболее близким техническим решением к предлагаемому изобретению является вычислительный элемент для осуществления быстрой свертки (3), содержащий сумматор по модулю чисел Ферма, первое и второе устройство вычитания по модулю чисел Ферма, первый и второй входные буферные регистры, первый, второй и третий регистры повторного тактирования, выходной регистр, регистр хранения экспоненты вращения, умножители на 212 и на 24, первый и второй мультиплексоры 2:1 и мультиплексор 16:1, причем входом устройства является первый вход второго буферного регистра, выход которого подключен к первым входам сумматора по модулю чисел Ферма, первого устройства вычитания по модулю чисел Ферма и первого входного буферного регистра, выход которого подключен ко вторым входам сумматора по модулю чисел Ферма и первого устройства вычитания по модулю чисел Ферма, выходы которых соответственно через первый и второй регистры повторного тактирования подключены к первым входам соответственно первого и второго мультиплексоров 2:1, выход второго регистра повторного тактирования через умножители 212 и 24 подключены к входам второго устройства вычитания по модулю чисел Ферма, выход которого соединен со вторым входом второго мультиплексора 2:1, выход которого через третий регистр повторного тактирования, мультиплексор 16:1 подключен ко второму входу первого мультиплексора 2:1, выход которого подключен к первому входу выходного регистра, к третьему входу соответственно втоpого мультиплексора 2: 1 и второму входу мультиплексора 16:1 подключены соответственно первый и второй выходы регистра хранения экспоненты вращения, выход выходного регистра является выходом устройства, на вторые входы входных буферных регистров, регистров повторного тактирования, выходного регистра и третий вход первого мультиплексора 2:1 подаются тактовые импульсы.The closest technical solution to the present invention is a computing element for fast convolution (3), comprising an adder modulo Fermat numbers, a first and second subtractor modulo Fermat numbers, first and second input buffer registers, first, second and third registers of repeated clocking , an output register, the register storing the rotational exponential multipliers to 2 12 and 2 4, a first and second multiplexers are 2: 1 multiplexer and 16: 1, wherein the input device is the first input of the second buffer p a histra, the output of which is connected to the first adders modulo Fermat numbers, the first subtractor modulo Fermat numbers and the first input buffer register, the output of which is connected to the second inputs of the adder modulo Fermat numbers and the first subtractor modulo Fermat numbers, the outputs of which respectively through the first and second re-clocking the registers connected to the first inputs of the first and second multiplexers 2: 1, the second re-timing the output of register 2 through the multipliers 12 and 2 4 are connected to the inputs of the second Fermat number subtractor, the output of which is connected to the second input of the second 2: 1 multiplexer, the output of which is through the third re-clock register, the 16: 1 multiplexer is connected to the second input of the first 2: 1 multiplexer, the output of which is connected to the first the input of the output register, to the third input of the second 2: 1 multiplexer, respectively, and the second input of the 16: 1 multiplexer, respectively, the first and second outputs of the rotation exponential storage register are connected, the output of the output register is It is output by the device, clock pulses are fed to the second inputs of the input buffer registers, registers of the repeated clocking, the output register and the third input of the first 2: 1 multiplexer.

Устройство работает следующим образом. The device operates as follows.

Теоретико-числовое преобразование Ферма (ТЧПФ) последовательности { X(k)} определяется (3, с.187) как
Xn=

Figure 00000001
x(k)α-<n·k>mod Ft где Ft = 22t+1, t-oе-число Ферма;
N - степень числа 2;
α- такое число, что N является наименьшим положительным целым числом, для которого справедливо αN≡ 1 mod Ft;
<n˙k> - произведение n˙k по модулю N.Fermat's number-theoretic transformation (PSTF) of the sequence {X (k)} is defined (3, p. 187) as
X n =
Figure 00000001
x (k) α - <n · k> mod F t where F t = 2 2t +1, the t-th Fermat number;
N is the power of 2;
α is a number such that N is the smallest positive integer for which α N ≡ 1 mod Ft;
<n˙k> is the product of n˙k modulo N.

Вычислительный элемент реализует базовую операцию быстрого алгоритма ТЧПФ по основанию два при прореживании по частоте и формирует на выходе величины
A+b и (A+B)

Figure 00000002
применительно в 64-точечному ТЧПФ в конечном поле чисел по модулю 216+1.The computational element implements the basic operation of the fast FHF algorithm on the basis of two when decimating in frequency and generates values at the output
A + b and (A + B)
Figure 00000002
as applied to a 64-point PSTF in a finite number field modulo 2 16 +1.

Особенностью реализации быстрого алгоритма ТЧПФ с помощью такого вычислительного элемента является предварительное кодирование данных, позволяющее упростить выполнение операций по модулю чисел Ферма. Схема кодирования данных и описание ее работы приведены в (3, с.188...191). A feature of the implementation of the fast FHF algorithm using such a computational element is data pre-coding, which allows simplifying the execution of operations modulo Fermat numbers. The data encoding scheme and a description of its operation are given in (3, p. 188 ... 191).

Перезапись информации в регистрах устройства осуществляется в моменты подачи тактовых импульсов, что обеспечивает поточную реализацию быстрого ТЧПФ. The information in the device registers is overwritten at the instants of the clock pulses, which ensures the in-line implementation of fast PSTF.

Цикл работы устройства состоит из 6 интервалов t0, t1,...,t5. В течение временных интервалов t0 и t1 происходит запись кодов чисел А и В соответственно в первый и второй входные буферные регистры.The device operation cycle consists of 6 intervals t 0 , t 1 , ..., t 5 . During time intervals t 0 and t 1 , codes of numbers A and B are recorded in the first and second input buffer registers, respectively.

В течение временных интервалов t2, t3, t4 осуществляется выполнение базовой операции "бабочка".During the time intervals t 2 , t 3 , t 4 , the basic butterfly operation is performed.

Выполнение операции сложения в процессе выполнения базовой операции ТЧПФ двух не равных нулю 16-разрядных чисел при принятой схеме кодирования данных производится за два шага. Возможные структурные схемы сумматора по модулю чисел Ферма приведены в (3, с.194, 195). Вычитание чисел А-В может быть реализовано получением дополнением числа В и его последующим сложением с А. The addition operation in the process of performing the basic PLL operation of two non-zero 16-bit numbers with the adopted data encoding scheme is performed in two steps. Possible structural schemes of the adder modulo Fermat numbers are given in (3, p. 194, 195). Subtraction of numbers AB can be realized by supplementing the number B and its subsequent addition to A.

Результат суммирования по модулю чисел Ферма А+В запоминается в первом регистре повторного тактирования и через первый мультиплексор 2:1 записывается в выходной регистр. The result of summing modulo numbers of Fermat A + B numbers is stored in the first register of repeated clocking and through the first 2: 1 multiplexer is written to the output register.

С выхода первого устройства вычитания по модулю чисел Ферма величина разности А-В записывается во второй регистр повторного тактирования. Умножение разности А-В на степень

Figure 00000003
осуществляется через операцию вычитания. Как показано в (4, с.205)
Figure 00000004
≡ 2v/4·(2v/2-1)mod (2v+1) где v= 2t=16 для рассматриваемого устройства. Отсюда легко видеть, что
Figure 00000005
≡ (2
Figure 00000006
- 2v/4)mod(2v+ 1) = (212- 24) mod (216+1) Таким образом, нужно сформировать величины (А-В) 212 и (А-В) 24, а затем получить их разность по модулю чисел Ферма. Умножение на 212 и 24реализуется простой коммутацией проводов (эквивалентно сдвигу величины А-В в сторону старших разрядов на соответствующее число разрядов).From the output of the first subtraction device modulo Fermat numbers, the value of the difference AB is recorded in the second register of repeated clocking. Multiplication of the difference AB in the degree
Figure 00000003
carried out through a subtraction operation. As shown in (4, p.205)
Figure 00000004
≡ 2 v / 4 · (2 v / 2 -1) mod (2 v +1) where v = 2 t = 16 for the device in question. From here it is easy to see that
Figure 00000005
≡ (2
Figure 00000006
- 2 v / 4 ) mod (2 v + 1) = (2 12 - 2 4 ) mod (2 16 +1) Thus, it is necessary to form the quantities (A-B) 2 12 and (A-B) 2 4 , and then get their difference modulo Fermat numbers. Multiplication by 2 12 and 2 4 is realized by simple switching of wires (equivalent to a shift of the AB value towards the higher digits by the corresponding number of digits).

Поскольку при четном k умножение на

Figure 00000007
не требуется, второй мультиплексор 2:1 селектирует на выход (в третий регистр повторного тактирования) либо число А-В, либо (А-В)
Figure 00000008
.Since for even k, multiplication by
Figure 00000007
not required, the second 2: 1 multiplexer selects the output (in the third register of repeated clocking) either the number AB, or (AB)
Figure 00000008
.

Управление осуществляется подачей на третий вход второго мультиплексора 2:1 наименьшего значащего разряда числа k. The control is carried out by applying to the third input of the second 2: 1 multiplexer the least significant digit of the number k.

На втором этапе осуществляется умножение на степень 2, а именно на степень с показателем [k/2] ( [˙] - означает наибольшую целую часть). Это умножение реализуется с помощью мультиплексора 16:1, управляемого четырьмя старшими разрядами двоичного представления степени 2. At the second stage, multiplication by degree 2 is carried out, namely, by a degree with the exponent [k / 2] ([˙] - means the largest integer part). This multiplication is implemented using a 16: 1 multiplexer, controlled by four high order bits of the binary representation of degree 2.

Выдача информации с выходного регистра вычислительного элемента для осуществления быстрой свертки производится в интервалы времени t4 и t5.The information from the output register of the computing element for fast convolution is produced at time intervals t 4 and t 5 .

Недостатком вычислительного элемента для осуществления быстрой свертки является недостаточно высокое быстродействие. The disadvantage of the computing element for the implementation of fast convolution is not high enough speed.

Цель предлагаемого изобретения - повышение быстродействия за счет представления дискретно преобразуемого сигнала двухрядными кодами. The purpose of the invention is to improve performance by representing a discretely converted signal with two-row codes.

Поставленная цель достигается тем, что в вычислительный элемент для осуществления быстрой свертки, содержащей первый и второй входные буферные регистры, первый, второй и третий регистры повторного тактирования, первый выходной регистр, регистр хранения экспоненты вращения, первые умножители 23v/4 и 2v/4, где v = 2t, первый и второй мультиплексоры 2:1 и первый мультиплексор N: 1, (N-разрядность данных), причем первым входом устройства является первый вход второго входного буферного регистра, прямой выход которого соединен с первым входом первого входного буферного регистра, выход первого регистра повторного тактирования через первый мультиплексор 2: 1 подключен к первому входу первого выходного регистра, выход которого является первым выходом устройства, выход второго регистра повторного тактирования через последовательно соединенные второй мультиплексор 2:1, третий регистр повторного тактирования, первый мультиплексор N:1 подключен ко второму входу первого мультиплексора 2:1, входы первых умножителей 23v/4 и 2v/4соединены с выходом второго регистра повторного тактирования, к третьему входу второго мультиплексора 2:1 и второму входу первого мультиплексора N: 1 подключены соответственно первый и второй выходы регистра хранения экспоненты вращения, введены третий и четвертый выходные буферные регистры, четвертый, пятый и шестой регистры повторного тактирования, второй выходной регистр, третий и четвертый мультиплексоры 2:1, второй мультиплексор N:1, вторые умножители 23v/4 и 2v/4, первый, второй и третий блоки суммирования по модулю чисел Ферма, счетчик и элемент задержки, причем прямой выход второго входного буферного регистра соединен с первым входом первого блока суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные четвертый регистр повторного тактирования и третий мультиплексор 2: 1 подключен к второму выходному регистру, выход которого является вторым выходом устройства, ко вторым входам первого и второго блоков суммирования по модулю чисел Ферма подключен соответственно прямой и инверсный выходы третьего входного буферного регистра, выход первого входного буферного регистра соединен с третьими входами первого и второго блоков суммирования по модулю чисел Ферма, четвертые входы которых подключены к выходу четвертого входного буферного регистра, вход которого соединен с прямым выходом третьего входного буферного регистра, инверсный выход второго входного буферного регистра подключен к первому входу второго блока суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные пятый регистр повторного тактирования, четвертый мультиплексор 2: 1, шестой регистр повторного тактирования и второй мультиплексор N: 1 соединен со вторым входом третьего мультиплексора 2:1, выходы первого умножителя 23v/4 и первого умножителя 2v/4 подключены соответственно к первому и второму входам третьего блока суммирования по модулю чисел Ферма, первый и второй выходы которого соединены со вторыми входами соответственно второго и четвертого мультиплексоров 2:1, к третьему и четвертому входам третьего блока суммирования по модулю чисел Ферма подключены инверсные выходы соответственно второго умножителя 23v/4 и второго умножителя 2v/4, входы которых соединены с выходом пятого регистра повторного тактирования, первый и второй выходы регистра хранения экспоненты вращения подключены соответственно к третьему входу четвертого мультиплексора 2:1 и ко второму входу второго мультиплексора N:1, вторые выходы первого и второго блоков суммирования по модулю чисел Ферма соединены с первыми входами соответственно первого и второго регистров повторного тактирования, вторые входы второго и третьего входных буферных регистров, первого и второго выходных регистров и вход счетчика соединены между собой и являются тактовым входом устройства, выход счетчика подключен ко вторым входам первого и четвертого входных буферных регистров, третьего и шестого регистpов повторного тактирования, третьим входом первого и третьего мультиплексоров 2:1 и через элемент задержки ко вторым входам первого, второго, четвертого и пятого регистров повторного тактирования, второму входу регистра хранения экспоненты вращения, первый вход которого является входом кода экспоненты вращения устройства.This goal is achieved by the fact that in the computing element for the implementation of fast convolution containing the first and second input buffer registers, the first, second and third registers of re-clocking, the first output register, the register of storage of the exponent of rotation, the first multipliers 2 3v / 4 and 2 v / 4, where v = 2 t, the first and second multiplexers are 2: 1 multiplexer and a first N: 1, (N-bit data), the first input device is a first input of the second input buffer register, whose direct output is connected to a first input of the first buffer register, the output of the first re-clock register through the first 2: 1 multiplexer is connected to the first input of the first output register, the output of which is the first output of the device, the output of the second re-clock register through the 2: 1 second multiplexer connected in series, the third re-clock register, the first the multiplexer N: 1 is connected to the second input of the first 2: 1 multiplexer, the inputs of the first multipliers 2 3v / 4 and 2 v / 4 are connected to the output of the second re-clock register, to third the first input of the second 2: 1 multiplexer and the second input of the first N: 1 multiplexer are connected, respectively, the first and second outputs of the rotation exponential storage register, the third and fourth output buffer registers, the fourth, fifth and sixth registers of re-clocking, the second output register, the third and fourth multiplexers 2: 1, the second multiplexer N: 1, second multipliers 2 3v / 4 and 2 v / 4, the first, second and third summation units Fermat numbers modulo counter, a delay element, and a direct output of the second input buffer in D Istra is connected to the first input of the first summing block modulo Fermat numbers, the first output of which is connected through a fourth fourth clock register and a third 2: 1 multiplexer connected to the second output register, the output of which is the second output of the device, to the second inputs of the first and second summing blocks modulo Fermat numbers, respectively, the direct and inverse outputs of the third input buffer register are connected, the output of the first input buffer register is connected to the third inputs of the of the second and second blocks of summation modulo Fermat numbers, the fourth inputs of which are connected to the output of the fourth input buffer register, the input of which is connected to the direct output of the third input buffer register, the inverse output of the second input buffer register is connected to the first input of the second block of summation modulo Fermat numbers, the first output of which through series-connected fifth register of repeated clocking, fourth multiplexer 2: 1, sixth register of repeated clocking and second multiplexer N: 1 s oedinen to a second input of the third multiplexer 2: 1, the outputs of the first multiplier 2 3v / 4 and the first multiplier 2 v / 4 connected respectively to the first and second inputs of the third summing block modulo Fermat numbers, first and second outputs are connected to second inputs, respectively, of the second and fourth multiplexers 2: 1, to third and fourth inputs of the third modulo summation block Fermat numbers inverted outputs are connected, respectively, the second multiplier 2 3v / 4 and the second multiplier 2 v / 4 whose inputs are connected to the output Fri of the second re-clock register, the first and second outputs of the rotation exponential storage register are connected respectively to the third input of the fourth 2: 1 multiplexer and to the second input of the second N: 1 multiplexer, the second outputs of the first and second summing blocks modulo Fermat numbers are connected to the first inputs, respectively, of the first and the second registers of repeated clocking, the second inputs of the second and third input buffer registers, the first and second output registers and the input of the counter are interconnected and are clock the input of the device, the output of the counter is connected to the second inputs of the first and fourth input buffer registers, the third and sixth registers of repeated clocking, the third input of the first and third multiplexers 2: 1 and through the delay element to the second inputs of the first, second, fourth and fifth registers of repeated clocking , to the second input of the rotation exponent storage register, the first input of which is the input to the rotation exponent code of the device.

Блок суммирования по модулю чисел Ферма содержит две группы сумматоров по N (N - количество разрядов) трехвходовых одноразрядных сумматоров, причем первые, вторые и третьи входы трехвходовых одноразрядных сумматоров первой группы сумматоров и третьи входы трехвходовых одноразрядных сумматоров второй группы сумматоров являются соответственно первым, вторым, третьим и четвертым входами блока суммирования по модулю чисел Ферма, выход суммы j-го трехвходового одноразрядного сумматора первой группы сумматоров (j= 1,2, ...,N) подключен к первому входу j-го трехвходового одноразрядного сумматора второй группы сумматоров, выход переноса N-го трехвходового одноразрядного сумматора первой группы сумматоров подключен ко второму входу первого трехвходового одноразрядного сумматора второй группы сумматоров, а выход переноса i-го трехвходового одноразрядного сумматора (i=1,2,...,N-1) первой группы сумматоров подключен ко второму входу (i+1)-го трехвходового одноразрядного сумматора второй группы сумматоров, шина сумм и шина переносов трехвходовых одноразрядных сумматоров второй группы сумматоров являются соответственно первым и вторым выходом блока суммирования по модулю чисел Ферма. The summation module modulo Fermat numbers contains two groups of adders with respect to N (N is the number of bits) of three-input single-digit adders, the first, second and third inputs of three-input single-digit adders of the first group of adders and the third inputs of three-input single-digit adders of the second group of adders are respectively the first, second, the third and fourth inputs of the summing unit modulo Fermat numbers, the output of the sum of the j-th three-input single-digit adder of the first group of adders (j = 1,2, ..., N) is connected to the first the j-th three-input single-bit adder of the second group of adders, the transfer output of the N-th three-input single-digit adder of the first group of adders is connected to the second input of the first three-input single-bit adder of the second group of adders, and the transfer output of the i-th three-input single-bit adder (i = 1,2, ..., N-1) of the first adder group is connected to the second input of the (i + 1) -th three-input single-bit adder of the second adder group, the sum bus and the carry bus of the three-input single-bit adders of the second sum group Ators are, respectively, the first and second output of the summing unit modulo Fermat numbers.

Перечисленные отличительные признаки являются существенными, поскольку каждый из них необходим, а вместе взятые они достаточны для достижения поставленной цели - повышения быстродействия устройства. The listed distinguishing features are significant, since each of them is necessary, and taken together they are sufficient to achieve the goal - to increase the speed of the device.

Известно использование двухразрядных кодов для выполнения быстрого преобразования Фурье (2), использование теоретико-числовых преобразований для осуществления быстрой свертки (3), однако использование указанных отличительных признаков в данной совокупности в известных устройствах не встречаются, а анализ патентной и технической литературы позволяет сделать вывод о том, что структура вычислительного элемента для осуществления быстрой свертки является новой. It is known to use two-digit codes to perform fast Fourier transform (2), to use number-theoretic transformations to perform fast convolution (3), however, the use of these distinctive features in this combination is not found in known devices, and analysis of patent and technical literature allows us to conclude that the structure of the computing element for the implementation of fast convolution is new.

На фиг. 1 представлена структурная схема вычислительного элемента для осуществления быстрой свертки; на фиг. 2 - структурная схема блока суммирования по модулю чисел Ферма для разрядности данных N = 16; на фиг. 3 - вид управляющих сигналов, обеспечивающих функционирование устройства; на фиг. 4 - работа блока суммирования по модулю чисел Ферма. In FIG. 1 is a structural diagram of a computing element for performing fast convolution; in FIG. 2 is a block diagram of a summing unit modulo Fermat numbers for data capacity N = 16; in FIG. 3 is a view of control signals ensuring the operation of the device; in FIG. 4 - operation of the summing unit modulo Fermat numbers.

Вычислительный элемент для осуществления быстрой свертки (фиг.1) содержит входные буферные регистры 11...14, регистры повторного тактирования 21. ..26, выходного регистра 31,32, регистр хранения экспоненты вращения 4, мультиплексоры 2:1, 51...54, мультиплексоры N:1 61...62, умножители на 23v/4 71, 72, умножители на 2v/4, 81, 82, блоки суммирования по модулю чисел Ферма 91. . .93, входные 10 и выходные 11 шины, тактовый вход устройства 12, вход кода экспоненты вращения устройства 13, счетчик 14, элемент задержки 15.The computing element for the implementation of fast convolution (figure 1) contains input buffer registers 1 1 ... 1 4 , registers re-clock 2 1 . ..2 6 , output register 3 1 , 3 2 , rotation exponent storage register 4, multiplexers 2: 1, 5 1 ... 5 4 , multiplexers N: 1 6 1 ... 6 2 , multipliers by 2 3v / 4 7 1 , 7 2 , multipliers by 2 v / 4 , 8 1 , 8 2 , summing blocks modulo Fermat numbers 9 1 . . .9 3 , input 10 and output 11 buses, the clock input of the device 12, the input of the exponent of rotation of the device 13, the counter 14, the delay element 15.

Блок суммирования по модулю чисел Ферма 9 (фиг.2) содержит первую 161 и вторую 162 группы сумматоров, содержащие трехвходовые одноразрядные сумматоры 17.The summing unit modulo numbers of Farm 9 (figure 2) contains the first 16 1 and second 16 2 groups of adders containing three-input single-digit adders 17.

Элементы вычислительного элемента для осуществления быстрой свертки соединены следующим образом. Elements of the computing element for the implementation of fast convolution are connected as follows.

Первым входом 101 вычислительного элемента является первый вход второго 12 входного буферного регистра, прямой выход которого соединен с первым входом первого 11 входного буферного регистра; выход первого регистра 21 повторного тактирования через первый 51 мультиплексор 2:1 подключен к первому входу первого выходного регистра 31, выход которого является первым выходом 111 устройства, выход второго регистра 22повторного тактирования через последовательно соединенные второй 52мультиплексор 2:1, третий регистр 23 повторного тактирования, первый 61мультиплексор N:1 подключен ко второму входу первого 51 мультиплексора 2:1, входы первых умножителей 23v/4 (71) и 2v/4 (81) соединены с выходом второго регистра 22 повторного тактирования, к третьему входу второго 52мультиплексора 2:1 и второму входу первого 61 мультиплексора подключены соответственно первый и второй выходы регистра хранения экспоненты вращения 4, прямой выход второго 12 входного буферного регистра соединен с первым входом первого блока 91 суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные четвертый регистр 24, повторного тактирования и третий 53 мультиплексор 2:1 подключен к второму выходному регистру 32, выход которого является вторым выходом 112 вычислительного элемента для осуществления быстрой свертки, ко вторым входам первого 91 и второго 92 блоков суммирования по модулю чисел Ферма подключены соответственно прямой и инверсный выходы третьего 13 входного буферного регистра, выход первого 11 входного буферного регистра соединен с третьими входами первого 91 и второго 92 блоков суммирования по модулю чисел Ферма, четвертые входы которых подключены к выходу четвертого 14 входного буферного регистра, вход которого соединен с прямым выходом третьего 13 входного буферного регистра, инверсный выход второго входного 12 буферного регистра подключен к первому входу второго 92 блока суммирования по модулю чисел Ферма, первый выход которого через последовательно соединенные пятый регистр 25 повторного тактирования, четвертый 54 мультиплексор 2: 1, шестой регистр 26повторного тактирования и второй 62 мультиплексор N:1 соединен со вторым входом третьего 53 мультиплексора 2:1, выходы первого 71 умножителя 23v/4 и первого 81 умножителя 2v/4 подключены соответственно к первому и второму входам третьего 93 блока суммирования по модулю чисел Ферма, первый и второй выходы которого соединены со вторыми входами соответственно второго 54 и четвертого 54 мультиплексоров 2:1, к третьему и четвертому входам третьего блока суммирования по модулю чисел Ферма 93 подключены выходы соответственно второго 72 умножителя 23v/4 и второго 82 умножителя 2v/4, входы которых соединены с выходом пятого регистра 25 повторного тактирования, первый и второй выходы регистра хранения экспоненты вращения 4 подключены соответственно к третьему входу четвертого 54 мультиплексора 2:1 и ко второму входу второго 62 мультиплексора N:1, вторые выходы первого 91 и второго 92 блоков суммирования по модулю чисел Ферма соединены с первыми входами соответственно первого 21 и второго 22 регистров повторного тактирования, вторые входы второго 12 и третьего 13 входных буферных регистров, первого 31 и второго 32 выходных регистров и вход счетчика 14 соединены между собой и являются тактовым входом устройства 12, выход счетчика 14 подключен ко вторым входам первого 11 и четвертого 14входных буферных регистров, третьего 23 и шестого 26, регистров повторного тактирования, третьим входам первого 51 и третьего 53мультиплексоров 2:1 и через элемент задержки 15 ко вторым входам первого 21, второго 22, четвертого 24 и пятого 25 регистров повторного тактирования, второму входу регистра хранения экспоненты вращения 4, первый вход которого является входом 13 кода экспоненты вращения устройства.The first input 10 1 of the computing element is the first input of the second 1 2 input buffer register, the direct output of which is connected to the first input of the first 1 1 input buffer register; the output of the first register 2 1 is repeated through the first 5 1 2: 1 multiplexer is connected to the first input of the first output register 3 1 , the output of which is the first output 11 1 of the device, the output of the second register 2 2 is repeated through a second 5 2 multiplexer 2 connected in series: 1, the third register 2 3 re-clocking, the first 6 1 multiplexer N: 1 is connected to the second input of the first 5 1 multiplexer 2: 1, the inputs of the first multipliers 2 3v / 4 (7 1 ) and 2 v / 4 (8 1 ) are connected to the output of the second register 2 2 re-clocking to the first input of the second 5 2 2: 1 multiplexer and the second input of the first 6 1 multiplexer are connected, respectively, the first and second outputs of the storage register of the exponent of rotation 4, the direct output of the second 1 2 input buffer register is connected to the first input of the first block 9 1 summation modulo Fermat numbers, the first output of which is connected in series through the fourth register 2 4 re-clocking and third multiplexer 3 May 2: 1 is connected to the second output 2 of register 3, whose output is the second output terminal 11 of the computational elements 2 and to perform fast convolution, to the second inputs of the first 9 1 and the second 2 September blocks summation modulo Fermat numbers are respectively connected to the direct and inverse outputs of the third March 1 input buffer register, the output of the first 1 1 Input buffer register is connected to the third inputs of the first 9 1 and second summing units 9 February modulo Fermat numbers, fourth inputs which are connected to the output of the fourth April 1 input buffer register having an input coupled to a direct output of the third March 1 input buffer register inverse output vtorog input 1 2 buffer register connected to the first input of the second September 2nd summation block modulo Fermat numbers, a first outlet which via series connected fifth register 5 February re timing fourth May 4 multiplexer 2: 1, the sixth register 2 6 replicate timing and the second February 6 multiplexer N: 1 is connected to the second input of the third 5 3 multiplexer 2: 1, the outputs of the first 7 1 multiplier 2 3v / 4 and the first 8 1 multiplier 2 v / 4 are connected respectively to the first and second inputs of the third 9 3 summing unit modulo Fermat numbers first and tue The outputs of which are connected to the second inputs of the second 5 4 and fourth 5 4 multiplexers 2: 1, respectively, the outputs of the second 7 2 multiplier 2 3v / 4 and the second 8 2 multiplier are connected to the third and fourth inputs of the third block of summation modulo Fermat 9 3 2 v / 4 , the inputs of which are connected to the output of the fifth register 2 5 of repeated clocking, the first and second outputs of the storage register of the exponent of rotation 4 are connected respectively to the third input of the fourth 5 4 multiplexer 2: 1 and to the second input of the second 6 2 multiplexer N: 1, the second outputs of the first 9 1 and second 9 2 blocks of summation modulo Fermat numbers are connected to the first inputs of the first 2 1 and second 2 2 registers, respectively, the second clock, the second inputs of the second 1 2 and third 1 3 input buffer registers, the first 3 1 and the second 3 2 output registers and the input of the counter 14 are interconnected and are the clock input of the device 12, the output of the counter 14 is connected to the second inputs of the first 1 1 and fourth 1 4 input buffer registers, the third 2 3 and the sixth 2 6 registers registers third entry First 5 1 and third 3 May multiplexers 2: 1 and through delay element 15 to the second inputs of the first 2 1, second 2 2, fourth 2 4 and fifth 5 February registers re timing second input rotation exponent storage register 4, a first input of which is input 13 of the code of the exponent of rotation of the device.

В блоке суммирования по модулю чисел Ферма 9 объединенные шины первые, вторые и третьи входы трехвходовых одноразрядных сумматоров 17 первой группы сумматоров 161 и объединенные в шину третьи входы трехвходовых одноразрядных сумматоров 17 второй группы сумматоров 162являются соответственно первым, вторым, третьим и четвертым входом блока суммирования по модулю чисел Ферма 9. Выход суммы j-го (j=

Figure 00000009
) трехвходового одноразрядного сумматора 17 первой группы сумматоров 161подключен к первому входу j-го трехвходового одноразрядного сумматора 17 второй группы сумматоров 162, выход переноса N-го трехвходового одноразрядного сумматора 17 первой группы сумматоров 161 подключен ко второму входу первого трехвходового одноразрядного сумматора 17 второй группы сумматоров 162, а выход переноса i-го (i=
Figure 00000010
) трехвходового одноразрядного сумматора 17 первой группы сумматоров 161подключен ко второму входу (i+1)-го трехвходового одноразрядного сумматора 17 втоpой группы сумматоров 162, объединенные в шины выхода сумм и выходы переносов трехвходовых одноразрядных сумматоров 17 второй группы сумматоров 162 являются соответственно первым и вторым выходом блока суммирования по модулю чисел Ферма.In the summation block modulo Fermat numbers 9, the combined buses the first, second and third inputs of the three-input single-bit adders 17 of the first group of adders 16 1 and the combined bus inputs of the three inputs of the three-input single-bit adders 17 of the second group of adders 16 2 are the first, second, third and fourth inputs, respectively summation unit modulo Fermat numbers 9. The output of the sum of the jth (j =
Figure 00000009
) a three-input single-bit adder 17 of the first group of adders 16 1 is connected to the first input of the j-th three-input single-bit adder 17 of the second group of adders 16 2 , the transfer output of the N-th three-input single-bit adder 17 of the first group of adders 16 1 is connected to the second input of the first three-input single-bit adder 17 the second group of adders 16 2 , and the transfer output of the i-th (i =
Figure 00000010
) a three-input single-bit adder 17 of the first group of adders 16 1 is connected to the second input of the (i + 1) -th three-input single-bit adder 17 of the second group of adders 16 2 , combined into the output buses of the sums and carry outputs of the three-input single-bit adders 17 of the second group of adders 16 2 are respectively the first and second output of the summing unit modulo Fermat numbers.

Устройство работает следующим образом. The device operates as follows.

Рассмотрим ТЧПФ по основанию 2 применительно к 64-точечному преобразованию по модулю 216+1 для 16-разрядных данных.Consider a base-2 FFT for a 64-point transform modulo 2 16 +1 for 16-bit data.

Предварительное кодирование данных осуществляется аналогично прототипу, однако отпадает необходимость в дополнительном разряде, кодирующем нулевой результат, поскольку он может быть представлен кодом любого числа и его дополнением. Например при t=4 и 2t+1 = 17 нулевое число может быть представлено в виде
1 ряд 0101 (-8+4-2+1)=5
2 ряд 1010 (8-4+2-1)=-5
В исходном состоянии все регистры вычислительного элемента обнулены.
Pre-coding of data is carried out similarly to the prototype, however, there is no need for an additional bit encoding a zero result, since it can be represented by a code of any number and its complement. For example, for t = 4 and 2, t +1 = 17, a zero number can be represented as
1 row 0101 (-8 + 4-2 + 1) = 5
2 row 1010 (8-4 + 2-1) = - 5
In the initial state, all the registers of the computing element are reset.

С поступлением первого тактового импульса на тактовый вход 12 (фиг. 3(а)) составляющие двухрядного кода числа А1 со входов 101 и 102записываются во второй 12 и третий 13 входные буферные регистры. Счетчик 14 выделяет из последовательности входных тактовых импульсов каждый второй импульс (фиг. 3(б)).With the arrival of the first clock pulse to clock input 12 (Fig. 3 (a)), the components of the two-row code of the number A 1 from the inputs 10 1 and 10 2 are recorded in the second 1 2 and third 1 3 input buffer registers. The counter 14 extracts from the sequence of input clock pulses every second pulse (Fig. 3 (b)).

С поступлением второго тактового импульса на вход 12 вычислительного элемента производится перезапись двухрядного кода числа А1 из входных буферных регистров 12 и 13 соответственно в регистры 11 и 14, а двухрядный код числа В1 записывается в регистры 12 и 13. (фиг. 3 интервал t2).With the arrival of the second clock pulse at the input 12 of the computing element, a double-row code of the number A 1 is rewritten from the input buffer registers 1 2 and 1 3, respectively, into the registers 1 1 and 1 4 , and a two-line code of the number B 1 is written into the registers 1 2 and 1 3 . (Fig. 3 interval t 2 ).

Блоки суммирования по модулю чисел Ферма 91 и 92 производят соответственно сложение и вычитание двухрядных кодов чисел А и В. Процесс сложения иллюстрируют фиг. 4, где каждой точке соответствует двоичная цифра, сверху проставлены номера разрядов. Сплошной линией обведены числа, подаваемые на вход трехвходового одноразрядного сумматора 17. Результат работы сумматора 17 (цифра суммы и цифра переноса) изображены в виде двух связанных точек на следующей по порядку диаграмме, где буквами S и Р обозначены код суммы и код переноса, а цифрами 1,2,3,4 - коды, поступающие на соответствующие входы блока суммирования по модулю чисел Ферма 9. Особенности организации суммирования двухрядных кодов по модулю чисел Ферма в блоке 9 поясним следующим примером.The summation blocks modulo Fermat numbers 9 1 and 9 2 respectively add and subtract two-row codes of numbers A and B. The addition process is illustrated in FIG. 4, where each point corresponds to a binary digit, the numbers of the digits are put down on top. The solid line encircles the numbers supplied to the input of the three-input single-digit adder 17. The result of the adder 17 (the sum digit and the transfer digit) are shown as two connected points in the next order in the diagram, where the letters S and P stand for the sum code and transfer code, and the numbers 1,2,3,4 - codes received at the corresponding inputs of the summing unit modulo Fermat numbers 9. Features of organizing the summation of two-row codes modulo Fermat numbers in block 9 will be explained by the following example.

Пусть t = 4 (2t+1=17), числа А и В представлены в виде двухрядных кодов
A =

Figure 00000011
и B =
Figure 00000012
,
т.е. A = 13; B = - 2.Let t = 4 (2 t + 1 = 17), the numbers A and B are presented in the form of two-row codes
A =
Figure 00000011
and B =
Figure 00000012
,
those. A = 13; B = - 2.

Операция сложения в блоке 9 выполняется в два этапа
I этап:

Figure 00000013
Figure 00000014
Figure 00000015
Figure 00000016

II этап:
Figure 00000017
Figure 00000018
Figure 00000019
Figure 00000020
Последний результат соответствует числу -9+3=-6=11mod17, что и требовалось, так как (А+В)mod17 = 11 mod17.The addition operation in block 9 is performed in two stages
Stage I:
Figure 00000013
Figure 00000014
Figure 00000015
Figure 00000016

Stage II:
Figure 00000017
Figure 00000018
Figure 00000019
Figure 00000020
The last result corresponds to the number -9 + 3 = -6 = 11mod17, which was required, since (A + B) mod17 = 11 mod17.

Разность А-В вычисляется аналогично вышерассмотренному, только число -В подается на второй блок суммирования по модулю чисел Ферма 92 с инверсных выходов второго 12 и третьего 13 входных буферных регистров.The difference AB is calculated similarly to the above, only the number -B is fed to the second summing unit modulo Fermat numbers 9 2 from the inverse outputs of the second 1 2 and third 1 3 input buffer registers.

Второй тактовый импульс с выхода счетчика 14 проходит через элемент задержки на период следования тактовых импульсов (фиг.3(в)) и действует одновременно с третьим тактовым импульсов на входе 12. Он разрешает запись двухрядного кода результата сложения (А11) в регистры повторного тактирования 21 и 24 двухрядного кода результата вычитания (А11) в регистры повторного тактирования 22 и 25 и запись кода первой экспоненты вращения со входа 13 в регистр 4. Третьим тактовым импульсов на входе 12 двухрядный код числа А2 записывается в регистры 12 и 13.The second clock pulse from the output of the counter 14 passes through the delay element for the period of the clock pulses (Fig. 3 (c)) and acts simultaneously with the third clock pulse at the input 12. It allows the recording of a two-row code of the result of addition (А 1 + В 1 ) in registers of repeated clocking 2 1 and 2 4 of a double-row code of the result of subtraction (A 1 -B 1 ) in registers of repeated clocking of 2 2 and 2 5 and writing the code of the first exponent of rotation from input 13 to register 4. The third clock pulse of input 12 is a two-line number code And 2 is recorded in registers 1 2 and 1 3 .

Двухрядный код результата вычитания по модулю чисел Ферма запоминается в регистрах повторного тактирования 22 и 25 для последующего умножения на степень 2. Умножение двухрядного кода, представленного составляющими S и Р, на 2 производится следующим образом. Поскольку

Figure 00000021
≡ (212- 24) mod (216+1), то
Figure 00000022
(216+1) =
Умножение составляющих S и Р на 1212 и 24 может производиться соответствующим соединением входов блока 93 с выходами регистров повторного тактирования 22, 25.The two-row code of the result of the subtraction modulo Fermat numbers is stored in repeated registers 2 2 and 2 5 for subsequent multiplication by degree 2. Multiplication of the two-row code, represented by the components S and P, by 2 is performed as follows. Because the
Figure 00000021
≡ (2 12 - 2 4 ) mod (2 16 +1), then
Figure 00000022
(2 16 +1) =
The multiplication of the components S and P by 12 12 and 2 4 can be carried out by the corresponding connection of the inputs of block 9 3 with the outputs of the registers of repeated clocking 2 2 , 2 5 .

В зависимости от значения младшего разряда экспоненты вращения, которое определяет необходимость умножения (А-В) на

Figure 00000023
, мультиплексоры 2:1 52 и 54 коммутируют двухрядный код (А-В), либо (А-В)
Figure 00000024
для записи в регистры повторного тактирования 23 и 26. Запись в регистры повторного тактирования 23 и 26 осуществляется с поступлением второго тактового импульса с выхода счетчика 14 (фиг. 3(б)). Он действует одновременно с поступлением четвертого тактового импульса на вход 12 (фиг.3(а), t4) и переводит мультиплексоры 51 и 53 в состояние, разрешающее запись двухрядного кода суммы (А+В) в выходные регистры 31 и 32. При этом двухрядный код числа А2 записывается в регистры 11 и 14, двухрядный код В2 - в регистры 12 и 13, а двухрядный код (А+В) - в регистры 31 и 32 и выдается на выходы вычислительного элемента 111 и 112.Depending on the value of the least significant bit of the rotation exponent, which determines the need for multiplication (A-B) by
Figure 00000023
, multiplexers 2: 1 5 2 and 5 4 commute a two-row code (AB), or (AB)
Figure 00000024
to write to the registers of repeated clocking 2 3 and 2 6 . Record in registers of repeated clocking 2 3 and 2 6 is carried out with the arrival of the second clock pulse from the output of the counter 14 (Fig. 3 (b)). It acts simultaneously with the arrival of the fourth clock pulse at input 12 (Fig. 3 (a), t 4 ) and puts the multiplexers 5 1 and 5 3 into a state that allows the recording of a two-row sum code (A + B) in the output registers 3 1 and 3 2 . In this case, the two-row code of the number A 2 is written into the registers 1 1 and 1 4 , the two-row code B 2 - into the registers 1 2 and 1 3 , and the two-line code (A + B) - into the registers 3 1 and 3 2 and is output to the outputs of the computational Element 11 1 and 11 2 .

Умножение на степень 2 каждой из составляющих S и Р двухрядного кода записанных в регистрах 23 и 26, производится в независимых цепях, первая из которых содержит регистр повторного тактирования 23, мультиплексор 16:161, а вторая - регистр повторного тактирования 26, мультиплексор 16:162.Multiplication by degree 2 of each of the components S and P of the two-row code recorded in registers 2 3 and 2 6 is carried out in independent circuits, the first of which contains a repeat register 2 3 , the multiplexer 16:16 1 , and the second - a repeat register 2 6 , multiplexer 16:16 2 .

В отсутствии тактового импульса на входе мультиплексоры 2:1 51 и 53находятся в состоянии, когда к их выходам подключены вторые входы.In the absence of a clock pulse at the input, the 2: 1 5 1 and 5 3 multiplexers are in a state when the second inputs are connected to their outputs.

В следующий временной интервал (фиг. 3, t5) производится запись двухрядного кода (А11)

Figure 00000025
в выходные регистры 31 и 32 и выдача его на выходы 111 и 112 вычислительного элемента, запись двухрядных кодов (А22) в регистры повторного тактирования 21 и 24, (А22) - в регистры 22 и 25 и нового значения в регистр 4 хранения экспоненты вращения.In the next time interval (Fig. 3, t 5 ), a two-row code is recorded (A 1 -B 1 )
Figure 00000025
to the output registers 3 1 and 3 2 and its output to the outputs 11 1 and 11 2 of the computing element, the recording of two-row codes (А 2 + В 2 ) in the registers of repeated clocking 2 1 and 2 4 , (А 22 ) - in registers 2 2 and 2 5 and the new value in the register 4 of the storage of the exponent of rotation.

Далее процессы циклически повторяются. Further, the processes are cyclically repeated.

При необходимости получения результата преобразования в традиционном однорядном коде к выходам вычислительного элемента последнего яруса может быть подключен сумматор по модулю чисел Ферма, выполненный по любой из известных схем, например по схеме (3), с.195, рис.7 или (3), с.194, рис. 6. If it is necessary to obtain a conversion result in a traditional single-row code, an adder modulo Fermat numbers can be connected to the outputs of a computational element of the last tier, made according to any of the known schemes, for example, according to scheme (3), p. 195, Fig. 7 or (3), p.194, fig. 6.

Для технико-экономического обоснования преимуществ предлагаемого устройства по быстродействию, произведем его сравнение с базовым объектом, в качестве которого выберем прототип, так как он является наиболее быстродействующим из известных устройств. For a feasibility study of the advantages of the proposed device in terms of speed, we will compare it with the base object, for which we will choose a prototype, since it is the fastest known device.

Из анализа структурной схемы базового объекта следует, что наиболее длительной операцией является операция суммирования по модулю чисел Ферма. Время выполнения сложения по модулю чисел Ферма определяется соотношением (3), с.194, рис. 5). From the analysis of the structural diagram of the base object it follows that the longest operation is the operation of summing modulo Fermat numbers. The execution time of addition modulo Fermat numbers is determined by the relation (3), p. 194, Fig. 5).

Тб = 2m Ts + 2τэ , где Ts - задержка в одноразрядном сумматоре;
m - разрядность данных;
τэ- задержка в логическом элементе.
T b = 2m T s + 2τ e , where T s is the delay in a single-bit adder;
m is the bit depth of the data;
τ e - delay in the logical element.

Полагая Тs = 2τэ(5), с.139, рис. 3.37,б), получим Tб = 66τэ.Assuming T s = 2τ e (5), p. 139, Fig. 3.37, b), we obtain T b = 66τ e .

В предлагаемом устройстве время сложения двухрядных чисел, согласно фиг. 2 и фиг. 4, определяется как
Т3 = 2 Ts = 4τэ , откуда выигрыш в быстродействии составляет 66:4 = 16,5 раз при m = 16.
In the proposed device, the addition time of two-row numbers, according to FIG. 2 and FIG. 4 is defined as
T 3 = 2 T s = 4τ e , whence the gain in speed is 66: 4 = 16.5 times at m = 16.

Таким образом, заявляемое устройство превосходит базовый объект по быстродействию и обеспечивает работу с данными, представленными двухрядными кодами, и выдачу двухрядного кода результата. Thus, the claimed device exceeds the basic object in speed and provides work with data represented by two-row codes, and the issuance of a two-row result code.

Claims (2)

1. ВЫЧИСЛИТЕЛЬНЫЙ ЭЛЕМЕНТ ДЛЯ ОСУЩЕСТВЛЕНИЯ БЫСТРОЙ СВЕРТКИ, содержащий первый и второй входные буферные регистры, первый, второй и третий регистры повторного тактирования, первый выходной регистр, регистр хранения экспоненты вращения, первые умножители на 23v/4 и 2v/4 (v=2t, где t - целые числа), первый, второй и третий мультиплексоры, причем первым информационным входом устройства является информационный вход первого буферного регистра, прямой выход которого соединен с информационным входом второго входного буферного регистра, выход первого регистра повторного тактирования соединен с первым информационным входом первого мультиплексора, выход которого подключен к информационному входу первого выходного регистра, выход которого является первым выходом устройства, выход второго регистра повторного тактирования соединен с первым информационным входом второго мультиплексора, выход которого соединен с информационным входом третьего регистра повторного тактирования, выход которого соединен с первым информационным входом третьего мультиплексора, выход которого соединен с вторым информационным входом первого мультиплексора, входы первых умножителей на 23v/4 и 2v/4, соединены с выходом второго регистра повторного тактирования, управляющие входы второго и третьего мультиплексоров подключены соответственно к первому и второму выходам регистра хранения экспоненты вращения, отличающийся тем, что, с целью повышения быстродействия за счет представления дискрет преобразуемого сигнала двухрядными кодами, в него введены третий и четвертый входные буферные регистры, четвертый, пятый и шестой регистры повторного тактирования, второй выходной регистр, с четвертого по шестой мультиплексоры, вторые умножители на 23v/4 и 2v/4 первый, второй и третий блоки суммирования по модулю чисел Ферма, счетчик и элемент задержки, причем прямой выход первого входного буферного регистра соединен с первым входом первого блока суммирования по модулю чисел Ферма, первый выход которого соединен с информационным входом четвертого регистра повторного тактирования, выход которого соединен с первым информационным входом четвертого мультиплексора, выход которого соединен с информационным входом второго выходного регистра, выход которого является вторым выходом устройства, вторые выходы первого и второго блоков суммирования по модулю чисел Ферма подключены соответственно к прямому и инверсному выходам третьего входного буферного регистра, информационный вход которого является вторым информационным входом устройства, выход второго входного буферного регистра соединен с третьими входами первого и второго блоков суммирования по модулю чисел Ферма, четвертые входы которых подключены к выходу четвертого входного буферного регистра, информационный вход которого соединен с прямым выходом третьего входного буферного регистра, инверсный выход второго входного буферного регистра подключен к первому входу второго блока суммирования по модулю чисел Ферма, первый выход которого соединен с информационным входом пятого регистра повторного тактирования, выход которого соединен с информационным входом пятого мультиплексора и входами вторых умножителей на 23v/4 и 2v/4 выходы первого умножителя на 23v/4 и первого умножителя 2v/4 подключены соответственно к первому и второму входам третьего блока суммирования по модулю чисел Ферма, первый и второй выходы которого соединены с вторыми информационными входами соответственно второго и пятого мультиплексоров, третий и четвертый входы третьего блока суммирования по модулю чисел Ферма подключены к инверсным выходам соответственно второго умножителя на 23v/4 и второго умножителя на 2v/4, первый и второй выходы регистра хранения экспоненты вращения подключены соответственно к управляющим входам пятого и шестого мультиплексоров, вторые выходы первого и второго блоков суммирования по модулю чисел Ферма соединены с информационными входами соответственно первого и второго регистров повторного тактирования, тактовые входы первого и третьего входных буферных регистров, первого и второго выходных регистров и счетный вход счетчика соединены между собой и являются тактовым входом устройства, выход счетчика подключен к тактовым входам второго и четвертого входных буферных регистров, третьего и шестого регистров повторного тактирования, управляющим входам первого и четвертого мультиплексоров и через элемент задержки к тактовым входам первого, второго, четвертого и пятого регистров повторного тактирования, регистра хранения экспоненты вращения, информационный вход которого является входом экспоненты вращения устройства, выход пятого мультиплексора соединен информационным входом шестого регистра повторного тактирования, выход которого соединен с информационным входом шестого мультиплексора, выход которого соединен с вторым информационным входом четвертого мультиплексора.1. A COMPUTING ELEMENT FOR IMPLEMENTATION OF FAST CONVERSION, containing the first and second input buffer registers, the first, second and third registers of repeated clocking, the first output register, the register of storage of the exponent of rotation, the first multipliers by 2 3v / 4 and 2 v / 4 (v = 2 t, where t - integers), the first, second and third multiplexers, said first data input device is an information input of the first buffer register, a direct output of which is connected to the data input of the second input buffer register output pervog the re-clock register is connected to the first information input of the first multiplexer, the output of which is connected to the information input of the first output register, the output of which is the first output of the device, the output of the second re-clock register is connected to the first information input of the second multiplexer, the output of which is connected to the information input of the third re-register clock, the output of which is connected to the first information input of the third multiplexer, the output of which is connected a second information input of the first multiplexer inputs of first multipliers for 2 3v / 4 and 2 v / 4, connected to the output of the second register re-timing control inputs of the second and third multiplexers are respectively connected to first and second outputs rotation exponent storage register, characterized in that , in order to improve performance by presenting a discrete signal of a converted signal with two-row codes, the third and fourth input buffer registers, the fourth, fifth, and sixth registers of repeated aktirovaniya second output register, with the fourth to sixth multiplexers, a second multiplier for 2 3v / 4 and 2 v / 4, the first, second and third summation units modulo Fermat numbers, counter and a delay element, wherein the direct output of the first input buffer register connected to the first input of the first summing unit modulo Fermat numbers, the first output of which is connected to the information input of the fourth re-clock register, the output of which is connected to the first information input of the fourth multiplexer, the output of which is connected the information input of the second output register, the output of which is the second output of the device, the second outputs of the first and second blocks of summation modulo Fermat numbers are connected respectively to the direct and inverse outputs of the third input buffer register, the information input of which is the second information input of the device, the output of the second input buffer register connected to the third inputs of the first and second blocks of summation modulo Fermat numbers, the fourth inputs of which are connected to the output of the fourth the input buffer register, the information input of which is connected to the direct output of the third input buffer register, the inverse output of the second input buffer register is connected to the first input of the second summing unit modulo Fermat numbers, the first output of which is connected to the information input of the fifth re-clock register, the output of which is connected to data input of the fifth multiplexer and the second inputs of the multipliers 2 3v / 4 and 2 v / 4 outputs of the first multiplier 2 3v / 4 and the first multiplier 2 v / 4 connected Correspondingly enno to first and second inputs of the third block summation modulo Fermat numbers, first and second outputs are connected to second data input respectively of the second and fifth multiplexers, third and fourth inputs of the third summing block modulo Fermat numbers are connected to inverted outputs, respectively, the second multiplier 2 3v / 4 and a second multiplier for 2 v / 4, the first and second rotational outputs exponent storage register are respectively connected to the control inputs of the fifth and sixth multiplexers, second vyho The first and second blocks of summation modulo Fermat numbers are connected to the information inputs of the first and second registers, respectively, the clock inputs of the first and third input buffer registers, the first and second output registers and the counting input of the counter are interconnected and are the device’s clock input, output the counter is connected to the clock inputs of the second and fourth input buffer registers, the third and sixth registers of repeated clocking, the control inputs of the first and fourth multiplexers and through the delay element to the clock inputs of the first, second, fourth and fifth registers of re-clocking, a register of storage of the exponent of rotation, the information input of which is the input of the exponent of rotation of the device, the output of the fifth multiplexer is connected to the information input of the sixth register of re-clocking, the output of which is connected to the information input the sixth multiplexer, the output of which is connected to the second information input of the fourth multiplexer. 2. Элемент по п. 1, отличающийся тем, что блок суммирования по модулю чисел Ферма содержит две группы сумматоров по N (N - количество разрядов) трехвходовых одноразрядных сумматоров, причем первые, вторые и третьи входы трехвходовых одноразрядных сумматоров первой группы сумматоров и третьи входы трехвходовых одноразрядных сумматоров второй группы сумматоров являются соответственно первым, вторым, третьим и четвертым входами блока суммирования по модулю чисел Ферма, выход суммы j-го трехвходового одноразрядного сумматора (j = 1,2..., N) первой группы сумматоров подключен к первому входу j-го трехвходового одноразрядного сумматора второй группы сумматоров, выход переноса N-го трехвходового одноразрядного сумматора первой группы сумматоров подключен к второму входу первого трехвходового одноразрядного сумматора второй группы сумматоров, выход переноса i-го трехвходового одноразрядного сумматора (i= 1,2, . .., N-1) первой группы сумматоров подключен к второму входу (i + 1)-го трехвходового одноразрядного сумматора второй группы сумматоров, объединенные в шину сумм и шину переносов выходы трехвходовых одноразрядных сумматоров второй группы сумматоров являются соответственно первым и вторым выходами блока суммирования по модулю чисел Ферма. 2. The element according to claim 1, characterized in that the Fermat number summing unit contains two groups of adders of N (N is the number of bits) three-input single-digit adders, the first, second and third inputs of three-input single-digit adders of the first group of adders and third inputs three-input single-bit adders of the second group of adders are respectively the first, second, third and fourth inputs of the summing unit modulo Fermat numbers, the output of the sum of the j-th three-input single-digit adder (j = 1,2 ..., N) of the first UPP adders are connected to the first input of the j-th three-input single-bit adder of the second group of adders, the transfer output of the N-th three-input single-bit adder of the first group of adders is connected to the second input of the first three-input single-bit adder of the second group of adders, the transfer output of the i-th three-input single-bit adder (i = 1,2, ..., N-1) of the first adder group is connected to the second input of the (i + 1) -th three-input single-digit adder of the second adder group, combined into the sum bus and carry bus output The three-input single-digit adders of the second group of adders are respectively the first and second outputs of the summing unit modulo Fermat numbers.
SU4950599 1991-06-27 1991-06-27 Computational cell for realizing quick convolution RU2028666C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU4950599 RU2028666C1 (en) 1991-06-27 1991-06-27 Computational cell for realizing quick convolution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU4950599 RU2028666C1 (en) 1991-06-27 1991-06-27 Computational cell for realizing quick convolution

Publications (1)

Publication Number Publication Date
RU2028666C1 true RU2028666C1 (en) 1995-02-09

Family

ID=21581978

Family Applications (1)

Application Number Title Priority Date Filing Date
SU4950599 RU2028666C1 (en) 1991-06-27 1991-06-27 Computational cell for realizing quick convolution

Country Status (1)

Country Link
RU (1) RU2028666C1 (en)

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
1. C.S. Veh, I.S. Reed, V.V.Chang "VLSI design of number - theoretie transforms for a bast convolution" Chester. N 431 Oct 1983 "Silver Spring, Md 1983, 200-203 - проект, использующий теоретико-числовые преобразования для быстрой свертки. "Iccd - 83: Pooc IEEE - Int. Conf. Comput DecVLSI Comput. Port. *
2. Авторское свидетельство СССР N 1233168. кл. G 06F 15/332 1984. *
3. Макклоллан Дж.Г., Рейдер Ч.М. Применение теории чисел в цифровой обработке сигналов: Пер. с англ. - М.: Радио и связь, 1983, с.193, рис.3. *
4. Нуссбаумер Г. Быстрое преобразование Фурье и алгоритмы вычисления сверток: Пер. С англ. - М.: Радио и связь, 1985. *
5. Цифровые электронные вычислительные машины. Самофалов К.Г., Корнейчук В.И., Тарасенко В.П. - Киев: Вища школа, 1983. *

Similar Documents

Publication Publication Date Title
US5500811A (en) Finite impulse response filter
US4547862A (en) Monolithic fast fourier transform circuit
US8051124B2 (en) High speed and efficient matrix multiplication hardware module
US4601006A (en) Architecture for two dimensional fast fourier transform
US4115867A (en) Special-purpose digital computer for computing statistical characteristics of random processes
US4680727A (en) Complex multiplier for binary two&#39;s complement numbers
US6658441B1 (en) Apparatus and method for recursive parallel and pipelined fast fourier transform
US4831574A (en) Device for computing a digital transform of a signal
JPS63167967A (en) Digital signal processing integrated circuit
US6728742B1 (en) Data storage patterns for fast fourier transforms
RU2028666C1 (en) Computational cell for realizing quick convolution
JPH07234864A (en) Orthogonal transformation device
JPS5981761A (en) Systolic calculation device
CN112992248A (en) PE (provider edge) calculation unit structure of FIFO (first in first out) -based variable-length cyclic shift register
SU1292005A1 (en) Device for implementing fast transforms in digital orthogonal function bases
JP3155026B2 (en) Accumulator
SU896631A1 (en) Device for quick fourier transform of a series with zero elements
SU813420A1 (en) Device for multiplying binary numbers in complementary codes
SU491946A1 (en) Root degree extractor
SU987620A1 (en) Serial multiplying device
SU991418A2 (en) Device for multiplication of two n-bit numbers
SU940165A1 (en) Device for functional conversion of ordered number file
SU798863A1 (en) Digital device for solving simultaneous algebraic equations
SU615476A1 (en) Multiplier
SU1621022A1 (en) Multiplication device