RU2637988C1 - Device for adding (subtracting) n numbers with adjustable module - Google Patents

Device for adding (subtracting) n numbers with adjustable module Download PDF

Info

Publication number
RU2637988C1
RU2637988C1 RU2016139337A RU2016139337A RU2637988C1 RU 2637988 C1 RU2637988 C1 RU 2637988C1 RU 2016139337 A RU2016139337 A RU 2016139337A RU 2016139337 A RU2016139337 A RU 2016139337A RU 2637988 C1 RU2637988 C1 RU 2637988C1
Authority
RU
Russia
Prior art keywords
input
output
channel
counter
module
Prior art date
Application number
RU2016139337A
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 RU2016139337A priority Critical patent/RU2637988C1/en
Application granted granted Critical
Publication of RU2637988C1 publication Critical patent/RU2637988C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/5013Half or full adders, i.e. basic adder cells for one denomination using algebraic addition of the input signals, e.g. Kirchhoff adders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/5016Half or full adders, i.e. basic adder cells for one denomination forming at least one of the output signals directly from the minterms of the input signals, i.e. with a minimum number of gate levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • G06F7/537Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm

Landscapes

  • Logic Circuits (AREA)

Abstract

FIELD: physics.
SUBSTANCE: device contains a memory unit for storing the values of the terms, memory blocks storing the values of the summand signs, a multichannel multiplexer, a multiplexer, the first subtracting counter, the first multi-input NOR element, the second subtracting counter, the second multi-input NOR element, a reverse counter for the adjustable module, the third subtracting counter, the third multi-input NOR element, a counter for the adjustable module, signal delay elements, an output register.
EFFECT: increased operation speed of the device.
1 dwg

Description

Предлагаемое устройство относится к вычислительным устройствам, функционирующим в системе остаточных классов, и может быть использовано при аппаратной реализации криптографических алгоритмов.The proposed device relates to computing devices operating in a system of residual classes, and can be used in hardware implementation of cryptographic algorithms.

Известно устройство для сложения и вычитания чисел по модулю [1], содержащее две группы элементов ИЛИ, три кольцевых регистра сдвига, шесть блоков элементов И, дифференцирующую цепочку, семь элементов И, четыре элемента запрета, шифратор, дешифратор, блок элементов ИЛИ, два элемента НЕ, два счетчика, два элемента ИЛИ-НЕ, элемент ИЛИ, преобразователь числа в код Х/k, преобразователь кода числа Х в код X mod k, преобразователь кода числа в дополнительный код по модулю.A device is known for adding and subtracting numbers modulo [1], containing two groups of OR elements, three annular shift registers, six blocks of AND elements, a differentiating chain, seven I elements, four prohibition elements, an encoder, a decoder, an OR element block, two elements NOT, two counters, two OR-NOT elements, an OR element, a number to X / k code converter, a X number code to X mod k code converter, a number code converter to an additional modulo code.

Недостатком данного устройства является низкое быстродействие при вычислении суммы массивов операндов, входящих с разными знаками.The disadvantage of this device is the low speed when calculating the sum of the arrays of operands included with different signs.

Также известно устройство для сложения n чисел по модулю Р [2], содержащее N дешифраторов, входы которых являются входами устройства, и шифратор, выход которого является выходом устройства, N управляемых фазовращателей, генератор гармонического сигнала, (р-1) фазовращателей на фиксированные значения фазы и измеритель фазы гармонического сигнала, причем выход генератора гармонического сигнала соединен с первым входом первого управляемого фазовращателя, выход i-го управляемого фазовращателя - с первым входом (i+1)-го управляемого фазовращателя, выход N-го управляемого фазовращателя с входом 1-го измерителя фазы гармонического сигнала, 2-й вход которого соединен с выходом генератора гармонического сигнала, вход q-го измерителя фазы гармонического сигнала соединен с выходом генератора гармонического сигнала через фазовращатель на фиксированное значение фазы, при этом вход (р+2) измерителя фазы гармонического сигнала является тактовым входом устройства, выход измерителя фазы гармонического сигнала соединен с входом шифратора, а выходы дешифраторов подключены к вторым входам соответствующих управляемых фазовращателей.It is also known a device for adding n numbers modulo P [2], containing N decoders, the inputs of which are the inputs of the device, and an encoder whose output is the output of the device, N controlled phase shifters, a harmonic signal generator, (p-1) phase shifters to fixed values phase and phase meter of the harmonic signal, and the output of the harmonic signal generator is connected to the first input of the first controlled phase shifter, the output of the i-th controlled phase shifter is connected to the first input of the (i + 1) -th controlled phase shifter , the output of the Nth controlled phase shifter with the input of the 1st harmonic signal phase meter, the 2nd input of which is connected to the output of the harmonic signal generator, the input of the qth harmonic signal phase meter connected to the output of the harmonic signal generator through the phase shifter to a fixed phase value, the input (p + 2) of the phase meter of the harmonic signal is the clock input of the device, the output of the phase meter of the harmonic signal is connected to the input of the encoder, and the outputs of the decoders are connected to the second inputs of appropriate controlled phase shifters.

Недостатком данного устройства также является низкое быстродействие при вычислении суммы массивов операндов, входящих с разными знаками.The disadvantage of this device is also the low speed when calculating the sum of the arrays of operands included with different signs.

