Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано для построения средств аппаратурного контроля и цифровых устройств, работающих в системе остаточных классов. Устройство содержит четыре блока вычисления фундаментальных симметрических булевых функций, двенадцать элементов ИЛИ, два сумматора по модулю пять, вычитатель по модулю пять, n-входов и три выхода. На входы устройства поступают разряды входного n-разрядного двоичного слова X. На выходах формируется трехразрядный двоичный код результата R = 4r1+2r9+rs свертки по модулю пять входного слова
и R ( 0, 1, 2, 3, 4 1 ил. 4 табл.
Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано для построения средств аппаратурного контроля и цифровых устройств, работающих в системе остаточных классов.
На чертеже представлена схема устройства для формирования остатка по модулю пять при разрядности входного двоичного слова, равной n 41.
Устройство содержит четыре блока вычисления фундаментальных симметрических булевых функций 1, 2, 3 и 4, двенадцать элементов ИЛИ 5-16, два сумматора по модулю пять 17 и 18, вычитатель по модулю пять 19, n 41 входов 20-60 и три выхода 61, 62 и 63.
В общем случае устройство для формирования остатка по модулю пять содержит два сумматора по модулю пять, вычитатель по модулю пять, двенадцать элементов ИЛИ и четыре блока вычисления фундаментальных симметрических булевых функций. При этом i-й вход (i

an/2[/2[, n-разрядность входного двоичного слова) первого блока вычисления фундаментальных симметрических булевых функций является входом (4i=3)-го разряда (начиная с младших разрядов) входного слова устройства, j-й вход (j

b []n/2[/2]) второго блока вычисления фундаментальных симметрических булевых функций является входом (4j-2)-го разряда входного слова устройства, k-й вход (k

c[n/2]/2[) третьего блока вычисления фундаментальных симметрических булевых функций является входом (4k-1)-го разряда входного слова устройства, l-й вход (l

d [[n/2] /2] ) четвертого блока вычисления фундаментальных симметрических булевых функций является входом 41-го разряда входного слова устройства. Входы m-го (m 1,3) элемента ИЛИ соединены с выходами функций с порогом A первого блока вычисления фундаментальных симметрических булевых функций (A i при l
m 1 и i mod 5 4l
1 + 2l
2 + l
3, l
m(-{0,1}). Входы (m+3)-го элемента ИЛИ соединены с выходами функций с порогом В второго блока вычисления фундаментальных симметрических булевых функций (B j при I
m 1 и (2j) mod 5 4I
1 + 2I
2 + I
3, I
m(-{ 0,1} ). Входы (m+6)-го элемента ИЛИ соединены с выходами функций с порогом С третьего блока вычисления фундаментальных симметрических булевых функций (С k при K
m 1 и k mod 5= 4K
1 + 2K
2 + K
3, K
m(-{0,1}). Входы (m+9)-го элемента ИЛИ соединены с выходами функций с порогом D четвертого блока вычисления фундаментальных симметрических булевых функций (D 1) при l
m 1 и (2l) mod 5= 4L
1 + 2L
2 + L
3, L
m(-{0,1}). Выход (m+3t-3)-го элемента ИЛИ (t 1,2) соединен с t-м входом m-го разряда первого сумматора по модулю пять. Выход (m+3t+3)-го элемента ИЛИ соединен с t-м входом m-го разряда второго сумматора по модулю пять. Выход m-го разряда t-го сумматора по модулю пять соединен с t-м входом m-го разряда вычитателя по модулю пять, выход m-го разряда которого является выходом m-го разряда устройства.
Устройство для формирования остатка по модулю пять при n 41 работает следующим образом.
На входы 20.60 устройства поступают соответственно разряды Х
1.Х
41 входного двоичного слова Х х
41х
40х
39.х
1, причем х
1 младший разряд. На выходах 61, 62 и 63 формируется трехразрядный двоичный код результата R 4r
1 + 2r
2 + r
3 свертки по модулю пять входного слова Х, r
m(-{0,1}), m

и R(-{0,1,2,3,4} ). Причем на выходе 61 реализуется старший разряд r
1, на выходе 62 средний разряд r
2, на выходе 63 младший разряд r
3 результата R.
Поясним принцип работы устройства для формирования остатка по модулю пять.
Пусть Х х
nx
n-1х
n-2..x
1 разрядное двоичное слово и х1 младший разряд. Тогда результат свертки по модулю пять входного слова можно представить в виде R X mod 5 4r
1 + 2r
2 + r
3 ((P mod 5 + (2S) mod 5) (V mod 5 + +(2W) mod 5)) mod 5, (1) где P

X

, S

X

, V

X

, W

X

an/2[/2[,b [][n/2[/2]), c[n/2]/2[), d [[n/2]/2]).
Обозначим: P mod 5 4
p1 + 2
P2 + p
3, (2S) mod 5 4s
1 + 2s
2 + S
3, V mod 5 4
V1 + +2
V2 + V
3, (2W) mod 5 4
W1 + 2
W2 + W
3, P
m(-{0,1}), +S
m(-{0,1}), V
m(-{ 0,1}), W
m(-{0,1}), m 1,3 P
m= V

Ф
A1 (2) S
m= V

F
Bb (3) V
m= V

Q
cc (4) W
m= V

Z
Dd (5) где фундаментальные симметрические булевы функции Ф
aA, F
bB, Q
cC и Z
dDопределяются следующим образом Ф
Aa

F
Bb

Q
Cc

Z
Dd

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

Порог В находится из условия:
B j при I
m 1 и (2j) mod 5 4I
1 + 2I
2 + I
3,
I
m(-{0,1}), j

Порог С находится из условия:
C при K
m 1 и k mod 5 4K
1 + 2K
2 + K
3,
K
m(-{0,1}), k

Порог D находится из условия:
D l при L
m 1 и (2l) mod 5 4L
1 + 2L
2 + L
3,
L
m(-{0,1}), l

Фундаментальные симметрические булевы функции Ф
aA, F
bB, Q
cC и Z
dDвычисляются соответственно первым 1, вторым 2, третьим 3 и четвертым 4 блоками вычисления фундаментальных симметрических булевых функций. На выходах элементов И 5-16 реализуются функции p
m, S
m, V
m и W
m согласно выражениям (2)-(5). Результат свертки по модулю пять входного слова формируется в соответствии с (1) сумматорами по модулю пять 17 и 18 и вычитателем по модулю пять 19.
Так, при n 41 на входы 19, 23, 59 первого блока вычисления фундаментальных симметрических булевых функций 1 поступают переменные х
41, х
37, х
1; на входы 20, 24, 56 второго блока вычисления фундаментальных симметрических булевых функций 2 поступают переменные х
38, х
34, х
2; на входы 21, 25, 57 третьего блока вычисления фундаментальных симметрических булевых функций 3 поступают переменные х
39, х
38, х
3; на входы 22, 26, 58 четвертого блока вычисления фундаментальных симметрических булевых функций 4 поступают переменные х
40, х
36, х
4.
При этом a /2/2 11, b /2/2) 10, c /2/2) 10, d /2/2) 10 и на выходах элементов ИЛИ 5-16 реализуются соответственно функции p
m, s
m, v
m и w
m, m

:
p
1= Ф
411
Ф
911 (6)
p
2= Ф
211
Ф
311
Ф
711
Ф
811 (7)
p
3= Ф
311
Ф
811
Ф
111
Ф
611
Ф
1111 (8)
S
1= F
210
F
710 (9)
S
2= F
110
F
410
F
610
F
910 (10)
S
3= F
410
F
910
F
310
F
810 (11)
V
1= Q
410
Q
910 (12)
V
2= Q
210
Q
310
Q
710
Q
810 (13)
V
3= Q
310
Q
810
Q
110
Q
610 (14)
W
1= Z
210
Z
710 (15)
W
2= Z
710
Z
410
Z
610
Z
910 (16)
W
3= Z
410
Z
910
Z
310
Z
810 (17)
На выходах 61, 62 и 63 вычитателя по модулю пять 19 формируется результат свертки по модулю пять 41-разрядного входного слова.
Рассмотрим работу устройства на примере формирования остатка по модулю пять при n 41 для входного слова
Х=10100001111011001101101101000011100010110.
Очевидно, на входы первого блока вычисления фундаментальных симметрических булевых функций 1 поступает вектор двоичных переменных Х
1= х
41х
37.х
1 10111100110, на входы второго блока вычисления фундаментальных симметрических булевых функций 2 вектор двоичных переменных Х
2 х
38х
34.х
2 0100110101, на входы третьего блока вычисления фундаментальных симметрических булевых функций 3 вектор двоичных переменных Х
3 х
39х
38.х
3 1010010101, на входы четвертого блока вычисления фундаментальных симметрических булевых функций 4 вектор двоичных переменных Х
4 х
40х
36.х
4 0011101000.
Веса двоичных векторов Х
1, Х
2, Х
3 и Х
4 равны соответственно
P

X

= 7; S

X

= 5; V

X

= 5; W

X

= 4 следовательно, на выходе блока 1 формируется фундаментальная симметрическая булева функция Ф
117 1 (остальные функции равны нулю), на выходе блока 4 функция Z
104 1 (остальные функции равны нулю). На всех выходах блоков 2 и 3 сигналы равны нулю, поскольку эти блоки не реализуют функций F
105 и Q
105, принимающих единичные значения соответственно при s 5 и v 5.
Тогда, как следует из (6)-(17), на выходах элементов ИЛИ 5-16 сигналы принимают значения:
p
1 0; p
2 1; p
3 0; s
1 0; s
2 0; s
3 0;
v
1 0; v
2 0; v
3 0; w
1 0; w
2 1; w
3 1.
Таким образом, на входы первого сумматора по модулю пять 17 поступают двоичные коды 010 и 000. На выходах сумматора 17 формируется код 010 (010 + 000) mod 5.
На входы второго сумматора по модулю пять 18 поступают двоичные коды 000 и 011. На выходах сумматора 18 формируется код 011 (000 + 011) mod 5.
На первых входах вычитателя по модулю пять 19 действует двоичный код 010, а на вторых входах двоичный код 011. На выходах вычитателя 19 формируется результат свертки по модулю пять входного слова 100 (010 011) mod 5.
Таким образом, X mod 5(10100001111011001101101101000011100010110) mod 5= 100.
Достоинством устройства для формирования остатка по модулю пять является высокое быстродействие, определяемое малой глубиной схемы.
Быстродействие устройства может быть рассчитано по формуле
Т t
FSM + t
ИЛИ + t
SM + t
SUB, где t
FSM, t
ИЛИ, t
SM, t
SUB соответственно быстродействие блока вычисления фундаментальных симметрических булевых функций, элемента ИЛИ, сумматора по модулю пять, вычитателя по модулю пять.
Формула изобретения
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОСТАТКА ПО МОДУЛЮ ПЯТЬ, содержащее первый сумматор по модулю пять, отличающееся тем, что оно содержит второй сумматор по модулю пять, вычитатель по модулю пять, двенадцать элементов ИЛИ и четыре блока вычисления фундаментальных симметрических булевых функций, i-й вход (i a; an/2 [/2[, n разрядность входного двоичного слова) первого из которых соединен с входом (4i 3)-го разряда (начиная с младших разрядов) входного слова, j-й вход

второго блока вычисления фундаментальных симметрических булевых функций соединен с входом (4j 2)-го разряда входного слова устройства, k-й вход

третьего блока вычисления фундаментальных симметрических булевых функций является входом (4K 1)-го разряда входного слова устройства, l-й вход

четвертого блока вычисления фундаментальных симметрических булевый функций соединен с входом 4l-го разряда входного слова устройства, входы m-го

элемента ИЛИ соединены с выходами функций с порогом A (где A i при l
m 1 и i mod 5 = 4l
1+2l
2+l
3, l
m({0,1}) первого блока вычисления фундаментальных симметрических булевых функций, входы (m + 3)-го элемента ИЛИ соединены с выходами функции с порогом B (где B j при J
m 1 и (2j) mod 5 = 4J
1+2J
2+J
3, I
m(-{0,1}) второго блока вычисления фундаментальных симметрических булевых функций, входы (m + 6)-го элемента ИЛИ соединены с выходами функции с порогом C (где C k при k
m 1 и k mod 5 = 4k
1+2k
2+k
3, k
m(-{0,1}) третьего блока вычисления фундаментальных симметрических булевых функций, входы (m + 9)-го элемента ИЛИ соединены с выходами функции с порогом D (где D l при l
m 1 и (2l)mod 5 = 4l
1+2l
2+l
3, l
m(-{0,1}) четвертого блока вычисления фундаментальных симметрических булевых функций, выход (m + 3t 3)-го элемента ИЛИ (t 1,2) соединен с t-м входом m-го разряда первого сумматора по модулю пять, выход (m + 3t + 3)-го элемента ИЛИ соединен с t-м входом m-го разряда второго сумматора по модулю пять, выход m-го разряда t-го сумматора по модулю пять с t-м входом m-го разряда вычитателя по модулю пять, выход m-го разряда которого является выходом m-го разряда устройства.
РИСУНКИ
Рисунок 1,
Рисунок 2,
Рисунок 3,
Рисунок 4