Заявляемое изобретение относится к области цифровой обработки сигналов (ЦОС) различного назначения и может быть использовано при обработке видео- и аудиосигналов в реальном масштабе времени. Для решения задач ЦОС различного назначения применимы определенные подклассы дискретных полиномиальных преобразований (ДПП). Например, дискретных ортогональных (унитарных) преобразований - дискретного преобразования Фурье (ДПФ) и Хартли (ДПХ), как прямого, так и обратного [1, стр.21], а также цифровых фильтров с импульсной характеристикой конечной длительности (КИХ-фильтров) [2, стр.357].The claimed invention relates to the field of digital signal processing (DSP) for various purposes and can be used in the processing of video and audio signals in real time. For solving DSP tasks for various purposes, certain subclasses of discrete polynomial transformations (DFS) are applicable. For example, discrete orthogonal (unitary) transforms - discrete Fourier transform (DFT) and Hartley (DPC), both direct and inverse [1, p.21], as well as digital filters with impulse response of finite duration (FIR filters) [ 2, p. 357].
Существенной проблемой при проектировании устройств для выполнения ДПП является выбор такой его структуры, при которой обеспечивается как высокое быстродействие, так и универсальность данного устройства применительно к реализации заданного подкласса ДПП. Одним из способов повышения быстродействия указанного устройства является реализация конвейерной обработки данных с сохранением промежуточных результатов. Для устройств вычислительной техники (ВТ), реализованных указанным способом, максимальное быстродействие определено как сумма максимального времени задержки функционирования одной из ступеней конвейера и максимального времени задержки одного из регистров, сохраняющих промежуточные результаты. Универсальность устройства для вычисления ДПП достигается за счет возможности варьирования элементов системы функций φki(xk),
,
на конечном интервале длины N, N=2c вида [1, стр.21]A significant problem in the design of devices for the implementation of the DPP is the choice of its structure, which ensures both high performance and the versatility of this device in relation to the implementation of a given subclass of DPP. One of the ways to improve the performance of this device is the implementation of pipelined data processing while maintaining intermediate results. For computing devices (VT) implemented in this way, the maximum speed is defined as the sum of the maximum delay time of one of the conveyor stages and the maximum delay time of one of the registers that store intermediate results. The universality of the device for calculating the DPP is achieved due to the possibility of varying the elements of the system of functions φ ki (x k ), , on a finite interval of length N, N = 2 c of the form [1, p. 21]
Согласно [2, стр.357], КИХ-фильтр (нерекурсивный цифровой фильтр) реализуем на основе (1) для системы функций φk(xk)=a k·хk на конечном интервале длины N, N=2c, где xk - значение сигнала в k-й момент времени,
, с - целые положительные значения. Согласно [3, стр.157], данная система функций (1) в совокупности с определенным коэффициентами a k,
, образует «фильтрующий» полином.According to [2, p. 357], we implement the FIR filter (non-recursive digital filter) based on (1) for the system of functions φ k (x k ) = a k · x k on a finite interval of length N, N = 2 c , where x k is the signal value at the k-th moment in time, , c are integer positive values. According to [3, p. 157], this system of functions (1) in conjunction with certain coefficients a k , , forms a "filtering" polynomial.
Известна реализация быстрого преобразования Хартли и Фурье при использовании конвейеризации процесса вычисления базовой операции («бабочки») алгоритма быстрого ДПФ и ДПХ [RU(11) 2190874(13) , C2 G06F 17/14, 20.07.1999]. Недостатком данной реализации является ограничение по количеству выполняемых дискретных преобразований.A known implementation of the fast Hartley and Fourier transforms using pipelining the process of computing the basic operation (“butterfly”) of the fast DFT and DPC algorithm [RU (11) 2190874 (13) , C2 G06F 17/14, 07/20/1999]. The disadvantage of this implementation is the limitation on the number of discrete transformations performed.
Известна реализация ДПФ на конечном интервале N=2c при использовании процессоров, для которой обеспечивается максимальное быстродействие за счет оптимизации процесса извлечения коэффициентов ДПФ из памяти [RU(11) 2290687(13), C1 G06F 17/14 (2006.01), 31.05.2005]. Недостатком данной реализации является ограничение по количеству выполняемых дискретных преобразований.There is a known implementation of DFT on a finite interval N = 2 s when using processors, which ensures maximum performance by optimizing the process of extracting DFT coefficients from memory [RU (11) 2290687 (13), C1 G06F 17/14 (2006.01), 05/31/2005 ]. The disadvantage of this implementation is the limitation on the number of discrete transformations performed.
Известна реализация универсального цифрового фильтра с программируемой структурой, которая, помимо КИХ-фильтра, позволяет реализовать и авторегрессионный фильтр [RU(11) 2399152(13), C2 H03H 17/04, H03H 17/06, H03H 21/00 (2006.01), 12.03.2008]. Недостатки данной реализации - ограничение по количеству выполняемых дискретных преобразований и низкое быстродействие.A known implementation of a universal digital filter with a programmable structure, which, in addition to the FIR filter, allows you to implement an autoregressive filter [RU (11) 2399152 (13), C2 H03H 17/04, H03H 17/06, H03H 21/00 (2006.01), 03/12/2008]. The disadvantages of this implementation are the limitation on the number of discrete transformations performed and the low speed.
Наиболее близким по технической сущности к заявляемому изобретению является устройство для формирования остатка по заданному модулю, содержащее Т блоков формирования частичных остатков с сохранением вычисленных результатов, два параллельных регистра, мультиплексор, компаратор и блок вычитания, причем t-й блок формирования частичных остатков,
, содержит комбинационный сумматор с (n-p) (p+1)-разрядными входами и (p+q)-разрядным выходом, где n-разрядность чисел, (p+1)-разрядность заданного модуля, q=]log2(n-p)[ [RU(11) 2421781(13), C1 G06F 7/72, H03M 7/18 (2006.01), 19.10.2009]. Данное устройство позволяет производить конвейерное вычисление значений остатков от деления по заданному модулю с сохранением промежуточных результатов (частичных остатков), следствием чего является существенное увеличение быстродействия данного устройства при обработке потока чисел. Недостаток данного устройства - ограничение по количеству выполняемых дискретных преобразований.The closest in technical essence to the claimed invention is a device for generating a residue according to a given module, containing T blocks for the formation of partial residues with the preservation of the calculated results, two parallel registers, a multiplexer, a comparator and a subtraction unit, the t-th block for the formation of partial residues, , contains a combinational adder with (np) (p + 1) -bit inputs and (p + q) -bit output, where n is the bit capacity of the numbers, (p + 1) bit capacity of the given module, q =] log 2 (np) [[RU (11) 2421781 (13), C1 G06F 7/72, H03M 7/18 (2006.01), 10.19.2009]. This device allows the conveyor calculation of the values of the remainder of the division for a given module while maintaining intermediate results (partial residuals), the result of which is a significant increase in the speed of this device when processing a stream of numbers. The disadvantage of this device is the limitation on the number of discrete transformations performed.
К причинам, препятствующим достижению технического результата при использовании известного устройства, относится ограничение по количеству выполняемых ими дискретных преобразований, что существенно ограничивает область его применения.The reasons that impede the achievement of the technical result when using the known device include a limitation on the number of discrete transformations they perform, which significantly limits the scope of its application.
Технический результат заключается в расширении функциональных возможностей устройства для вычисления ДПП, структура которого может быть настроена для выполнения различных подклассов ДПП (например, Фурье, Уолша, Хаара, Хартли, косинусного и т.п.), а также для реализации КИХ-фильтров. Настройка производится путем задания системы функций на конечном интервале длины N и заключается в занесении всевозможных значений функций φki(xk) при заданных значениях xk,
,
, в параллельные регистры значений разрядов функций каждого из блоков вычисления системы функций ДПП, а также в изменении количества блоков вычисления системы функций ДПП и блоков комбинационных сумматоров для N ƒ-разрядных двоичных чисел. Количество каждого из указанных блоков определено как Т - количество элементов образа заданного подкласса ДПП. В устройстве реализовано параллельное вычисление каждого из Т элементов указанных подклассов ДПП, причем в каждом из блоков вычисления системы функций ДПП и в каждом из комбинационных сумматоров для N ƒ-разрядных двоичных чисел производится конвейерное вычисление с сохранением промежуточных результатов.The technical result consists in expanding the functionality of a device for calculating DPS, the structure of which can be configured to perform various subclasses of DFS (for example, Fourier, Walsh, Haar, Hartley, cosine, etc.), as well as to implement FIR filters. The adjustment is made by defining a system of functions on a finite interval of length N and consists in entering all possible values of the functions φ ki (x k ) for given values of x k , , , in parallel registers of the values of the digits of the functions of each of the blocks of calculation of the system of functions of the DPP, as well as in changing the number of blocks of calculation of the system of functions of the DPP and the blocks of combinational adders for N ƒ-bit binary numbers. The number of each of these blocks is defined as T - the number of image elements of a given subclass of DFS. The device implements parallel calculation of each of the T elements of the indicated subclasses of DFS, and in each of the blocks of the calculation of the system of functions of the DFS and in each of the combinational adders for N ƒ-bit binary numbers, pipelining is performed with the intermediate results saved.
Технический результат достигается тем, что в устройство для вычисления дискретных полиномиальных преобразований, содержащее t-й комбинационный сумматор для N ƒ-разрядных двоичных чисел с одним выходом на (ƒ+log2N) разрядов каждый,
, введены система из n N-разрядных регистров сдвига с входом на n двоичных разрядов, с синхровходом и с N n-разрядными двоичными выходами, а также Т блоков вычисления системы функций ДПП с N n-разрядными двоичными входами, с Т входами значений разрядов функций ДПП на N·ƒ·2n двоичных разрядов каждый, с синхровходом, с входом инициализации и с N выходами на ƒ двоичных разрядов каждый, причем вход системы из n N-разрядных регистров сдвига является входом устройства на n двоичных разрядов, каждый из N выходов системы из n N-разрядных регистров сдвига соединен с N n-разрядными двоичными входами каждого из Т блоков вычисления системы функций ДПП, при этом N ƒ-разрядных выходов каждого из Т блоков вычисления системы функций ДПП соединены с N входами соответствующего ему комбинационного сумматора для N ƒ-разрядных двоичных чисел, (ƒ+log2N)-разрядные выходы каждого из комбинационных сумматоров для N ƒ-разрядных двоичных чисел являются выходами устройства для вычисления ДПП, синхровход системы из n N-разрядных регистров сдвига, синхровход каждого из Т блоков вычисления системы функций ДПП и синхровход каждого из Т комбинационных сумматоров для N ƒ-разрядных двоичных чисел является синхровходом устройства для вычисления ДПП, каждый вход значений разрядов функций ДПП t-го блока вычисления системы функций ДПП соединен с t-м входом значений разрядов функций ДПП на N·ƒ·2n двоичных разрядов устройства для вычисления ДПП,
, а вход инициализации каждого из Т блоков вычисления системы функций ДПП является входом инициализации устройства, система из n N-разрядных регистров сдвига содержит n N-разрядных регистров сдвига с последовательным входом, синхровходом и N двоичными выходами каждый, причем последовательный вход каждого N-разрядного регистра сдвига соединен с соответствующим двоичным разрядом n-разрядного входа устройства для вычисления ДПП, синхровход каждого из n N-разрядных регистров сдвига соединен с синхровходом устройства для вычисления ДПП, а i-е разряды N-разрядных регистров сдвига являются i-м выходом системы из n N-разрядных регистров сдвига на n двоичных разрядов каждый,
, t-й блок вычисления системы функций ДПП,
, содержит N·ƒ параллельных регистров значений разрядов функций разрядности 2n каждый с синхровходом, N·ƒ мультиплексоров «2n в 1», N параллельных ƒ-разрядных регистров с синхровходом, причем синхровход каждого из параллельных регистров значений разрядов функций соединен с входом инициализации устройства для вычисления ДПП, вход данных каждого из N·ƒ параллельных регистров значений разрядов функций соединен с соответствующими входами значений разрядов функций ДПП на N·ƒ·2n двоичных разрядов устройства для вычисления ДПП, а выходы данных каждого из N·ƒ параллельных регистров значений разрядов функций соединены с входами данных соответствующих им мультиплексоров «2n в 1», управляющие входы каждого из ƒ элементов i-й группы мультиплексоров «2n в 1» соединены с i-м входом n-разрядных двоичных чисел t-го блока вычисления системы функций ДПП, выходы данных i-й группы мультиплексоров «2n в 1» соединены с входом данных i-го параллельного ƒ-разрядного регистра, синхровход каждого из которых соединен с синхровходом устройства для вычисления ДПП, а выход данных каждого из которых является i-м выходом ƒ-разрядных двоичных чисел t-го блока вычисления системы функций ДПП,
,
, t-й комбинационный сумматор для N ƒ-разрядных двоичных чисел,
, содержит (N-1) двухвходовых сумматора, из которых 2u-2-j имеют разрядность (ƒ+j);
, u=1+logN, а также (N-1) параллельных регистра с синхровходом, из которых 2u-2-j имеют разрядность (ƒ+j+1),
, u=1+logN, N входов на ƒ двоичных разрядов каждый, причем каждый из N входов на ƒ двоичных разрядов N/2 двухвходовых сумматоров соединен с N входами t-го блока вычисления системы функций ДПП разрядности ƒ,
, выходы N/2 двухвходовых сумматоров соединены с входами N/2 (ƒ+1)-разрядных параллельных регистров, выходы которых, в свою очередь, соединены с входами N/4 двухвходовых сумматоров, выходы которых соединены с входами N/4 (ƒ+2)-разрядных параллельных регистров, выходы N/2d (ƒ+d)-разрядных параллельных регистров соединены c входами N/2d+1 двухвходовых сумматоров, выходы которых соединены с входами N/2d-1 (ƒ+d+1)-разрядных параллельных регистров,
, выходы двух (ƒ-1+log2N)-разрядных параллельных регистров соединены с входами двухвходового сумматора, выход которого соединен с входом параллельного регистра разрядности (ƒ+log2N), выход которого является выходом t-го комбинационного сумматора для N ƒ-разрядных двоичных чисел,
, синхровходы каждого из (N-1)-го параллельного регистра соединены с синхровходом устройства для вычисления ДПП.The technical result is achieved in that a device for computing discrete polynomial transformations containing the t-th combiner for N N-bit binary numbers with one output on each ((+ log 2 N) bits each, , introduced a system of n N-bit shift registers with an input to n binary bits, with a sync input and with N n-bit binary outputs, as well as T blocks of calculation of the DPP function system with N n-bit binary inputs, with T inputs of function bit values DPC on N · ƒ · 2 n binary bits each, with a clock input, with an initialization input and with N outputs on ƒ binary bits each, and the system input from n N-bit shift registers is the device input to n binary bits, each of N outputs systems of n N-bit shift registers is denied with N n-bit binary inputs of each of the T blocks of calculation of the system of functions of the DFS, while the N ƒ-bit outputs of each of the T blocks of calculation of the system of functions of the DFS are connected to the N inputs of the corresponding combination adder for N ƒ-bit binary numbers, (ƒ + log 2 N) -bit outputs of each of the combination of adders for N ƒ-bit binary numbers are the outputs of the device for calculating the DPP system clock terminal of the n N-bit shift register, the clock of each of the T blocks computing system DPP and functions sinhrovh d of each of the T combinational adders for N ƒ-bit binary numbers is a clock terminal device to calculate DPP, each input values discharges functions DPP t-th block DPP system functions computing coupled to t-th input bits DPP function values on N · ƒ · 2 n bits of the device for calculating the DPS, and the initialization input of each of the T blocks of the calculation of the DPP function system is the initialization input of the device, the system of n N-bit shift registers contains n N-bit shift registers with serial input, clock input and N binary outputs each, and the serial input of each N-bit the shift register is connected to the corresponding binary bit of the n-bit input of the device for calculating the DPS, the clock input of each of the n N-bit shift registers is connected to the clock input of the device to calculate the DFS, and the ith the bits of N-bit shift registers are the ith output of the system from n N-bit shift registers of n binary bits each, , t-th block of the calculation of the system of functions of the DPP, Comprises N · ƒ parallel register values discharges functions the bit 2 n each with a clock terminal, N · ƒ multiplexers "2 n 1», N parallel ƒ-bit registers with the clock, the clock terminal of each of the parallel register values discharges functions connected to the initialization input devices for calculating the DPP, the data input of each of the N · ельных parallel registers of values of the bits of the functions is connected to the corresponding inputs of the values of the bits of the functions of the DPP on N · ƒ · 2 n binary bits of the device for calculating the DPP, and the data outputs of each of the N · ƒ parallel registers of the values of the bits of the functions are connected to the data inputs of the corresponding 2 n in 1 multiplexers, the control inputs of each of the ƒ elements of the i-th group of 2 n in 1 multiplexers are connected to the i-th input of n-bit binary numbers of the t-th block of the calculation of the system of functions of the DPP, the data outputs of the i-th group of multiplexers "2 n in 1" are connected to the data input of the i-th parallel ƒ-bit register, the clock input of each of which is connected to the sync input of the device for calculating the DPP the output of each of which is I am the i-th output of ƒ-bit binary numbers of the t-th block of the calculation of the system of functions of the DFS , , t-th combinational adder for N ƒ-bit binary numbers, , contains (N-1) two-input adders, of which 2 u-2-j have bit depth (ƒ + j); , u = 1 + logN, as well as (N-1) parallel registers with a synchro input, of which 2 u-2-j have bit depth (ƒ + j + 1), , u = 1 + logN, N inputs to ƒ binary digits each, and each of N inputs to ƒ binary digits of N / 2 two-input adders is connected to N inputs of the t-th block of the calculation of the system of functions of the DPS of bits ƒ, , the N / 2 outputs of two-input adders are connected to the inputs of N / 2 (ƒ + 1) -bit parallel registers, the outputs of which, in turn, are connected to the N / 4 inputs of two-input adders, the outputs of which are connected to the N / 4 inputs (ƒ + 2) -bit parallel registers, outputs N / 2 d (ƒ + d) -bit parallel registers are connected to the inputs N / 2 d + 1 of two-input adders, the outputs of which are connected to the inputs N / 2 d-1 (ƒ + d + 1 ) -bit parallel registers, , the outputs of two (ƒ-1 + log 2 N) -bit parallel registers are connected to the inputs of a two-input adder, the output of which is connected to the input of the parallel bit register (ƒ + log 2 N), the output of which is the output of the t-th combiner for N ƒ -bit binary numbers , the clock inputs of each of the (N-1) -th parallel register are connected to the clock input of the device for calculating the DPS.
Каждый из Т блоков вычисления системы функций ДПП может быть настроен для реализации произвольной системы функций φki(xk) от заданных значений xk,
,
, соответствующей указанному подклассу ДПП (см. выше). При этом для комплексной и для вещественной составляющей каждого элемента образа заданного подкласса ДПП применимы отдельные пары блоков вычисления системы функций ДПП и комбинационных сумматоров для N ƒ-разрядных двоичных чисел. Например, для реализации ДПФ на конечном интервале N требуется T=2N указанных блоков, для реализации ДПХ-Т=N пар указанных блоков, а для реализации КИХ-фильтра порядка N достаточно одной пары данных блоков, соответственно. Кроме того, внутри каждого из Т комбинационных сумматоров для N ƒ-разрядных двоичных чисел предусмотрена возможность сохранения промежуточных результатов, частичных сумм, в параллельных регистрах с синхровходом.Each of the T blocks of the calculation of the system of functions of the DFS can be configured to implement an arbitrary system of functions φ ki (x k ) from the given values of x k , , corresponding to the indicated subclass of DFS (see above). Moreover, for the complex and for the real component of each element of the image of a given subclass of DFS, separate pairs of blocks of calculation of the system of functions of the DFS and combinational adders for N ƒ-bit binary numbers are applicable. For example, for the implementation of the DFT on a finite interval N, T = 2N of the indicated blocks is required, for the implementation of the DPH-T = N pairs of the indicated blocks, and for the implementation of the FIR filter of order N, one pair of these blocks is sufficient, respectively. In addition, inside each of the T combiners for N ƒ -bit binary numbers, it is possible to store intermediate results, partial sums, in parallel registers with a sync input.
Схема устройства для вычисления дискретных полиномиальных преобразований представлена на фиг.1, а схемы системы из n N-разрядных регистров сдвига, t-го блока вычисления системы функций ДПП и t-го комбинационного сумматора для N ƒ-разрядных двоичных чисел,
, приведены на фиг.2, фиг.3 и фиг.4, соответственно.A diagram of a device for computing discrete polynomial transformations is shown in Fig. 1, and a diagram of a system of n N-bit shift registers, the t-th block of the calculation of the system of functions of the DPC and the t-th combinational adder for N ƒ-bit binary numbers, are shown in figure 2, figure 3 and figure 4, respectively.
Устройство для вычисления ДПП, содержит Т комбинационных сумматоров 11, …, 1T для N ƒ-разрядных двоичных чисел, систему 2 из n N-разрядных регистров сдвига, блоки 3t вычисления системы функций ДПП,
, причем каждая из данных функций представлена ƒ-разрядными двоичными числами, где Т - количество элементов образа заданного подкласса ДПП, представленных (ƒ+log2N)-разрядными двоичными числами, N=2c - длина интервала последовательности, над которой выполняется ДПП, ƒ=n+r, r - максимальное количество двоичных разрядов постоянных коэффициентов для заданного подкласса ДПП, n - количество двоичных разрядов входа устройства, причем вход системы 2 из n N-разрядных регистров сдвига, представленный n-разрядным двоичных значением xk, является входом 4 устройства для вычисления ДПП, синхровход системы 2 из n N-разрядных регистров сдвига, а также каждого из блоков 3t вычисления системы функций ДПП и каждого из комбинационных сумматоров 1t для N ƒ-разрядных двоичных чисел,
, является синхровходом устройства для вычисления ДПП (на фиг.1 не показаны), вход инициализации каждого из блоков 3t вычисления системы функций ДПП,
, является входом инициализации устройства для вычисления ДПП (на фиг.1 не показаны), вход значений разрядов функции ДПП соответствующего блока 3t вычисления системы функций ДПП на N·ƒ·2n двоичных разрядов является t-м входом значений разрядов функции ДПП устройства для вычисления ДПП,
(на фиг.1 не показаны), выход системы 2 из n N-разрядных регистров сдвига, представленный n·N-разрядным двоичным числом, соединен с входами каждого из блоков 3t вычисления системы функций ДПП,
, выход каждого из блоков 3t вычисления системы функций ДПП, представленный ƒ-разрядным двоичным значением, соединен с входом соответствующего комбинационного сумматора 1t для N ƒ-разрядных двоичных чисел,
, а выход каждого комбинационного сумматора 1t для N ƒ-разрядных двоичных чисел, определенный как (ƒ+log2N)-разрядное двоичное число, является выходом 5t устройства для вычисления ДПП,
.A device for calculating the DPP contains T combinational adders 1 1 , ..., 1 T for N ƒ-bit binary numbers, a system 2 of n N-bit shift registers, blocks 3 t of computing the system of functions of the DPP, and each of these functions is represented by ƒ-bit binary numbers, where T is the number of image elements of a given subclass of DFS represented by (ƒ + log 2 N) -bit binary numbers, N = 2 c is the length of the interval of the sequence over which the DFS is performed, ƒ = n + r, r is the maximum number of binary digits of constant coefficients for a given subclass of DPP, n is the number of binary digits of the input of the device, and the input of system 2 of n N-bit shift registers, represented by n-bit binary value x k , is the input 4 devices the properties for calculating the DFT, the synchro input of system 2 of n N-bit shift registers, as well as each of the blocks 3 t of calculating the system of functions of the DFT and each of the combinational adders 1 t for N ƒ-bit binary numbers, is the synchro input of the device for calculating the DPP (not shown in FIG. 1), the input of initialization of each of the blocks 3 t of calculating the system of functions of the DPP, , Is an input device for computing initialization DPP (not shown in Figure 1), the input values of the respective bits of the function DPP unit 3 t computing system functions on DPP N · ƒ · 2 n bits is the t-th input bits of values for DPP device functions DPP calculations (not shown in FIG. 1), the output of system 2 from n N-bit shift registers, represented by an n · N-bit binary number, is connected to the inputs of each of the blocks 3 t of the calculation of the system of functions of the DPP, , the output of each of the blocks 3 t of the calculation of the system of functions of the DPP, represented by a ƒ-bit binary value, is connected to the input of the corresponding combination adder 1 t for N ƒ-bit binary numbers, , and the output of each combination adder 1 t for N ƒ -bit binary numbers, defined as a (ƒ + log 2 N) -bit binary number, is the output 5 t of the device for calculating DPS, .
На фиг.2 представлена система 2 из n N-разрядных регистров сдвига, которая включает n N-разрядных регистров сдвига 6b,
, причем последовательные входы каждого из регистров сдвига 6b,
, соединены с соответствующим двоичным разрядом входа устройства 4 для вычисления ДПП - 4b,
, синхровходы каждого из N-разрядных регистров сдвига 6b,
, соединены с синхровходом устройства для вычисления ДПП (на фиг.2 не показаны), а выходы 7b,i, каждого из N-разрядных регистров сдвига 6b,
, образуют i-й выход системы 2 из n N-разрядных регистров сдвига на n двоичных разрядов каждый,
.Figure 2 presents a system 2 of n N-bit shift registers, which includes n N-bit shift registers 6 b , , and the serial inputs of each of the shift registers 6 b , are connected to the corresponding binary bit of the input of the device 4 for calculating the DPP - 4 b , , the clock inputs of each of the N-bit shift registers 6 b , are connected to the sync input of the device for calculating the DPS (not shown in FIG. 2), and the outputs 7 b, i of each of the N-bit shift registers 6 b , form the i-th output of system 2 from n N-bit shift registers of n binary digits each, .
На фиг.3 представлен один из блоков 3t вычисления системы функций ДПП вида φk(t-1)(xk),
,
, который включает N·ƒ параллельных регистров 8t.(k+1)p,
, значений p-го разряда функции φk(t-1)(xk) разрядности 2n каждый, N·ƒ мультиплексоров 9t.(k+1).p «2n в 1» и N параллельных ƒ-разрядных регистров 10t.(k+1), причем синхровход каждого из параллельных регистров 8t.(k+1).p значений разрядов функций,
,
, соединен с входом инициализации 11 устройства для вычисления ДПП, каждый вход данных параллельного регистра 8t(k+1)p значений разрядов функций ДПП φk(t-1)(xk),
, соединен с соответствующим входом 12t.(k+1).p значений p-го разряда указанных функции на N·ƒ·2n двоичных разрядов,
,
, выход каждого из параллельных регистров 8t(k+1).p соединен с соответствующими входами данных мультиплексора 9t.(k+1)p «2n в 1», тогда как управляющие входы каждого мультиплексора «2n в 1» из группы 9t.(k+1).1 … 9t.(k+1).ƒ,
, соединены с n-разрядным входом 13t.(k+1) значений xk, разряды каждого из которых соединены с двоичными выходами 71.(k+1)…7n.(k+1) системы 2 из n N-разрядных регистров сдвига (см. фиг.2), выходы мультиплексоров 9t.(k+1).1…9t.(k+1).ƒ «2n в 1» соединены с входами параллельных ƒ-разрядных регистров 10t.(k+1),
, синхровход каждого из которых соединен с синхровходом устройства для вычисления ДПП (на фиг.3 не указаны), а выходы параллельных ƒ-разрядных регистров 10t.(k+1) являются ƒ-разрядными выходами 14t.(k+1) блока 3t вычисления системы функций ДПП,
,
, соответственно.Figure 3 presents one of the blocks 3 t of the calculation of the system of functions of the DPP of the form φ k (t-1) (x k ), , which includes N · ƒ parallel registers 8 t. (k + 1) p , , the values of the pth digit of the function φ k (t-1) (x k ) of width 2 n each, N · ƒ multiplexers 9 t. (k + 1). p “2 n in 1” and N parallel ƒ-bit registers 10 t. (K + 1) , and the sync input of each of the parallel registers is 8 t. (K + 1) .p the values of the bits of the functions, , , connected to the initialization input 11 of the device for calculating the DPP, each data input of the parallel register 8 t (k + 1) p values of the digits of the functions of the DPP φ k (t-1) (x k ), , connected to the corresponding input 12 t. (k + 1) .p the values of the pth digit of the indicated functions on N · ƒ · 2 n binary digits, , , the output of each of the parallel registers 8 t (k + 1) .p is connected to the corresponding data inputs of the multiplexer 9 t. (k + 1) p “2 n in 1”, while the control inputs of each multiplexer are “2 n in 1” from groups 9 t. (k + 1) .1 ... 9 t. (k + 1) .ƒ , are connected to the n-bit input 13 t. (k + 1) of the values x k , the bits of each of which are connected to the binary outputs 7 1. (k + 1) ... 7 n. (k + 1) of system 2 of n N- bit shift registers (see figure 2), the outputs of the multiplexers 9 t. (k + 1) .1 ... 9 t. (k + 1) .ƒ "2 n in 1" connected to the inputs of parallel ƒ-bit registers 10 t . (k + 1) , , the synchro-input of each of which is connected to the synchro-input of the device for calculating the DPP (not shown in Fig. 3), and the outputs of parallel ƒ-bit registers 10 t. (k + 1) are ƒ-bit outputs 14 t. (k + 1) of the block 3 t calculation of the system of functions of the DPP, , , respectively.
На фиг.4 изображен комбинационный сумматор 1t,
, для N ƒ-разрядных двоичных чисел,
, который содержит (N-1) двухвходовых сумматора 15t.1…15t.(N-1), из которых 2u-2-j имеют разрядность (ƒ+j),
, u=1+logN, а также (N-1) параллельных регистра 16t.1…16t.(N-1) с синхровходом,
, из которых 2u-2-j имеют разрядность (ƒ+j+1),
, u=1+logN, N входов на ƒ двоичных разрядов каждый, причем каждый из N входов на ƒ двоичных разрядов N/2 двухвходовых сумматоров 15t.1…15t.(N/2) соединен с N входами блока 3t. вычисления системы функций ДПП разрядности ƒ,
, выходы N/2 двухвходовых сумматоров 15t.1…15t.(N/2) соединены с входами N/2 (ƒ+1)-разрядных параллельных регистров 16t.1…16t.(N/2), выходы которых, в свою очередь, соединены с входами N/4 двухвходовых сумматоров
, D1=N/2, выходы которых соединены с входами N/4 (ƒ+2)-разрядных параллельных регистров
, выходы N/2d (ƒ+d)- разрядных параллельных регистров
,
, соединены с входами N/2d+1 двухвходовых сумматоров
, выходы которых соединены с входами N/2d+1 (ƒ+d+1)-разрядных параллельных регистров
,
, выходы двух (ƒ-1+log2N)-разрядных параллельных регистров 16t(N-3) 16t(N-2) соединены с входами двухвходового сумматора 15t.(N-1), выход которого соединен с входом параллельного регистра 16t.(N-1) разрядности (ƒ+log2N), выход которого является выходом 5t t-го комбинационного сумматора для N ƒ-разрядных двоичных чисел,
, синхровходы каждого из (N-1)-го параллельного регистра 16t.1…16t.(N-1) соединены с синхровходом устройства для вычисления ДПП (на фиг.4 не указаны).Figure 4 shows the combination adder 1 t , , for N ƒ-bit binary numbers, , which contains (N-1) two-input adders 15 t.1 ... 15 t. (N-1) , of which 2 u-2-j have bit capacity (ƒ + j), , u = 1 + logN, as well as (N-1) parallel register 16 t.1 ... 16 t. (N-1) with sync input, of which 2 u-2-j have bit depth (ƒ + j + 1), , u = 1 + logN, N inputs to ƒ binary digits each, and each of N inputs to ƒ binary digits N / 2 of two-input adders 15 t.1 ... 15 t. (N / 2) is connected to N inputs of block 3 t. computing the system of functions , the outputs N / 2 of two-input adders 15 t.1 ... 15 t. (N / 2) are connected to the inputs of N / 2 (ƒ + 1) -bit parallel registers 16 t.1 ... 16 t. (N / 2) , the outputs which, in turn, are connected to the inputs of the N / 4 two-input adders , D 1 = N / 2, the outputs of which are connected to the inputs of N / 4 (ƒ + 2) -bit parallel registers outputs N / 2 d (ƒ + d) - bit parallel registers , connected to the inputs of N / 2 d + 1 two-input adders whose outputs are connected to the inputs of N / 2 d + 1 (ƒ + d + 1) -bit parallel registers , , the outputs of two (ƒ-1 + log 2 N) -bit parallel registers 16 t (N-3) 16 t (N-2) are connected to the inputs of the two-input adder 15 t. (N-1) , the output of which is connected to the input of the parallel register 16 t. (N-1) bits (ƒ + log 2 N), the output of which is the output of the 5 t t-th combinational adder for N ных-bit binary numbers, , the clock inputs of each of the (N-1) -th parallel register 16 t.1 ... 16 t. (N-1) are connected to the clock input of the device for calculating the DPS (not shown in figure 4).
Рассмотрим устройство для вычисления дискретных полиномиальных преобразований в работе.Consider a device for computing discrete polynomial transforms in work.
В предлагаемом устройстве на этапе инициализации в параллельные регистры 8t.(k+1).p значений разрядов функции разрядности 2n по сигналу 11 инициализации параллельно заносятся соответствующие значения p-x двоичных разрядов значения функций φk(t-1)(xk) системы (1),
,
,
. При этом значение в d-м разряде каждого из регистров 8t.(k+1).p соответствует p-му разряду значения функции φk(t-1)(d),
. Через период времени от момента прихода сигнала инициализации 11 устройства для вычисления ДПП до момента занесения информации в регистры 8t.(k+1).p,
,
,
, устройство для вычисления ДПП готово к работе.In the proposed device, at the initialization stage, in the parallel registers 8 t. (K + 1). P of the digits of the bit function 2 n , the corresponding px values of the binary digits of the values of the functions φ k (t-1) (x k ) of the system are parallelly entered in the initialization signal 11 (one), , , . Moreover, the value in the dth digit of each of the registers is 8 t. (K + 1) .p corresponds to the pth digit of the value of the function φ k (t-1) (d), . After a period of time from the moment of arrival of the initialization signal 11 of the device for calculating the DPP to the moment of entering information into the registers 8 t. (K + 1) .p , , , , the device for calculating the DPP is ready to go.
На этапе функционирования на каждом такте работы устройства для вычисления ДПП на вход 4 по синхросигналам, генерируемым через период времени ТУТПП, поступают n-разрядные двоичные числа xk,
. На основании последовательности указанных чисел конечной длины N производится определенный подкласс дискретных полиномиальных преобразований. Генератор синхросигналов и синхровходы регистров 61, … 6N, 8t.(k+1).p,
,
,
, 10t.1, … 10t.N, 16t.1, … 16t.(N-1) на фиг.2, фиг.3 и фиг.4 не указаны. По синхросигналу b-й разряд каждого из значений xk,
,
, сохраняется поразрядно в N-разрядном регистре сдвига 6b,
(см. фиг.2). В результате, через период времени N·ТУТПП, когда в регистрах сдвига 61…6N будет находиться последовательность {xk},
длины N, элементы указанной последовательности параллельно поступают на входы 13t.(k+1) блоков 3t вычисления системы функций ДПП, φki(xk),
,
,
, (см. фиг.3). В случае, если на вход 13t.(k+1) блока 3t вычисления системы функций ДПП,
, являющийся также управляющим входом мультиплексора 9t.(k+1).p «2n в 1», поступает значение d, представленное n-разрядным двоичным числом, то на выход мультиплексора 9t.(k+1).p «2n в 1» поступает p-й разряд значения функции φk(t-1)(d), который был сохранен в d-м разряде параллельного регистра 8t.(k+1).p значений разрядов функции на этапе инициализации,
,
,
,
.At the operation stage, at each clock cycle of the device for calculating the DPS , input 4 by the clock signals generated after the time period T of the UCCI receives n-bit binary numbers x k , . Based on a sequence of these numbers of finite length N, a certain subclass of discrete polynomial transformations is made. Clock generator and clock inputs of registers 6 1 , ... 6 N , 8 t. (K + 1) .p , , , , 10 t.1 , ... 10 tN , 16 t.1 , ... 16 t. (N-1) in figure 2, figure 3 and figure 4 are not indicated. By the sync signal, the bth bit of each of the values of x k , , is stored bitwise in the N-bit shift register 6 b , (see figure 2). As a result, after a period of time N · Т УТПП , when the sequence {x k } will be in the shift registers 6 1 ... 6 N , of length N, elements of the indicated sequence are simultaneously fed to the inputs 13 t. (k + 1) of blocks 3 t of the calculation of the system of functions of the DPP, φ ki (x k ) , , , (see figure 3). If the input 13 t. (K + 1) of block 3 t calculates the system of functions of the DPP, , which is also the control input of the multiplexer 9 t. (k + 1) .p “2 n in 1”, the value d, represented by an n-bit binary number, comes to the output of the multiplexer 9 t. (k + 1) .p “2 n in 1 ”, the pth digit of the value of the function φ k (t-1) (d) is received, which was stored in the dth bit of the parallel register 8 t. (k + 1) .p the values of the bits of the function at the initialization stage, , , , .
Во время поступления следующего, (N·ТУТПП+1)-го, синхросигнала значения с выходов каждого из мультиплексоров 9t.(k+1).p «2n в 1» сохраняются в параллельных ƒ-разрядных регистрах 10t.(k+1),
,
, которые затем поступают на выходы 14t.(k+1) каждого из блоков 3t вычисления системы функций ДПП,
(см. фиг.3). Значения на выходах 14t.(k+1) являются также входами комбинационных сумматоров 1t для N ƒ-разрядных двоичных чисел,
, и поступают на сумматоры 15t.1, …, 15t.N/2 (см. фиг.4).During the arrival of the next (N · Т УТПП + 1) -th, clock signal, the values from the outputs of each of the multiplexers 9 t. (K + 1). P “2 n in 1” are stored in parallel в-bit registers 10 t. ( k + 1) , , which then go to the outputs 14 t. (k + 1) of each of the blocks 3 t of the calculation of the system of functions of the DPP, (see figure 3). The values at the outputs of 14 t. (K + 1) are also inputs of the combinative adders 1 t for N ƒ-bit binary numbers, , and arrive at the adders 15 t.1 , ..., 15 tN / 2 (see figure 4).
Во время поступления синхросигнала под номером (N·ТУТПП+2) значения частичных сумм, снимаемых с выходов сумматоров 15t.1, …, 15t.N/2, сохраняются в параллельных регистрах 16t.1, …, 16t.N/2 разрядности (ƒ+1), соответственно,
, (см. фиг.4) и т.д.During the arrival of the clock signal under the number (N · Т УТПП +2), the values of the partial sums taken from the outputs of the adders 15 t.1 , ..., 15 tN / 2 are stored in parallel registers 16 t.1 , ..., 16 tN / 2 bits (ƒ + 1), respectively, , (see figure 4), etc.
Во время поступления синхросигнала под номером (N·ТУТПП+d+2) значения частичных сумм, снимаемых с выходов сумматоров
, сохраняются в параллельных регистрах
разрядности (ƒ+d+1), соответственно,
,
.During the arrival of the clock signal under the number (N · Т УТПП + d + 2), the values of the partial sums taken from the outputs of the adders are stored in parallel registers bit depths (ƒ + d + 1), respectively, , .
Во время поступления синхросигнала под номером (N·ТУТПП+2+logN) значение, снимаемое с выхода сумматора 15t.(N-1), сохраняется в параллельном регистре 16t.(N-1) разрядности (ƒ+log2N) и поступает на выход 5t, который является одним из t выходов устройства для вычисления ДПП,
.During the arrival of the clock signal under the number (N · Т УТПП + 2 + logN), the value taken from the output of the adder 15 t. (N-1) is stored in a parallel register 16 t. (N-1) of capacity (ƒ + log 2 N ) and goes to the output 5 t , which is one of the t outputs of the device for calculating the DPP, .
В результате, за (N·ТУТПП+2+logN) тактов работы устройства для вычисления ДПП возможно вычисление значений Т элементов образов для заданного подкласса дискретных полиномиальных преобразований. При этом минимальный интервал времени между поступлениями синхросигналов рассчитывается согласно формуле видаAs a result, for (N · Т УТПП + 2 + logN) clock cycles of the device for calculating DFS, it is possible to calculate the values of T image elements for a given subclass of discrete polynomial transformations. In this case, the minimum time interval between the arrival of the clock signals is calculated according to the formula of the form
ТУТПП=max(TMX, T(Σ))+TR,T UCCI = max (T MX , T (Σ)) + T R ,
где TMX, T(Σ) и TR - оценки максимального времени задержки мультиплексоров 9t.(k+1).p «2n в 1», двухвходового сумматора 15t.(k+1) для
,
,
, а также максимального времени задержки функционирования регистров: N-разрядных регистров сдвига 61, …, 6N, параллельных регистров 8t(k+1).p значений разрядов функций, параллельных ƒ-разрядных регистров 10t.(k+1) и параллельных регистров 16t.(k+1),
,
,
, соответственно. Величина ТУТПП позволяет определить верхнюю оценку частоты работы устройства для вычисления ДПП -
.where T MX , T (Σ) and T R are estimates of the maximum delay time of multiplexers 9 t. (k + 1). p “2 n in 1”, of a two-input adder 15 t. (k + 1) for , , , as well as the maximum delay time of the operation of the registers: N-bit shift registers 6 1 , ..., 6 N , parallel registers 8 t (k + 1). p values of the bits of functions parallel to ƒ-bit registers 10 t. (k + 1) and parallel registers 16 t. (k + 1) , , , , respectively. The value of T UCCI allows you to determine the upper estimate of the frequency of operation of the device for calculating the DPP - .
При этом значения n-разрядных двоичных элементов обрабатываемых последовательностей, а также значения элементов образов заданного подкласса дискретных полиномиальных преобразований поступают на n-разрядный вход 4 и снимаются с Т(ƒ+log2N)-разрядных выходов 51, …, 5T устройства для вычисления ДПП, соответственно, по синхросигналам, поступающим через период времени не менее чем ТУТПП.In this case, the values of n-bit binary elements of the processed sequences, as well as the values of the image elements of a given subclass of discrete polynomial transforms, are received at the n-bit input 4 and removed from the T (ƒ + log 2 N) -bit outputs 5 1 , ..., 5 T of the device to calculate the DPS, respectively, on the clock signals arriving through a period of time of not less than T UCCI .
Таким образом, предлагаемое устройство для вычисления ДПП по сравнению с прототипом позволяет производить вычисление широкого класса дискретных полиномиальных преобразований, задаваемых системой полиномиальных функций вида (1), при использовании конвейерной обработки данных с сохранением промежуточных результатов, что позволяет обеспечивать высокое быстродействие предлагаемого устройства.Thus, the proposed device for calculating the DPP in comparison with the prototype allows the calculation of a wide class of discrete polynomial transformations defined by a system of polynomial functions of the form (1), using pipelined data processing with preservation of intermediate results, which allows for high performance of the proposed device.
Источники информацииInformation sources
1. Крот A.M. Дискретные модели динамических систем на основе полиномиальной алгебры. Минск: Навука i тэхника, 1990. 311 с.1. Mole A.M. Discrete models of dynamical systems based on polynomial algebra. Minsk: Navuka i tehnika, 1990.311 s.
2. Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов: учебн. пособие для вузов. М.: Радио и связь, 1988. 312 с.2. Kalabekov B.A. Microprocessors and their use in signal transmission and processing systems: textbook. manual for universities. M .: Radio and communications, 1988.312 s.
3. Блейхуд Р. Теория и практика кодов, контролирующих ошибки. Пер. с англ. под ред. Зигангирова К.Ш. М.: Мир, 1986. 576 с.3. Bleichood R. Theory and practice of error control codes. Per. from English under the editorship of Zigangirova K.Sh. M .: Mir, 1986. 576 p.
4. RU(11) 2190874(13), C2 G06F 17/14, 20.07.1999.4. RU (11) 2190874 (13), C2 G06F 17/14, 07.20.1999.
5. RU(11) 2290687(13), C1 G06F 17/14 (2006.01), 31.05.2005.5. RU (11) 2290687 (13), C1 G06F 17/14 (2006.01), 05.31.2005.
6. RU(11) 2399152(13), C2 H03H 17/04, H03H 17/06, H03H 21/00 (2006.01), 12.03.2008.6. RU (11) 2399152 (13), C2 H03H 17/04, H03H 17/06, H03H 21/00 (2006.01), 03/12/2008.
7. RU(11) 2421781(13), C1 G06F 7/72, H03M 7/18 (2006.01), 19.10.2009.7. RU (11) 2421781 (13), C1 G06F 7/72, H03M 7/18 (2006.01), 10.19.2009.