Также известен сумматор с переменным модулем сложения [3], предназначенный для сложения двоичных чисел с возможностью электронной перестройки модуля сложения и может использоваться в управляемых генераторах импульсов с селекцией опорной фазы. Для получения переменного модуля сложения устройство, содержащее пару обычных сумматоров, один из которых складывает слагаемые, а другой корректирует при необходимости результат сложения, дополнено элементом ИЛИ, блоком управляемых инверторов и компаратором. В устройстве предусмотрена также шина управления модулем, на которую подается двоичное число, равное заданному модулю сложения. Компаратор сравнивает образованную основным сумматором сумму с модулем сложения и в случае, когда указанная сумма равна или больше модуля, вырабатывает сигнал, обеспечивающий вычитание из нее корректирующим сумматором значения модуля и выработку сигнала переноса.Also known is an adder with a variable addition module [3], designed to add binary numbers with the possibility of electronic tuning of the addition module and can be used in controlled pulse generators with selection of the reference phase. To obtain a variable addition module, a device containing a pair of conventional adders, one of which adds summands, and the other corrects the addition result if necessary, is supplemented by an OR element, a unit of controlled inverters and a comparator. The device also has a module control bus, to which a binary number equal to a given addition module is supplied. The comparator compares the sum formed by the main adder with the addition module and, when the indicated sum is equal to or greater than the module, it generates a signal that ensures that the module values are subtracted from the correcting adder and the transfer signal is generated.

Недостатком данного устройства также является низкое быстродействие при вычислении суммы массивов операндов, входящих с разными знаками.The disadvantage of this device is also the low speed when calculating the sum of the arrays of operands included with different signs.

Также известно устройство для сложения и вычитания чисел по модулю [4], сущность которого состоит в проведении операции модульного сложения (вычитания) по частным модулям m1 и m2 (m1⋅m2≥m, где m - модуль операции) с последующим преобразованием в результате операции по модулю. Устройство содержит дешифратор, два блока элементов И, две группы элементов ИЛИ, пять элементов И, два элемента запрета, два преобразователя кода, два счетчика, два элемента ИЛИ-НЕ, коммутатор, шифратор, два кольцевых регистра сдвига.Also known is a device for adding and subtracting numbers modulo [4], the essence of which is to perform the operation of modular addition (subtraction) of the private modules m 1 and m 2 (m 1 ⋅m 2 ≥m, where m is the operation module), followed by transformation as a result of the operation modulo. The device contains a decoder, two blocks of AND elements, two groups of OR elements, five AND elements, two prohibition elements, two code converters, two counters, two OR-NOT elements, a switch, an encoder, two ring shift registers.

Недостатком данного устройства также является низкое быстродействие при вычислении суммы массивов операндов, входящих с разными знаками.The disadvantage of this device is also the low speed when calculating the sum of the arrays of operands included with different signs.

Наиболее близким по сущности технического решения является накапливающий сумматор по модулю [5], содержащий n-разрядный сумматор и n-разрядный регистр, причем вторые информационные входы сумматора являются информационными входами устройства, а информационные выходы регистра являются информационными выходами устройства и соединены с первыми информационными входами n-разрядного сумматора, тактовый вход регистра является тактовым входом устройства, вход обнуления регистра является входом обнуления устройства, а вход переноса n-разрядного сумматора является входом переноса устройства, (n+1)-разрядный сумматор и n-разрядный мультиплексор, причем 1…n информационные выходы n-разрядного сумматора соединены с первыми информационными входами (n+1)-разрядного сумматора и вторыми 1…n информационными входами мультиплексора, выход переноса n-разрядного сумматора соединен с первым (n+1) информационным входом (n+1)-разрядного сумматора, вторые 1...n+1 информационные входы которого являются входами кода модуля в инверсном виде, на вход переноса (n+1)-разрядного сумматора подается логическая единица, выход переноса (n+1)-разрядного сумматора соединен с управляющим входом мультиплексора, а 1…n информационные выходы соединены с первыми 1…n информационными входами мультиплексора, информационные выходы которого соединены со входами записи регистра.The closest in essence technical solution is an accumulating adder modulo [5], containing an n-bit adder and an n-bit register, the second information inputs of the adder being the information inputs of the device, and the information outputs of the register are the information outputs of the device and connected to the first information inputs n-bit adder, the register clock is the device’s clock input, the register null input is the device’s null input, and the transfer input is n-bit o the adder is the transfer input of the device, (n + 1) -digit adder and n-bit multiplexer, and 1 ... n information outputs of the n-bit adder are connected to the first information inputs of the (n + 1) -digit adder and the second 1 ... n information the inputs of the multiplexer, the transfer output of the n-bit adder is connected to the first (n + 1) information input of the (n + 1) -digital adder, the second 1 ... n + 1 information inputs of which are inputs of the module code in the inverse form, to the transfer input (n + 1) -bit adder logic unit maths, carry output of (n + 1) -bit adder connected to the control input of the multiplexer, and 1 ... n data outputs connected to the first information 1 ... n of the multiplexer inputs, data outputs of which are connected to the inputs of register entries.

Недостатком данного устройства также является низкое быстродействие при вычислении суммы массивов операндов, входящих с разными знаками.The disadvantage of this device is also the low speed when calculating the sum of the arrays of operands included with different signs.

Цель изобретения - повышение быстродействия устройства.The purpose of the invention is to increase the speed of the device.

