Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано для построения средств аппаратурного контроля и цифровых устройств, работающих в системе остаточных классов. Устройство содержит три блока вычисления фундаментальных симметрических булевых функций, десять элементов ИЛИ, три одноразрядных двоичных сумматора, сумматор по модулю пять, N входов старших разрядов операндов, N входов средних разрядов операндов, N входов младших разрядов операндов и три выхода. На входы устройства поступают N трехразрядных двоичных полных операндов. На выходах формируется трехразрядный двоичный код результата сложения по модулю пять входных слов. Достоинством устройства является высокое быстродействие. 1 табл., 1 ил.
Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано для построения средств аппаратурного контроля и цифровых устройств, работающих в системе остаточных классов.
Известен сумматор по модулю три, содержащий шесть элементов И, два элемента ИЛИ, два элемента ИЛИ-НЕ и два элемента сложения по модулю два [1] .
Недостатком сумматора является невозможность сложения чисел по другим модулям, в частности по модулю пять.
Наиболее близким по функциональным возможностям и конструкции техническим решением к предлагаемому является сумматор по модулю пять, содержащий пятнадцать элементов И, восемь элементов ИЛИ, три элемента ИЛИ-НЕ, элемент И-НЕ и элемент ЗАПРЕТ [2].
Недостатком сумматора является невозможность сложения N > 2 операндов по модулю пять.
На чертеже представлена схема предлагаемого устройство для сложения N числа по модулю пять при N = 11.
Устройство содержит три блока 1, 2 и 3 вычисления фундаментальных симметрических булевых функций, десять элементов ИЛИ 4-13, три одноразрядных двоичных сумматора 14, 15 и 16, сумматор 17 по модулю пять, N = 11 входов 18
1. . . 18
11 старших разрядов операндов, N = 11 входов 19
1...19
11 средних разрядов операндов, N = 11 входов 20
1...20
11 младших разрядов операндов и три выхода 21, 22 и 23.
В устройстве j-й (j=

) вход i-го (i=

) блока вычисления фундаментальных симметрических булевых функций соединен с входом i-го разряда j-го операнда. Входы i-го элемента ИЛИ соединены с выходами первого блока 1 вычисления фундаментальных симметрических булевых функций, на котором реализуется фундаментальная симметрическая булева функция с порогом А (А находится из условия А = j при a
i = 1 и (4j)mod5 = 4a
1 + 2a
2 + a
3, a
i 
0,1}. Входы (i+3)-го элемента ИЛИ соединены с выходами второго блока 2 вычисления фундаментальных симметрических булевых функций, на котором реализуется фундаментальная симметрическая булевая функция с порогом В (В находится из условия B = j при b
i = 1 и (2j)mod5 = 4b
1+ 2b
2 + b
3, b
i 
{0,1}. Входы (i+6)-го элемента ИЛИ соединены с выходами третьего блока 3 вычисления фундаментальных симметрических булевых функций, на котором реализуется фундаментальная симметрическая булева функция с порогом С (С находится из условия C = j при c
i = 1 и jmod5 = 4c
1 + 2c
2 + c
3, c
i 
{0,1}. В k-м (k =(k=

)) одноразрядном двоичном сумматоре i-й вход соединен с выходом (i+3k-3)-го элемента ИЛИ. Выход суммы k-го одноразрядного двоичного сумматора соединен с первым входом k-го разряда сумматора 17 по модулю пять.
Выход переноса первого одноразрядного двоичного сумматора 14 соединен с вторым входом третьего разряда сумматора 17 по модулю пять и первым входом десятого элемента ИЛИ 13, второй вход которого соединен с выходом переноса третьего одноразрядного двоичного сумматора 16. Выход десятого элемента ИЛИ 13 соединен с вторым входом второго разряда сумматора 17 по модулю пять, второй вход первого разряда которого соединен с выходом переноса второго одноразрядного двоичного сумматора 15. Выход i-го разряда сумматора по модулю пять соединен с выходом i-го разряда устройства.
Устройство для сложения N чисел по модулю пять при N = 11 работает следующим образом.
На входы 18
1...18
11 устройства поступают старшие разряды х
1,1...х
11,1, на входы 19
1...19
11 - средние разряды х
1,2...х
11,2, на входы 20
1...20
11 - младшие разряды х
1,3...х
11,3 входных слов Х
1...Х
11. При этом Х
l = 4x
l,1 + 2x
l,2 + x
l,3,l=

. На выходах 21, 22 и 23 формируется трехразрядный двоичный код результата R = 4r
1 + 2r
2 + r
3сложения по модулю пять входных слов X
l, r
i 
{0,1}, i = i=

и R

{0, 1, 2, 3, 4}, причем на выходе 21 реализуется старший разряд r
1, на выходе 22 - средний разряд r
2, на выходе 23 - младший разряд r
3результата R.
Принцип работы предлагаемого устройства для сложения N чисел по модулю пять.
Пусть X
j = 4x
j,1 + 2x
j,2 + x
j,z,j=

- входные двоичные слова и Х

{ 0,1, ...,7}, x
i 
{0,1},i=

. Тогда результат сложения по модулю пять входных слов можно представить в виде R=

X
jmod5= 4r
1+2r
2+r
3= ((4P)mod5+(2S)mod5+Vmod5)mod5, (1) где P=

X
j,1, S=

X
j,2, V=

X
j,3 .
Обозначим (4P)mod5 = 4p
1 + 2p
2 + p
3, (2S)mod5 = 4s
1 + 2s
2 + s
3, Vmod5 = 4v
1 + 2v
2 + +v
3, p
i 
{0,1}, s
i 
{0,1}, v
i 
[0,1},i=

. Тогда P
i=

Ф
AN; (2) S
i=

F
BN; (3) V
i=

Q
CN; (4) где фундаментальные симметрические булевы функции Ф
NA, F
NB и Q
NCравны Ф
AN =

F
BN =

V
CN =

Пороги фундаментальных симметрических булевых функций в формулах (2) - (4) определяются следующим образом.
Порог А находится из условия A = j при ai = 1 и (4j)mod = 4a
1 + 2a
2+ a
3, a
i 
{0,1},j=

, i=

..
Порог В находится из условия B = j при b
i = 1 и (2j)mod5 = 4b
1 + 2b
2 + b
3, b
i 
{0,1},j=

, i=

.
Порог С находится из условия C = j при c
i = 1 и jmod5 = 4c
1 + 2c
2 + c
3, c
i 
{0,1},j=

, i=

.
Так, при N = 11 на выходах элементов ИЛИ 4-12 реализуются соответственно функции p
i, s
i и v
i,i=

: P
1=Ф
111
Ф
611
Ф
1111;
P
2=Ф
211
Ф
311
Ф
711
Ф
811;
P
3=Ф
211
Ф
411
Ф
711
Ф
911;
S
1=F
211
F
711;
S
2=F
111
F
411
F
611
F
911
F
1111;
S
3=F
311
F
411
F
811
F
911;
V
1=Q
411
Q
911;
V
2=Q
211
Q
311
Q
711
Q
811;
V
3=Q
111
Q
311
Q
611
Q
811
Q
1111.
В предлагаемом устройстве фундаментальные симметрические булевы функций Ф
NA, F
NB и Q
NC вычисляются соответственно первым 1, вторым 2 и третьим 3 блоками вычисления фундаментальных симметрических булевых функций. На выходах элементов ИЛИ 4-12 реализуются функции p
i, s
i и v
iсогласно выражениям (2) - (4). Сумма по модулю пять N входных слов формируется в соответствии с выражением (1) блоком сложения трех приведенных операндов: (4P)mod5 = 4p
1 + 2p
2 + p
3, (2S)mod5 = 4s1 + +2s
2+ s
3 и Vmod5 = 4v
1 + 2v
2 + v
3. Этот блок включает в себя три одноразрядных двоичных сумматора 14, 15 и 16, элемент ИЛИ 13 и сумматор 17 двух чисел по модулю пять. Рассмотрим работу устройства на примере сложения по модулю пять N = 11 чисел X
l = 4x
l,1 + 2x
l,2 + x
l,3,l=

:
Х
1 = 100, Х
2 = 110, Х
3 = 111, Х
4 = 011,
Х
5 = 101, Х
6 = 010, Х
7 = 110, Х
8 = 001,
Х
9 = 011, Х
10 = 101, Х
11 = 110.
Очевидно, на входы первого блока 1 вычисления фундаментальных симметрических булевых функций поступает вектор двоичных переменных (х
1,1, х
2,1.. . х
11,1) = (11101010011), на входы второго блока 2 вычисления фундаментальных симметрических булевых функций - вектор двоичных переменных (х
1,2, х
2,2. ..х
11,2) = (01110110101), на входы третьего блока 3 вычисления фундаментальных симметрических булевых функций - вектор двоичных переменных (х
1,3, х
2,3...х
11,3) = (00111001110).
Веса двоичных векторов равны соответственно
P =

X
l,1= 7, S =

X
l,2= 7, V =

X
l,3= 6. Следовательно, на выходе блока 1 формируется фундаментальная симметрическая булева функция Ф
117 = 1 (остальные функции равны нулю), на выходе блока 2 - функция F
117 = 1 (остальные функции равны нулю), на выходе блока 3 - функция Q
116 = 1 (остальные функции равны нулю).
Структуры блоков для вычисления фундаментальных симметрических булевых функций известны. Например, в устройстве по авт.св. СССР N 1589400, кл. H 03 M 7/22, 1988, реализация всех n+1 фундаментальных симметрических булевых функций n переменных осуществляется схемой, глубина которой равна 2t, где t - задержка на вентиль.
Работа блоков 1, 2 и 3 описывается таблицей.
Как следует из выражений (5) - (13), на выходах элементов ИЛИ 4-12 сигналы принимают значения
p
1 = 0, p
2 = 1, p
3 = 1, s
1 = 1, s
2 = 0, s
3 = 0, v
1 = 0, v
2 = 0, v
3= 1.
Таким образом, на входы блока сложения трех приведенных операндов поступают числа (4P)mod5 = 4p
1 + 2p
2 + p
3 = 011, (2S)mod5 = 4s
1 + 2s
2 + s
3 = 100 и Vmod5 = =4v
1 + 2v
2 + v
3 = 001.
На выходах блока, которые соединены соответственно с выходами устройства, формируется сумма трех операндов
((4P)mod5 + (2S)mod5 + Vmod5) mod5 = (011 + 100 + 001)mod5 = 011, которая и является результатом сложения N = 11 чисел по модулю пять.
Таким образом
R = (X
1 + X
2 +...+ X
11)mod5 = (100 + 110 +
+111 + 011 + 101 + 010 + 110 + 001 + 011+
+101 + 100)mod5 = 011.
Отметим, что сумматор 17 выполняет сложение по модулю пять двух полных операндов.
Достоинством заявляемого устройства является высокое быстродействие, определяемое малой глубиной схемы. Быстродействие предлагаемого устройства для сложения N чисел по модулю пять может быть рассчитано по формуле
T = t
FSM + 2t
ИЛИ + t
ОДС + t
SM5, где t
FSM, t
ИЛИ, t
ОДС, t
SM5 - соответственно быстродействие блока вычисления фундаментальных симметрических булевых функций, элемента ИЛИ, одноразрядного двоичного сумматора и сумматора по модулю пять.
Формула изобретения
УСТРОЙСТВО ДЛЯ СЛОЖЕНИЯ N ЧИСЕЛ ПО МОДУЛЮ ПЯТЬ, содержащее сумматор по модулю пять, выход i-го (i=

) разряда которого соединен с выходом i-го разряда устройства, отличающееся тем, что содержит десять элементов ИЛИ, три одноразрядных двоичных сумматора и три блока вычисления фундаментальных симметрических булевых функций, j-й (j=

) вход i-го из которых соединен с входом i-го разряда j-го операнда, входы i-го элемента ИЛИ соединены с выходами первого блока вычисления фундаментальных симметрических булевых функций, на котором реализуется фундаментальная симметрическая булевая функция с порогом A (A находится из условия: A = j при a
i = 1 и (4j) mod5 = 4 a
1+ 2a
2+ a
3, a
i
{ 0.1} , входы (i + 3)-го элемента ИЛИ соединены с выходами второго блока вычисления фундаментальных симметрических булевых функций, на котором реализуется фундаментальная симметрическая булевая функция с порогом B (B находится из условия: B = j при b
i = 1 и (2j)mod5 = 4 b
1+ 2b
2+ b
3, b
i
{ 0.1} ,входы (i+6)-го элемента ИЛИ соединены с выходами третьего блока вычисления фундаментальных симметричных булевых функций,на котором реализуется фундаментальная симметричная булевая функция с порогом С ( С находится из условия : C=j при с
i=1 и j mod 5 = 4c
1+2c
2+ c
3, c
i
{0.1}, i-й вход к-го (k=

) одноразрядного двоичного сумматора соединен с выходом (i+3k+3)-го элемента ИЛИ,выход суммы к-го одноразрядного двоичного сумматора соединен с первым входом к-го разряда сумматора по модулю пятьбвыход переноса первого одноразрядного двоичного сумматора соединен с вторым входом третьего разряда сумматора по модулю пять и первым входом десятого элемента ИЛИ, второй вход которого соединен с выходом переноса третьего одноразрядного двоичного сумматора,а выход соединен с вторым входом второго разряда сумматора по модулю пять,второй вход первого разряда которого соединен с выходом переноса второго одноразрядногодвоичного сумматора.
РИСУНКИ
Рисунок 1,
Рисунок 2