ПАРАМЕТРИЗУЕМЫЙ ОДНОТАКТНЫЙ УМНОЖИТЕЛЬ ДВОИЧНЫХ ЧИСЕЛ С ФИКСИРОВАННОЙ ТОЧКОЙ В ПРЯМОМ И ДОПОЛНИТЕЛЬНОМ КОДЕ

Полезная модель относится к области цифровой обработки сигналов, к структурам вычислительных блоков микропроцессоров, а конкретно к параметризуемым однотактным умножителям двоичных чисел с фиксированной точкой в прямом и дополнительном коде, и может быть использована для вычисления произведения чисел с фиксированной точкой в прямом и дополнительном коде.
Для решения задач цифровой обработки сигналов одной из ключевых операций является операция умножения. Наряду со сложением, это основная операция, необходимая для вычисления преобразований Фурье, фильтров и произведений матриц, что, в свою очередь, является основой решения задач коммуникации, обработки изображений и видео, а также сверточных нейронных сетей. Таким образом, производительность операций умножения является основой быстрого решения важнейших задач цифровой обработки сигналов. Это относится к умножению как чисел с плавающей точкой, так и с фиксированной. При этом быстрое и эффективное умножение чисел с фиксированной точкой наиболее важно, поскольку в основе умножения чисел с плавающей точкой лежит умножение их мантисс, которые являются числами с фиксированной точкой в прямом коде.
Традиционный подход к разработке однотактных умножителей чисел с фиксированной точкой подразумевает использование массива одноразрядных умножителей, вычисляющих частичные произведения множителей, а также массива одноразрядных полных сумматоров и полусумматоров, расположенных каскадами и вычисляющих суммы частичных произведений. При этом традиционная схема рассчитана на умножение чисел в прямом коде. В случае, если один или оба множителя представлены в дополнительном коде, требуется коррекции множителей и/или результата, замедляющие выполнение операции умножения.
Известен умножитель, описанный в патенте RU2422881 (C1), который основан на массиве одноразрядных полных сумматоров и полусумматоров. Данная структура обладает низкой задержкой переноса, кроме того в ней существует возможность параметризации для множителей различной разрядности.
Недостатком данного умножителя является не достаточная универсальность, вследствие наличия возможности умножения только чисел в прямом коде.
В патентах US5313414 (A) и US5351206 (A) приведены структуры умножителей, основанные на массиве одноразрядных полных сумматоров и полусумматоров. Данные структуры обладают низкой задержкой переноса. В них существует возможность параметризации для множителей различной разрядности.
Недостатком данных умножителей является не достаточная универсальность, вследствие наличия возможности умножения только чисел в дополнительном коде и то, что один из множителей является константой.
Наиболее близким к заявленной полезной модели является умножитель, описанный в патенте US5153850 (A), который позволяет умножать как числа в прямом коде, так и в дополнительном. Данный умножитель выбран в качестве прототипа заявленной полезной модели.
Недостатками умножителя прототипа являются большие размеры по площади и низкое быстродействие, вследствие отсутствия параметризации и наличия дополнительных сумматоров для преобразования произведения.
Техническим результатом полезной модели является создание параметризуемого однотактного умножителя двоичных чисел с фиксированной точкой в прямом и дополнительном коде, который обладает: повышенной универсальностью за счет того, что любой из множителей может быть представлен как в прямом, так и в дополнительном коде; улучшенной параметризуемостью, за счет возможности имплементации для множителей с любым количеством разрядов; меньшими размерами по площади и увеличенным быстродействием, за счет отсутствия дополнительных сумматоров для преобразования произведения и более простой топологии;  повышенной универсальностью, вследствие возможности вывода результата в двухрядном коде, что позволяет использовать частичные произведения для дальнейших вычислений без задержки переноса на сумматоре приведения.
Поставленный технический результат достигнут путем создания параметризуемого однотактного умножителя двоичных чисел с фиксированной точкой в прямом и дополнительном коде, содержащего соединенные между собой:
- массив одноразрядных умножителей [1], выполненных с возможностью формирования частичных одноразрядных произведений входных множителей;
- логические блоки XOR [2], выполненные с возможностью модифицирования множителей с учетом их типа, а также с возможностью приема входных сигналов (tcA) и (tcB)
- массив одноразрядных полных сумматоров [3] и полусумматоров [4], расположенных каскадами со сдвигом и соединенных с возможностью сформирования конечного произведения, представленного двухрядным кодом в виде двух частичных произведений.
В предпочтительном варианте осуществления умножителя входными данными умножителя являются:
n–1
n–2
1
0
n–1
- первый множитель (a), представленный битовым вектором a,a,...,a,a, где n – размер вектора (n ≥ 1),  a – старший (знаковый) бит;
m–1
m–2
1
0
m–1
- второй множитель (b), представленный битовым вектором b,b,...,b,b, где m – размер вектора (m ≥ 1),  b – старший (знаковый) бит;
A
- сигнал (tc), выполненный с возможностью определения типа первого множителя (a): 0 – прямой код, 1 – дополнительный код;
B
- сигнал (tc), выполненный с возможностью определения типа второго множителя (b): 0 – прямой код, 1 – дополнительный код;
выходными данными умножителя являются:
n+m–1
n+m–2
1
0
n+m–1
- первое частичное произведение (s) (сумма частичных произведений множителей), представленное битовым вектором s,s,...,s,s, где (n+m) – размер вектора,  s – старший (знаковый) бит;
n+m–1
n+m–2
1
0
n+m–1
- второе частичное произведение (p) (вектор переносов), представленное битовым вектором p,p,...,p,p, где (n+m) – размер вектора,  p – старший (знаковый) бит.
В предпочтительном варианте осуществления умножителя при n ≥ 4, m ≥ 4
- для любого из блоководноразрядного умножителя [1], логического блока XOR [2], одноразрядного полного сумматора [3] и полусумматора [4] порядок входов не влияет на выходной результат, то есть входы этих блоков можно менять местами;
-
A
n–1
A
сигнал (n) на выходе логического блока XOR [2], входы которого соединены со входами умножителя (a) и (tc);
-
B
m–1
B
сигнал (n) на выходе логического блока XOR [2], входы которого соединены со входами умножителя (b) и (tc);
-
массив одноразрядных полных сумматоров [3] и полусумматоров [4] содержит (m–2) каскадов, которые пронумерованы при помощи индекса (i), где (i = 0,1,...,m–3;
-
каскад одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 0) содержит (n) одноразрядных полных сумматоров [3] и полусумматоров [4], которые пронумерованы при помощи индекса (j), где (j = 0,1,...,n–1);
-
каждый каскад одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 1, ..., m–3) содержит (n–1) одноразрядных полных сумматоров [3] и полусумматоров [4], которые пронумерованы при помощи индекса (j), где (j = 1,...,n–1);
-
элементы каскада одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 0) являются (n–1) одноразрядных полных сумматоров [3] с индексами (j = 1,...,n–1) и один одноразрядный полусумматор [4] с индексом (j = 0);
-
элементами каскада одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 1,...,m–4), при условии (m > 4), являются (n–2) одноразрядных полных сумматоров [3] с индексами (j = 2,...,n–1) и один одноразрядный полусумматор [4] с индексом (j = 1);
- элементами каскада одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = m–3) являются (n–1) одноразрядных полных сумматоров [3] с индексами (j = 1,...,n–1);
-
0
выход умножителя (p) соединен с логическим нулем;
-
0
0
0
выход умножителя (s) соединен с выходом одноразрядного умножителя [1], входы которого соединены со входами умножителя (a) и (b);
-
1
выход умножителя (p) соединен с логическим нулем;
-
1
2
1
0
0
1
выходы умножителя (s) и (p) соединены с выходами (s) и (co) соответственно одноразрядного полусумматора [4] с индексами (i = 0, j = 0), входы (a) и (b) которого соединены с выходами одноразрядных умножителей [1], входы первого из которых соединены со входами умножителя (a) и (b), а входы второго со входами умножителя (a) и (b);
-
2
3
2
0
1
1
0
2
выходы умножителя (s) и (p) соединены с выходами (s) и (co) соответственно одноразрядного полного сумматора [3] с индексами (i = 0; j = 1), входы (a), (b) и (co) которого соединены с выходами одноразрядных умножителей [1], входы первого из которых соединены со входами умножителя (a) и (b), входы второго со входами умножителя (a) и (b), а входы третьего со входами умножителя (a) и (b);
-
k
k+1
выходы умножителя (s) и (p), где (k = 3,...,m–2), при условии (m > 4), соединены с выходами (s) и (co) соответственно одноразрядных полусумматоров [4] с индексами (i = k–2; j = 1) соответственно;
-
k
k+1
выходы умножителя (s) и (p), где (k = m–1,...,m+n–3), соединены с выходами (s) и (co) соответственно одноразрядных полных сумматоров [3] с индексами (i = m–3; j = k–m+2) соответственно;
-
m+n–2
n–1
m–1
A
B
выход умножителя (s) соединен с выходом логического блока XOR [2], вход (a) которого соединен с выходом одноразрядного умножителя [1], входы которого соединены со входами умножителя (a) и (b), и вход (b) которого соединен с выходом логического блока XOR [2], входы которого соединены с сигналами (n) и (n);
-
m+n–1
A
B
выход умножителя (p) соединен с выходом логического блока XOR [2], входы которого соединены с сигналами (n) и (n);
-
m+n–1
A
B
выход умножителя (s) соединен с выходом одноразрядного умножителя [1], входы которого соединены с сигналами (n) и (n);
j
i+1
A
- входы (a) одноразрядных полных сумматоров [3] с индексами (i = 0,...,m–3; j = n–1),  соединены с выходами логических блоков XOR [2], входы (a) которых соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно, и входы (b) которых соединены с сигналами (n);
-
входы (a) одноразрядных полных сумматоров [3] с индексами (i = 1,...,m–3; j = 2,...,n–2) соединены с выходами (s) одноразрядных полных сумматоров [3] с индексами (i–1; j+1) соответственно;
-
вход (a) одноразрядного полного сумматора [3] с индексами (i = m–3; j = 1) соединен с выходом (s) одноразрядного полного сумматора [3] с индексами (i–1; j+1);
-
входы (a) одноразрядных полусумматоров [4] с индексами (i = 1,...,m–4; j = 1), при условии (m > 4), соединены с выходами (s) одноразрядных полных сумматоров [3] с индексами (i–1; j+1).
Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими графическими материалами. Для лучшего понимания заявленной полезной модели далее приводится ее подробное описание с соответствующими графическими материалами.
Фиг. 1. Схема работы умножения двоичных чисел в прямом коде, известного из уровня техники.
Фиг. 2. Схема матричного умножителя для множителей размером 4 разряда, известного из уровня техники.
Фиг. 3. Обозначение и таблица истинности одноразрядного умножителя, известного из уровня техники.
Фиг. 4. Обозначение и таблица истинности логического блока XOR, известного из уровня техники.
Фиг. 5. Обозначение и таблица истинности одноразрядного полного сумматора, известного из уровня техники.
Фиг. 6. Обозначение и таблица истинности одноразрядного полусумматора, известного из уровня техники.
Фиг. 7. Схема параметризуемого однотактного умножителя двоичных чисел с фиксированной точкой в прямом и дополнительном коде для множителей размером 6 разрядов, выполненного согласно полезной модели.
Фиг. 8. Упрощенная схема параметризуемого однотактного умножителя двоичных чисел с фиксированной точкой в прямом и дополнительном коде для множителей размером 6 разрядов, выполненного согласно полезной модели, в которой графические обозначения одноразрядных умножителей и блоков XOR заменены логическими выражениями.
Рассмотрим более подробно функционирование заявленного параметризуемого однотактного умножителя двоичных чисел с фиксированной точкой в прямом и дополнительном коде (Фиг. 7 - 8).
Умножение многоразрядных двоичных чисел осуществляют аналогично умножению десятичных чисел: частичные произведения, полученные при поразрядном умножении цифр, составляющих каждое число, складывают с учетом веса и формируют итоговое произведение. На Фиг. 1 приведен пример умножения четырехразрядных двоичных чисел в прямом коде.
В основе заявленной полезной модели лежит традиционная структура двоичного матричного умножителя. Пример такой структуры для двух четырехразрядных множителей в прямом коде приведен на Фиг. 2. Данная структура состоит из массива одноразрядных умножителей, формирующих частичные произведения, и массива одноразрядных полных сумматоров и полусумматоров, соединенных таким образом, чтобы выполнять последовательное сложение частичных произведений для формирования итогового произведения. Достоинствами данной структуры являются масштабируемость, то есть такую структуру легко составить для множителей любого размера и легко параметризовать, и простота разводки при разработке топологии ИС, что положительно сказывается на площади и быстродействии устройства. Недостатком данной структуры является то, что она не позволяет выполнить умножение чисел в дополнительном коде. Заявленная полезная модели решает эту проблему с помощью введения коррекции частичных произведений, в которых участвуют старшие (знаковые) разряды множителей. Коррекцию осуществляют на основании флагов, указывающих на тип множителей (прямой или дополнительный код). При этом дополнительная задержка выполнения умножения отсутствует.
Аппаратной реализацией заявленной полезной модели является IP-блок параметризуемого однотактного умножителя двоичных чисел с фиксированной точкой в прямом и дополнительном коде. Схема заявленного умножителя (вариант для множителей размером 6 разрядов) приведена на Фиг. 7.
В состав заявленного умножителя входят:
-
одноразрядные умножители [1], формирующие частичные одноразрядные произведения входных множителей;
-
A
B
логические блоки XOR [2], модифицирующие множители с учетом их типа, который определяется входными сигналами (tc) и (tc);
-
массив одноразрядных полных сумматоров [3] и полусумматоров [4], расположенных каскадами со сдвигом и соединенных таким образом, чтобы сформировать конечное произведение, представленное двухрядным кодом (двумя частичными произведениями).
Входными данными умножителя являются:
n–1
n–2
1
0
n–1
- первый множитель (a),  представленный битовым вектором a,a,...,a,a, где n – размер вектора (n ≥ 1),  a – старший (знаковый) бит;
-
m–1
m–2
1
0
m–1
второй множитель (b), представленный битовым вектором b,b,...,b,b, где m – размер вектора (m ≥ 1),  b – старший (знаковый) бит;
-
A
сигнал (tc), определяющий тип первого множителя (a) (0 – прямой код, 1 – дополнительный код).
-
B
сигнал (tc), определяющий тип второго множителя (b) (0 – прямой код, 1 – дополнительный код).
Выходными данными умножителя являются:
n+m–1
n+m–2
1
0
n+m–1
- первое частичное произведение (s) (сумма частичных произведений множителей), представленное битовым вектором s,s,...,s,s, где (n+m) – размер вектора,  s – старший (знаковый) бит;
-
n+m–1
n+m–2
1
0
n+m–1
второе частичное произведение (p) (вектор переносов), представленное битовым вектором p,p,...,p,p, где (n+m) – размер вектора,  p – старший (знаковый) бит.
Рассмотрим вариант выполнения заявленного умножителя, в котором (n ≥ 4, m ≥ 4).
Варианты выполнения заявленного умножителя для случаев (n < 4) или (m < 4) не рассматриваются, однако могут быть осуществлены на основе формулы для случая (n ≥ 4, m ≥ 4).
Как следует из таблиц истинности одноразрядного умножителя [1], логического блока XOR [2], одноразрядного полного сумматора [3] и полусумматора [4], для любого из этих блоков порядок входов не влияет на выходной результат, то есть входы этих блоков можно менять местами.
A
n–1
A
Обозначим как сигнал (n) выход логического блока XOR [2], входы которого соединены со входами умножителя (a) и (tc).
B
m–1
B
Обозначим как сигнал (n) выход логического блока XOR [2], входы которого соединены со входами умножителя (b) и (tc).
Массив одноразрядных полных сумматоров [3] и полусумматоров [4] содержит (m–2) каскадов, которые пронумерованы при помощи индекса (i), где (i = 0,1,...,m–3).
Каскад одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 0) содержит (n) одноразрядных полных сумматоров [3] и полусумматоров [4], которые пронумерованы при помощи индекса (j), где (j = 0,1,...,n–1).
Каждый каскад одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 1,...,m–3) содержит (n–1) одноразрядных полных сумматоров [3] и полусумматоров [4], которые пронумерованы при помощи индекса (j), где (j = 1,...,n–1).
Элементами каскада одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 0) являются (n–1) одноразрядных полных сумматоров [3] с индексами (j = 1,...,n–1) и один одноразрядный полусумматор [4] с индексом (j = 0).
Элементами каскада одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = 1,...,m–4), при условии (m > 4), являются (n–2) одноразрядных полных сумматоров [3] с индексами (j = 2,...,n–1) и один одноразрядный полусумматор [4] с индексом (j = 1).
Элементами каскада одноразрядных полных сумматоров [3] и полусумматоров [4] с индексом (i = m–3) являются (n–1) одноразрядных полных сумматоров [3] с индексами (j = 1,...,n–1).
0
Выход умножителя (p) соединен с логическим нулем.
0
0
0
Выход умножителя (s) соединен с выходом одноразрядного умножителя [1], входы которого соединены со входами умножителя (a) и (b).
1
Выход умножителя (p) соединен с логическим нулем.
1
2
1
0
0
1
Выходы умножителя (s) и (p) соединены с выходами (s) и (co) соответственно одноразрядного полусумматора [4] с индексами (i = 0, j = 0), входы (a) и (b) которого соединены с выходами одноразрядных умножителей [1], входы первого из которых соединены со входами умножителя (a) и (b), а входы второго со входами умножителя (a) и (b).
2
3
2
0
1
1
0
2
Выходы умножителя (s) и (p) соединены с выходами (s) и (co) соответственно одноразрядного полного сумматора [3] с индексами (i = 0; j = 1), входы (a), (b) и (co) которого соединены с выходами одноразрядных умножителей [1], входы первого из которых соединены со входами умножителя (a) и (b), входы второго со входами умножителя (a) и (b), а входы третьего со входами умножителя (a) и (b).
k
k+1
Выходы умножителя (s) и (p), где (k = 3,...,m–2), при условии (m > 4), соединены с выходами (s) и (co) соответственно одноразрядных полусумматоров [4] с индексами (i = k–2; j = 1) соответственно.
k
k+1
Выходы умножителя (s) и (p), где (k = m–1,...,m+n–3), соединены с выходами (s) и (co) соответственно одноразрядных полных сумматоров [3] с индексами (i = m–3; j = k–m+2) соответственно.
m+n–2
n–1
m–1
A
B
Выход умножителя (s) соединен с выходом логического блока XOR [2], вход (a) которого соединен с выходом одноразрядного умножителя [1], входы которого соединены со входами умножителя (a) и (b), и вход (b) которого соединен с выходом логического блока XOR [2], входы которого соединены с сигналами (n) и (n).
m+n–1
A
B
Выход умножителя (p) соединен с выходом логического блока XOR [2], входы которого соединены с сигналами (n) и (n).
m+n–1
A
B
Выход умножителя (s) соединен с выходом одноразрядного умножителя [1], входы которого соединены с сигналами (n) и (n).
j
i+1
A
Входы (a) одноразрядных полных сумматоров [3] с индексами (i = 0,...,m–3; j = n–1),  соединены с выходами логических блоков XOR [2], входы (a) которых соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно, и входы (b) которых соединены с сигналами (n).
Входы (a) одноразрядных полных сумматоров [3] с индексами (i = 1,...,m–3; j = 2,...,n–2) соединены с выходами (s) одноразрядных полных сумматоров [3] с индексами (i–1; j+1) соответственно.
Вход (a) одноразрядного полного сумматора [3] с индексами (i = m–3; j = 1) соединен с выходом (s) одноразрядного полного сумматора [3] с индексами (i–1; j+1).
Входы (a) одноразрядных полусумматоров [4] с индексами (i = 1,...,m–4; j = 1), при условии (m > 4), соединены с выходами (s) одноразрядных полных сумматоров [3] с индексами (i–1; j+1) соответственно.
Входы (ci) одноразрядных полных сумматоров [3] с индексами (i = 1,...,m–3; j = 2,...,n–1) соединены с выходами (co) одноразрядных полных сумматоров [3] с индексами (i–1; j) соответственно.
A
B
Вход (ci) одноразрядного полного сумматора [3] с индексами (i = m–3; j = 1) соединен с выходом логического блока XOR [2], входы которого соединены с сигналами (n) и (n).
j–1
i+2
B
Входы (b) одноразрядных полных сумматоров [3] с индексами (i = m–3; j = 1,...,n–1),  соединены с выходами логических блоков XOR [2], входы (a) которых соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно, и входы (b) которых соединены с сигналами (n).
j–1
i+2
Входы (b) одноразрядных полных сумматоров [3] с индексами (i = 1,...,m–4; j = 2,...,n–1), при условии (m > 4), соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно.
j–1
i+2
Входы (b) одноразрядных полусумматоров [4] с индексами (i = 1,...,m–4; j = 1), при условии (m > 4), соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно.
A
B
Вход (ci) одноразрядного полного сумматора [3] с индексами (i = 0; j = n–1) соединен с выходом логического блока XOR [2], входы которого соединены с сигналами (n) и (n).
j+1
i
A
Вход (a) одноразрядного полного сумматора [3] с индексами (i = 0; j = n–2),  соединен с выходами логического блока XOR [2], вход (a) которого соединен с выходом одноразрядного умножителя [1], входы которого соединены со входами умножителя (a) и (b), и вход (b) которого соединен с сигналом (n).
j+1
i
Входы (a) одноразрядных полных сумматоров [3] с индексами (i = 0; j = 2,...,n–3), при условии (n > 4), соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно.
j–1
i+2
Входы (b) одноразрядных полных сумматоров [3] с индексами (i = 0; j = 2,...,n–1)  соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно.
j
i+1
Входы (ci) одноразрядных полных сумматоров [3] с индексами (i = 0; j = 2,...,n–2)  соединены с выходами одноразрядных умножителей [1], входы которых соединены со входами умножителя (a) и (b) соответственно.
n+m–1
n+m–2
1
0
n+m–1
Выходные данные умножителя, представленные первым частичным произведением (s) (сумма частичных произведений множителей) и вторым частичным произведением (p) (вектор переносов) могут быть преобразованы в итоговое произведение (x), представленное битовым вектором x,x,...,x,x, где (n+m) – размер вектора,  x – старший (знаковый) бит.
Для получения итогового произведения (x), необходимо подать выходные данные умножителя, представленные первым и вторым частичными произведениями, на входы (n+m)-разрядного полусумматора, называемого сумматором приведения.
Итоговое произведения (x) является выходом сумматора приведения.
Заявленный параметризуемый однотактный умножитель двоичных чисел с фиксированной точкой в прямом и дополнительном коде имеет следующие преимущества.
Обладает свойством универсальности за счет того, что любой из множителей может быть представлен как в прямом, так и в дополнительном коде.
Является параметризуемым за счет того, что может быть имплементирован для множителей с любым количеством разрядов.
Имеет меньшие размеры по площади по сравнению с не универсальными умножителями.
Обладает простотой разводки при реализации в качестве топологии интегральной микросхемы, что уменьшает его размеры по площади и увеличивает быстродействие.
Выдает результат в двухрядном коде, что позволяет использовать частичные произведения дальше без задержки переноса при формировании полного произведения.
Выдает полное произведение множителей, при наличии в нем дополнительного (n+m)-разрядного полусумматора, осуществляющего суммирование частичных произведений двухрядного кода.
Хотя описанный выше вариант выполнения заявленной полезной модели был изложен с целью иллюстрации заявленной полезной модели, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла заявленной полезной модели, раскрытой в прилагаемой формуле полезной модели.