Поставленная цель достигается тем, что в устройство сложения (вычитания) N чисел с настраиваемым модулем, включающее регистр памяти, мультиплексор, введены n блоков памяти хранения значений слагаемых, многоканальный вход каждого из которых подключен к соответствующему многоканальному входу подачи значения слагаемого, при этом n многоканальных входов подачи значений слагаемых являются входами устройства n блоков памяти хранения значений знаков слагаемых, вход каждого из которых подключен к соответствующему входу подачи знака слагаемых, при этом n входов подачи знака слагаемых являются входами устройства; многоканальный мультиплексор, n многоканальных информационных входов которого подключены к соответствующим многоканальным выходам блоков памяти хранения значений слагаемых; мультиплексор, n информационных входов которого подключены к соответствующим выходам блоков памяти хранения значений знаков слагаемых; первый вычитающий счетчик, первый многоканальный вход параллельной записи значений ячеек памяти которого подключен к многоканальному выходу многоканального мультиплексора, третий вход подключен ко входу подачи тактовых импульсов, а второй многоканальный выход подключен ко входам первого многовходового логического элемента ИЛИ-НЕ, второй выход последовательной выдачи тактовых импульсов подключен ко второму входу реверсного счетчика по настраиваемому модулю; первый многоканальный вход реверсного счетчика по настраиваемому модулю подключен к многоканальному входу подачи значения модуля k, который является входом устройства, а третий вход настройки прямого и обратного счета подключен к выходу мультиплексора; второй вычитающий счетчик, первый многоканальный вход параллельной записи значений ячеек памяти которого подключен к многоканальному выходу подачи значения количества слагаемых, являющемуся входом устройства, а многоканальный выход подключен к адресным входам мультиплексора и многоканального мультиплексора, входам второго многовходового логического элемента ИЛИ-НЕ; третий вычитающий счетчик, первый многоканальный вход параллельной записи значений ячеек памяти которого подключен к многоканальному выходу реверсного счетчика по настраиваемому модулю, второй вход подключен ко входу подачи тактовых импульсов, третий вход подачи сигнала записи подключен к выходу первого многовходового логического элемента ИЛИ-НЕ, а второй многоканальный выход подключен к третьему многовходовому логическому элементу ИЛИ-НЕ, выход которого подключен к четвертому входу сброса реверсного счетчика по настраиваемому модулю, входу подачи тактовых импульсов второго вычитающего счетчика и входу элемента задержки сигнала, выход которого подключен к входу подачи сигнала записи первого вычитающего счетчика; счетчик по настраиваемому модулю, первый многоканальный вход которого подключен к многоканальному входу подачи значения модуля k, второй вход подачи тактовых импульсов подключен к первому выходу последовательной выдачи тактовых импульсов третьего вычитающего счетчика, третий вход сброса подключен к выходу элемента задержки, вход которого подключен к выходу второго многовходового логического элемента ИЛИ-НЕ; выходной регистр, первый многоканальный вход которого подключен к многоканальному выходу счетчика по настраиваемому модулю, второй вход подачи сигнала записи подключен к выходу второго многовходового логического элемента ИЛИ-НЕ, а многоканальный выход подключен к многоканальному выходу выдачи значения суммы (разности) по модулю, являющемуся выходом устройства.This goal is achieved by the fact that in the device of addition (subtraction) of N numbers with a configurable module, including a memory register, a multiplexer, n blocks of memory for storing the values of terms are introduced, the multi-channel input of each of which is connected to the corresponding multi-channel input for supplying the value of the term, while n are multi-channel the inputs of the values of the terms are the inputs of the device n blocks of memory for storing the values of the signs of the terms, the input of each of which is connected to the corresponding input of the supply of the sign of the terms, in this case, the n inputs of the sign of the terms are the inputs of the device; a multichannel multiplexer, n multichannel information inputs of which are connected to the corresponding multichannel outputs of memory blocks for storing the values of the terms; a multiplexer, n information inputs of which are connected to the corresponding outputs of the memory blocks for storing the values of the signs of the terms; the first subtracting counter, the first multi-channel input of parallel recording of values of memory cells which is connected to the multi-channel output of the multi-channel multiplexer, the third input is connected to the input of the clock pulses, and the second multi-channel output is connected to the inputs of the first multi-input logic element OR-NOT, the second output of the serial output of clock pulses connected to the second input of the reverse counter by a custom module; the first multichannel input of the reverse counter via a tunable module is connected to the multichannel input of supplying the value of module k, which is the input of the device, and the third input of the setup of the forward and backward counters is connected to the output of the multiplexer; a second subtracting counter, the first multi-channel input of parallel recording of values of memory cells which is connected to the multi-channel output of the value of the number of terms, which is the input of the device, and the multi-channel output is connected to the address inputs of the multiplexer and multi-channel multiplexer, the inputs of the second multi-input logic element OR-NOT; a third subtracting counter, the first multi-channel input of parallel recording of values of memory cells which is connected to the multi-channel output of the reverse counter by a configurable module, the second input is connected to the input of the clock pulses, the third input of the write signal is connected to the output of the first multi-input logic element OR-NOT, and the second the multi-channel output is connected to the third multi-input logic element OR-NOT, the output of which is connected to the fourth input of the reset of the reverse counter by a customizable ulyu, entry feed clock counter of the second subtracter and delay element input signal, the output of which is connected to the input of a first subtracter supplying a counter write signal; a counter according to a tunable module, the first multi-channel input of which is connected to the multi-channel input of supplying the value of module k, the second input of supply of clock pulses is connected to the first output of the serial output of clock pulses of the third subtracting counter, the third reset input is connected to the output of the delay element, the input of which is connected to the output of the second a multi-input logic element OR NOT; an output register, the first multi-channel input of which is connected to the multi-channel output of the counter via a configurable module, the second input of the recording signal supply is connected to the output of the second multi-input logic element OR-NOT, and the multi-channel output is connected to the multi-channel output of the output of the sum (difference) value by the module, which is the output devices.

Структурная схема предлагаемого устройства представлена на Фиг. 1 и включает блоки памяти хранения значений слагаемых 1.1-1.n, блок памяти хранения значений знаков слагаемых 2.1-2.n, многоканальный мультиплексор 3, мультиплексор 4, первый вычитающий счетчик 5, первый многовходовый логический элемент ИЛИ-НЕ 6, второй вычитающий счетчик 7, второй многовходовый логический элемент ИЛИ-НЕ 8, реверсный счетчик по настраиваемому модулю 9, третий вычитающий счетчик 10, третий многовходовый логический элемент ИЛИ-НЕ 11, счетчик по настраиваемому модулю 12, элемент задержки сигнала 13, выходной регистр 14, многоканальный вход подачи значения модуля k 15, многоканальные входы подачи значений слагаемых 16.1-16.n, входы подачи знака слагаемых 17.1-17.n, многоканальный вход подачи значения количества слагаемых 18, вход подачи тактовых импульсов 19, многоканальный выход выдачи значения суммы (разности) по модулю 20.The block diagram of the proposed device is presented in FIG. 1 and includes memory blocks for storing the values of the terms 1.1-1.n, a memory block for storing the values of the signs of the terms 2.1-2.n, a multi-channel multiplexer 3, multiplexer 4, the first subtracting counter 5, the first multi-input logic element OR-NOT 6, the second subtracting counter 7, the second multi-input logic element OR-NOT 8, the reverse counter by custom module 9, the third subtracting counter 10, the third multi-input logic element OR-NOT 11, the counter by custom module 12, the delay element of the signal 13, output register 14, multi-channel input feed the value of the module k 15, multi-channel inputs of the values of the terms 16.1-16.n, inputs of the sign of the terms 17.1-17.n, multi-channel input of the values of the number of terms 18, input of the clock pulses 19, multi-channel output of the value of the sum (difference) module 20.

При этом реверсный счетчик по настраиваемому модулю 9, счетчик по настраиваемому модулю 12 могут быть выполнены на основе устройств [6, 7].In this case, the reverse counter for custom module 9, the counter for custom module 12 can be performed on the basis of devices [6, 7].

В статическом виде элементы предлагаемого устройства взаимосвязаны следующим образом (фиг. 1): многоканальные входы подачи значений слагаемых 16.1-16.n, являющиеся входами устройства, подключены к соответствующим многоканальным входам блоков памяти хранения значений слагаемых 1.1-1.n; входы подачи знака слагаемых 17.1-17.n, являющиеся входами устройства, подключены к соответствующим входам блоков памяти хранения значений знаков слагаемых 2.1-2.n; n многоканальных информационных входов многоканального мультиплексора 3 подключены к соответствующим многоканальным выходам блоков памяти хранения значений слагаемых 1.1-1.n; n информационных входов мультиплексора 4 подключены к соответствующим выходам блоков памяти хранения значений знаков слагаемых 2.1-2.n; первый многоканальный вход параллельной записи значений ячеек памяти первого вычитающего счетчика 5 подключен к многоканальному выходу многоканального мультиплексора 3, третий вход первого вычитающего счетчика 5 подключен ко входу подачи тактовых импульсов 19, а второй многоканальный выход подключен ко входам первого многовходового логического элемента ИЛИ-НЕ 6, второй выход последовательной выдачи тактовых импульсов первого вычитающего счетчика 5 подключен ко второму входу реверсного счетчика по настраиваемому модулю 9; первый многоканальный вход реверсного счетчика по настраиваемому модулю 9 подключен к многоканальному входу подачи значения модуля k 15, который является входом устройства, а третий вход настройки прямого и обратного счета реверсного счетчика по настраиваемому модулю 9 подключен к выходу мультиплексора 4; первый многоканальный вход параллельной записи значений ячеек памяти второго вычитающего счетчика 7 подключен к многоканальному выходу подачи значения количества слагаемых 18, являющемуся входом устройства, а многоканальный выход второго вычитающего счетчика 7 подключен к адресным входам мультиплексора 4 и многоканального мультиплексора 3, а также входам второго многовходового логического элемента ИЛИ-НЕ 8; первый многоканальный вход параллельной записи значений ячеек памяти третьего вычитающего счетчика 10 подключен к многоканальному выходу реверсного счетчика по настраиваемому модулю 9, второй вход третьего вычитающего счетчика 10 подключен ко входу подачи тактовых импульсов 19, третий вход подачи сигнала записи третьего вычитающего счетчика 10 подключен к выходу первого многовходового логического элемента ИЛИ-НЕ 6, а второй многоканальный выход третьего вычитающего счетчика 10 подключен к третьему многовходовому логическому элементу ИЛИ-НЕ 11, выход которого подключен к четвертому входу сброса реверсного счетчика по настраиваемому модулю 9, входу подачи тактовых импульсов второго вычитающего счетчика 7 и входу элемента задержки сигнала 13, выход которого подключен к второму входу подачи сигнала записи первого вычитающего счетчика 5; первый многоканальный вход счетчика по настраиваемому модулю 12 подключен к многоканальному входу подачи значения модуля k 15, второй вход подачи тактовых импульсов счетчика по настраиваемому модулю 12 подключен к первому выходу последовательной выдачи тактовых импульсов третьего вычитающего счетчика 10, третий вход сброса счетчика по настраиваемому модулю 12 подключен к выходу элемента задержки 13, вход которого подключен к выходу второго многовходового логического элемента ИЛИ-НЕ 8; первый многоканальный вход выходного регистра 14 подключен к многоканальному выходу счетчика по настраиваемому модулю 12, второй вход подачи сигнала записи выходного регистра 14 подключен к выходу второго многовходового логического элемента ИЛИ-НЕ 8, а многоканальный выход выходного регистра 14 подключен к многоканальному выходу выдачи значения суммы (разности) по модулю 20, являющемуся выходом устройства.In a static form, the elements of the proposed device are interconnected as follows (Fig. 1): multichannel inputs of the values of the terms 16.1-16.n, which are the inputs of the device, are connected to the corresponding multichannel inputs of the memory blocks for storing the values of the terms 1.1-1.n; inputs of the sign of the terms 17.1-17.n, which are inputs of the device, are connected to the corresponding inputs of the memory blocks for storing the values of the signs of the terms 2.1-2.n; n multichannel information inputs of a multichannel multiplexer 3 are connected to the corresponding multichannel outputs of memory blocks for storing the values of terms 1.1-1.n; n information inputs of the multiplexer 4 are connected to the corresponding outputs of the memory blocks for storing the values of the signs of the terms 2.1-2.n; the first multi-channel input of parallel recording of values of memory cells of the first subtracting counter 5 is connected to the multi-channel output of the multi-channel multiplexer 3, the third input of the first subtracting counter 5 is connected to the input of the clock pulses 19, and the second multi-channel output is connected to the inputs of the first multi-input logic element OR-NOT 6, the second output of the sequential issuance of clock pulses of the first subtracting counter 5 is connected to the second input of the reverse counter by a custom module 9; the first multi-channel input of the reverse counter for configurable module 9 is connected to the multi-channel input for supplying the value of module k 15, which is the input of the device, and the third input for setting up and down counting of the reverse counter for custom module 9 is connected to the output of multiplexer 4; the first multi-channel input of parallel recording of values of memory cells of the second subtracting counter 7 is connected to the multi-channel output supplying the value of the number of terms 18, which is the input of the device, and the multi-channel output of the second subtracting counter 7 is connected to the address inputs of the multiplexer 4 and multi-channel multiplexer 3, as well as the inputs of the second multi-input logic element OR NOT 8; the first multi-channel input for parallel recording of values of the memory cells of the third subtractive counter 10 is connected to the multi-channel output of the reverse counter according to the configurable module 9, the second input of the third subtractive counter 10 is connected to the input of the clock pulses 19, the third input of the write signal of the third subtractive counter 10 is connected to the output of the first multi-input logic element OR NOT 6, and the second multi-channel output of the third subtracting counter 10 is connected to the third multi-input logic element IL -NOT 11, whose output is connected to a fourth input of the counter reset by custom reverse unit 9, the input clock pulse supply of the second counter 7 and the subtracter input signal delay element 13, whose output is connected to the second input of recording signal feeding the first subtracter counter 5; the first multi-channel input of the counter for configurable module 12 is connected to the multi-channel input for supplying the value of module k 15, the second input of supply of clock pulses for the counter for custom module 12 is connected to the first output of the sequential output of clock pulses of the third subtracting counter 10, the third input for resetting the counter for custom module 12 is connected to the output of the delay element 13, the input of which is connected to the output of the second multi-input logic element OR-NOT 8; the first multi-channel input of the output register 14 is connected to the multi-channel output of the counter according to the tunable module 12, the second input of the write signal of the output register 14 is connected to the output of the second multi-input logic element OR-NOT 8, and the multi-channel output of the output register 14 is connected to the multi-channel output of the sum value ( difference) modulo 20, which is the output of the device.

Функционирование устройства осуществляется следующим образом. В момент времени, соответствующий началу работы устройства, с многоканальных входов подачи значений слагаемых 16.1-16.n, являющихся входами устройства, выполняется запись в соответствующие блоки памяти хранения значений слагаемых 1.1-1.n N слагаемых; со входов подачи знака слагаемых 17.1-17.n, являющихся входами устройства, выполняется запись в соответствующие блоки памяти хранения значений знаков слагаемых 2.1-2.n знаков N слагаемых (логический 0 соответствует знаку -, логическая 1 соответствует знаку +); с многоканального входа подачи значения количества слагаемых 18 во второй вычитающий счетчик 7 выполняется запись значения количества слагаемых N; с многоканального входа подачи значения модуля k подается значение модуля счета на реверсный счетчик по настраиваемому модулю 9 и счетчик по настраиваемому модулю 12; далее со второго вычитающего счетчика 7 на адресные входы многоканального мультиплексора 3 и мультиплексора 4 поступает комбинация, соответствующая выбору N-го слагаемого, и соответственно знака N-го слагаемого; далее значение N-го слагаемого записывается в первый вычитающий счетчик 5, а значение знака N-го слагаемого подается на третий вход реверсного счетчика по настраиваемому модулю 9 (логическая 1 соответствует прямому счету, логический 0 соответствует обратному счету); далее первый вычитающий счетчик 5 выполняет последовательный счет импульсов до обнуления, при этом передавая импульсы на второй вход подачи импульсов реверсного счетчика по настраиваемому модулю 9, который также выполняет счет импульсов; при обнулении первого вычитающего счетчика 5 с первого многовходового логического элемента ИЛИ-НЕ 6 поступает сигнал логической 1 на третий вход третьего вычитающего счетчика 10, в соответствии с которым выполняется запись содержимого реверсного счетчика по настраиваемому модулю 9 в третий вычитающий счетчик 10; далее третий вычитающий счетчик 10 выполняет последовательный счет импульсов до обнуления, при этом передавая импульсы на второй вход подачи импульсов счетчика по настраиваемому модулю 12, который также выполняет счет импульсов; при обнулении третьего вычитающего счетчика 10 с третьего многовходового логического элемента ИЛИ-НЕ 11 поступает сигнал логической 1 на четвертый вход сброса реверсного счетчика по настраиваемому модулю 9, соответствующий его обнулению, на вход подачи тактовых импульсов второго вычитающего счетчика 7, что соответствует одному отсчету, на вход элемента задержки сигнала 13 (выполняется задержка сигнала на время, необходимое для выбора N-1-го слагаемого, в соответствии с комбинацией выдаваемой после нового отсчета вторым вычитающим счетчиком 7 на адресные входы многоканального мультиплексора 3 и мультиплексора 4); далее значение сигнала логической 1 подается на вход записи первого вычитающего счетчика 5, который записывает значение N-1-го слагаемого, и значение знака N-1-го слагаемого подается на реверсный счетчик по настраиваемому модулю 9… таким образом, циклически осуществляется счет всех оставшихся слагаемых до обнуления второго вычитающего счетчика 7; при обнулении второго вычитающего счетчика 7 с выхода второго многовходового логического элемента ИЛИ-НЕ 8 подается сигнал логической 1 на вход записи выходного регистра 14, соответствующий записи содержимого счетчика по настраиваемому модулю 12, при этом значение суммы N слагаемых по модулю с многоканального выхода выходного регистра 14 подается на многоканальный выход выдачи значения суммы (разности) по модулю 20, также сигнал логической 1 с выхода второго многовходового элемента ИЛИ-НЕ 8 подается на вход элемента задержки сигнала 13 (выполняется задержка сигнала на время, необходимое для записи содержимого счетчика по настраиваемому модулю 12 в выходной регистр 14); далее с выхода элемента задержки сигнал 13 сигнал логической 1 подается на третий вход сброса счетчика по настраиваемому модулю 12.The operation of the device is as follows. At the time corresponding to the start of operation of the device, from the multi-channel inputs for supplying the values of the terms 16.1-16.n, which are the inputs of the device, the values of the terms 1.1-1.n N are stored in the corresponding memory blocks; from the input of the sign of the terms 17.1-17.n, which are the inputs of the device, the values of the signs of the terms 2.1-2.n of the characters N of the terms are written to the corresponding memory blocks (logical 0 corresponds to the sign -, logical 1 corresponds to the + sign); from the multi-channel input of supplying the value of the number of terms 18 to the second subtracting counter 7, the value of the number of terms N is recorded; from the multi-channel input of supplying the value of the module k, the value of the counting module is supplied to the reverse counter by the custom module 9 and the counter by the custom module 12; then, from the second subtracting counter 7, the combination corresponding to the choice of the Nth term and, accordingly, the sign of the Nth term is received at the address inputs of the multi-channel multiplexer 3 and multiplexer 4; Further, the value of the Nth term is written into the first subtracting counter 5, and the sign value of the Nth term is fed to the third input of the reverse counter according to custom module 9 (logical 1 corresponds to the direct count, logical 0 corresponds to the count down); Further, the first subtracting counter 5 performs a sequential pulse count until zeroing, while transmitting pulses to the second pulse input of the reverse counter via a custom module 9, which also performs pulse counting; when zeroing the first subtracting counter 5 from the first multi-input logic element OR-NOT 6, the signal 1 is fed to the third input of the third subtracting counter 10, in accordance with which the contents of the reverse counter are tuned by a custom module 9 to the third subtracting counter 10; Further, the third subtracting counter 10 performs a sequential pulse count until zero, while transmitting pulses to the second pulse input of the counter via a custom module 12, which also performs pulse counting; when zeroing the third subtracting counter 10 from the third multi-input logic element OR-NOT 11, a logical 1 signal is supplied to the fourth reset input of the reverse counter according to custom module 9, which corresponds to its zeroing, to the input of clock pulses of the second subtracting counter 7, which corresponds to one count, input of the signal delay element 13 (the signal is delayed for the time necessary to select the N-1st term, in accordance with the combination issued by the second subtracting counter after a new count 7 to the address inputs of the multi-channel multiplexer 3 and multiplexer 4); Further, the value of the logical 1 signal is fed to the recording input of the first subtracting counter 5, which records the value of the N-1st term, and the sign value of the N-1st term is fed to the reverse counter by the tunable module 9 ... thus, the remaining numbers are cyclically counted terms to zeroing the second subtracting counter 7; when zeroing the second subtracting counter 7 from the output of the second multi-input logical element OR-NOT 8, a logical 1 signal is sent to the input of the output register 14 corresponding to the recording of the contents of the counter using custom module 12, while the value of the sum of N terms modulo from the multi-channel output of the output register 14 fed to the multi-channel output of the value of the sum (difference) modulo 20, also a logical signal 1 from the output of the second multi-input element OR NOT 8 is fed to the input of the delay element of the signal 13 (executed etsya signal delay time required for recording by custom module 12 the contents of the counter in the output register 14); Further, from the output of the delay element, signal 13 is a logical 1 signal is supplied to the third counter reset input via custom module 12.

Таким образом, в отличие от известных технических решений, технический эффект предложенного устройства достигается путем введения реверсного счетчика по настраиваемому модулю, счетчика по модулю, вычитающих счетчиков, многоканального мультиплексора и новых связей между ними, обеспечивающих циклический подсчет количества бит слагаемых по заданному модулю без избыточных арифметических преобразований.Thus, in contrast to the known technical solutions, the technical effect of the proposed device is achieved by introducing a reverse counter modifiable module, counter modulo, subtracting counters, multi-channel multiplexer and new connections between them, providing a cyclic calculation of the number of bits of the terms of the given module without redundant arithmetic transformations.

Предложенное устройство может быть реализовано с использованием современной элементной базы программируемых логических интегральных схем фирм Altera и Xilinx.The proposed device can be implemented using a modern element base of programmable logic integrated circuits by Altera and Xilinx.

ЛитератураLiterature

1. RU 2156998, 02.02.1999 г.1. RU 2156998, 02.02.1999

2. RU 2188448, 15.11.2000 г.2. RU 2188448, 11/15/2000

3. RU 2183347, 24.03.2000 г.3. RU 2183347, 03.24.2000

4. RU 2018935, 30.08.1994 г.4. RU 2018935, 08/30/1994

5. RU 2500017, 05.06.2012 г.5. RU 2500017, 06/05/2012

6. RU 2179784, 07.04.2000 г.6. RU 2179784, 04/07/2000

7. RU 2273951, 10.12.2004 г.7. RU 2273951, 12/10/2004

Claims (1)

Устройство сложения (вычитания) N чисел с настраиваемым модулем, включающее регистры памяти, мультиплексор и отличающееся тем, что введены n блоков памяти хранения значений слагаемых, многоканальный вход каждого из которых подключен к соответствующему многоканальному входу подачи значения слагаемого, при этом n многоканальных входов подачи значений слагаемых являются входами устройства; n блоков памяти хранения значений знаков слагаемых, вход каждого из которых подключен к соответствующему входу подачи знака слагаемых, при этом n входов подачи знака слагаемых являются входами устройства; многоканальный мультиплексор, n многоканальных информационных входов которого подключены к соответствующим многоканальным выходам блоков памяти хранения значений слагаемых; мультиплексор, n информационных входов которого подключены к соответствующим выходам блоков памяти хранения значений знаков слагаемых; первый вычитающий счетчик, первый многоканальный вход параллельной записи значений ячеек памяти которого подключен к многоканальному выходу многоканального мультиплексора, третий вход подключен ко входу подачи тактовых импульсов, а второй многоканальный выход подключен ко входам первого многовходового логического элемента ИЛИ-НЕ, второй выход последовательной выдачи тактовых импульсов подключен ко второму входу реверсного счетчика по настраиваемому модулю; первый многоканальный вход реверсного счетчика по настраиваемому модулю подключен к многоканальному входу подачи значения модуля k, который является входом устройства, а третий вход настройки прямого и обратного счета подключен к выходу мультиплексора; второй вычитающий счетчик, первый многоканальный вход параллельной записи значений ячеек памяти которого подключен к многоканальному выходу подачи значения количества слагаемых, являющемуся входом устройства, а многоканальный выход подключен к адресным входам мультиплексора и многоканального мультиплексора, входам второго многовходового логического элемента ИЛИ-НЕ; третий вычитающий счетчик, первый многоканальный вход параллельной записи значений ячеек памяти которого подключен к многоканальному выходу реверсного счетчика по настраиваемому модулю, второй вход подключен ко входу подачи тактовых импульсов, третий вход подачи сигнала записи подключен к выходу первого многовходового логического элемента ИЛИ-НЕ, а второй многоканальный выход подключен к третьему многовходовому логическому элементу ИЛИ-НЕ, выход которого подключен к четвертому входу сброса реверсного счетчика по настраиваемому модулю, входу подачи тактовых импульсов второго вычитающего счетчика и входу элемента задержки сигнала, выход которого подключен к второму входу подачи сигнала записи первого вычитающего счетчика; счетчик по настраиваемому модулю, первый многоканальный вход которого подключен к многоканальному входу подачи значения модуля k, второй вход подачи тактовых импульсов подключен к первому выходу последовательной выдачи тактовых импульсов третьего вычитающего счетчика, третий вход сброса подключен к выходу элемента задержки, вход которого подключен к выходу второго многовходового логического элемента ИЛИ-НЕ; выходной регистр, первый многоканальный вход которого подключен к многоканальному выходу счетчика по настраиваемому модулю, второй вход подачи сигнала записи подключен к выходу второго многовходового логического элемента ИЛИ-НЕ, а многоканальный выход подключен к многоканальному выходу выдачи значения суммы (разности) по модулю, являющемуся выходом устройства.A device for adding (subtracting) N numbers with a configurable module, including memory registers, a multiplexer, and characterized in that n blocks of storage of values of terms are introduced, a multi-channel input of each of which is connected to the corresponding multi-channel input of supply of the value of the term, while n multi-channel inputs of supply of values terms are device inputs; n blocks of memory for storing the values of the signs of the terms, the input of each of which is connected to the corresponding input of the sign of the terms, while n inputs of the sign of the terms are the inputs of the device; a multichannel multiplexer, n multichannel information inputs of which are connected to the corresponding multichannel outputs of memory blocks for storing the values of the terms; a multiplexer, n information inputs of which are connected to the corresponding outputs of the memory blocks for storing the values of the signs of the terms; the first subtracting counter, the first multi-channel input of parallel recording of values of memory cells which is connected to the multi-channel output of the multi-channel multiplexer, the third input is connected to the input of the clock pulses, and the second multi-channel output is connected to the inputs of the first multi-input logic element OR-NOT, the second output of the serial output of clock pulses connected to the second input of the reverse counter by a custom module; the first multichannel input of the reverse counter via a tunable module is connected to the multichannel input of supplying the value of module k, which is the input of the device, and the third input of the setup of the forward and backward counters is connected to the output of the multiplexer; a second subtracting counter, the first multi-channel input of parallel recording of values of memory cells which is connected to the multi-channel output of the value of the number of terms, which is the input of the device, and the multi-channel output is connected to the address inputs of the multiplexer and multi-channel multiplexer, the inputs of the second multi-input logic element OR-NOT; a third subtracting counter, the first multi-channel input of parallel recording of values of memory cells which is connected to the multi-channel output of the reverse counter by a configurable module, the second input is connected to the input of the clock pulses, the third input of the write signal is connected to the output of the first multi-input logic element OR-NOT, and the second the multi-channel output is connected to the third multi-input logic element OR-NOT, the output of which is connected to the fourth input of the reset of the reverse counter by a customizable ulyu, entry feed clock counter of the second subtracter and delay element input signal, the output of which is connected to the second input of the subtractor supplying the first counter write signal; a counter according to a tunable module, the first multi-channel input of which is connected to the multi-channel input of supplying the value of module k, the second input of supply of clock pulses is connected to the first output of the serial output of clock pulses of the third subtracting counter, the third reset input is connected to the output of the delay element, the input of which is connected to the output of the second a multi-input logic element OR NOT; an output register, the first multi-channel input of which is connected to the multi-channel output of the counter via a configurable module, the second input of the recording signal supply is connected to the output of the second multi-input logic element OR-NOT, and the multi-channel output is connected to the multi-channel output of the output of the sum (difference) value by the module, which is the output devices.
RU2016139337A 2016-10-07 2016-10-07 Device for adding (subtracting) n numbers with adjustable module RU2637988C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2016139337A RU2637988C1 (en) 2016-10-07 2016-10-07 Device for adding (subtracting) n numbers with adjustable module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016139337A RU2637988C1 (en) 2016-10-07 2016-10-07 Device for adding (subtracting) n numbers with adjustable module

Publications (1)

Publication Number Publication Date
RU2637988C1 true RU2637988C1 (en) 2017-12-08

Family

ID=60581501

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016139337A RU2637988C1 (en) 2016-10-07 2016-10-07 Device for adding (subtracting) n numbers with adjustable module

Country Status (1)

Country Link
RU (1) RU2637988C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2748743C1 (en) * 2020-08-05 2021-05-31 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-воздушных сил "Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина" (г. Воронеж) Министерства обороны Российской Федерации Arithmetic device modulo m

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1315969A1 (en) * 1985-12-18 1987-06-07 Предприятие П/Я М-5339 Device for adding and subtracting the floating-point numbers
RU2231823C2 (en) * 2002-08-20 2004-06-27 Российский государственный открытый технический университет путей сообщения Device for checking modulo n positional adders
US7617269B2 (en) * 2004-08-03 2009-11-10 Stmicroelectronics Pvt. Ltd. Logic entity with two outputs for efficient adder and other macro implementations
RU2500017C1 (en) * 2012-06-05 2013-11-27 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Modulo adder-accumulator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1315969A1 (en) * 1985-12-18 1987-06-07 Предприятие П/Я М-5339 Device for adding and subtracting the floating-point numbers
RU2231823C2 (en) * 2002-08-20 2004-06-27 Российский государственный открытый технический университет путей сообщения Device for checking modulo n positional adders
US7617269B2 (en) * 2004-08-03 2009-11-10 Stmicroelectronics Pvt. Ltd. Logic entity with two outputs for efficient adder and other macro implementations
RU2500017C1 (en) * 2012-06-05 2013-11-27 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Modulo adder-accumulator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2748743C1 (en) * 2020-08-05 2021-05-31 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-воздушных сил "Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина" (г. Воронеж) Министерства обороны Российской Федерации Arithmetic device modulo m

Similar Documents

Publication Publication Date Title
EP0576262B1 (en) Apparatus for multiplying integers of many figures
US3515344A (en) Apparatus for accumulating the sum of a plurality of operands
WO2010034326A1 (en) State machine and generator for generating a description of a state machine feedback function
RU2500017C1 (en) Modulo adder-accumulator
RU2637988C1 (en) Device for adding (subtracting) n numbers with adjustable module
RU2696223C1 (en) Arithmetic logic unit for generating residual by arbitrary module from number
RU2653263C1 (en) Arithmetic-logic device for number module multiplication
RU2586574C1 (en) Polynomial modular computer systems of boolean functions with error detection
Piestrak Design of multi-residue generators using shared logic
US6725245B2 (en) High speed programmable counter architecture
US5258945A (en) Method and apparatus for generating multiples of BCD number
US3826901A (en) Time multiplexed rate multiplier
KR100480997B1 (en) APPARATUS OF FIELD MULTIPLICATION OVER GF(p) AND GF(2^m)
RU2661797C1 (en) Computing device
US3151238A (en) Devices for dividing binary number signals
US3798434A (en) Electronic device for quintupling a binary-coded decimal number
RU2785032C1 (en) Adder-accumulator for frequency synthesisers
RU2461867C1 (en) Reconfigurable computational conveyor
US3733475A (en) Digital pulse sequence divider
RU2754122C1 (en) High-speed accumulating adder modulo of arbitrary natural number
RU2628179C1 (en) Device for dividing modular numbers
SU1661759A1 (en) Device for polynomials modulo irreducible polynomials multiplication over finite gf (@@@) fields
RU2637488C1 (en) Logical calculator in residue nubmer system
RU2381547C2 (en) Device for adding binary codes
SU1035601A2 (en) Multiplication device

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20181008