ВЫЧИСЛИТЕЛЬ ВЕСА КОДА МНОГОРАЗРЯДНЫХ ДВОИЧНЫХ КОМБИНАЦИЙ

Полезная модель относится к области информационных технологий и может применяться в радиотехнических системах передачи дискретной информации, работающих с многоразрядными двоичными сигналами и вычислительной технике.
В качестве прототипа может служить устройство, изображенное на фиг. 1, состоящее из мультиплексора и сумматора, представленного в патенте на полезную модель РФ № RU 101603 от 26.10.2010 г.
k
Мультиплексор имеет n=2 входов, где n-разрядность кода, и один выход, на выходах мультиплексора на каждом тактовом интервале действует n-разрядная двоичная комбинация, количество единичных символов в которой подлежит вычислению в данном устройстве. С этой целью двоичные символы с n раз большей тактовой частотой и последовательным кодом передаются к выходу мультиплексора и поступают на вход сумматора, в качестве которого используется счетчик импульсов. Сумматор имеет k+1 выход, где формируется двоичное число, равное количеству единичных символов в кодовой комбинации, то есть весу кода.
Основным недостатком прототипа является его работа последовательным кодом, что требует в n раз большей тактовой частоты по сравнению с частотой появления отдельной кодовой комбинации на его входах. При передаче информации с очень большими скоростями и применении кодов с большой разрядностью из-за чрезмерно высоких величин тактовых частот построение вычислителя веса кода может стать проблематичным.
k
Предлагаемое устройство, как и прототип, имеет n=2 входов и k+1 выход и содержит исключительно элементы логического сложения по модулю два и элементы логического умножения. Далее в работе элемент логического умножения для простоты будет обозначен квадратом, имеющим символ «х», а логический элемент сложения по модулю два - квадратом, содержащим знак «+». Вычислитель веса кода с разрядностью, равной n, назовём его ВВК - n, состоит из двух вычислителей веса кода с разрядностью , назовём их ВВК - , а также дополнительного устройства, логические элементы которого обеспечивают суммирование результатов измерения каждого из ВВК -  в двоичной системе счисления. С этой целью выходы
старшего разряда ВВК - , соединяются с входами элемента логического сложения по модулю два, а выходы более младшего разряда ВВК - , с входами элемента логического умножения. Выходы этих двух логических элементов соединяются с входами элемента логического сложения по модулю два. Выход последнего образует выход старшего разряда ВВК - n.Выходы самого старшего разряда ВВК - , кроме того соединяются с входами элемента логического умножения, выход которого образует выход самого старшего разряда ВВК - n. Выходы самого младшего разряда ВВК - ,  кроме того соединяются с входами элемента логического сложения по модулю два. Выход этого логического элемента образует выход самого младшего разряда ВВК - n.
Технический результат состоит в существенном снижении тактовых частот, необходимых для работы вычислителя веса кода за счет его работы параллельным кодом.
Технический результат достигается путем использования в устройстве исключительно элементов логического сложения по модулю два и элементов логического умножения и решению задачи по определению веса кода не путем подсчета числа импульсов, а путем выполнения строго определенного числа описанных выше логических операций над кодовой комбинацией, вес которой подлежит вычислению.
Вычислитель веса кода с минимальной разрядностью n=2 будет состоять из одного элемента логического сложения по модулю два и одного элемента логического умножения (фиг. 2). Таблица истинности работы логических элементов показана в табл. 1. Входы логических элементов объединяются, а выход элемента логического сложения по модулю два образует выход вычислителя веса кода младшего разряда, обозначенного цифрой 1, а выход элемента логического умножения - выход вычислителя веса кода старшего разряда, обозначенного цифрой 2. Если входная комбинация содержит один единичный символ, независимо от его места в комбинации, единичный символ образуется на выходе 1, если оба символа комбинации являются единичными, то единичный символ образуется на выходе 2. В соответствии с логикой работы элементов одновременное появление единичных символов на обоих выходах исключается.
Схема вычислителя веса кода с разрядностью равной 4 показана на фиг. 3. Она содержит два вычислителя веса кода с разрядностью 2 и дополнительное устройство, также состоящее только из элементов логического сложения по модулю два и умножения. Запись алгоритма
работы четырехразрядного вычислителя веса кода (ВВК-4) может быть представлена в виде
Таким образом, в данном случае дополнительное устройство состоит из пяти логических элементов.
Схема восьмиразрядного вычислителя веса кода (ВВК-8) показана на фиг. 4. Она содержит два вычислителя веса кода ВВК-4 и дополнительное устройство, в котором задействовано 8 элементов логического сложения по модулю два и умножения. Запись алгоритма работы ВВК-8 имеет вид
Аналогичным образом строится вычислитель веса кода любой разрядности.
Результатом использования полезной модели является значительное снижение (в n раз) тактовой частоты по сравнению с прототипом, что имеет важное значение при работе с большими скоростями передачи информации и кодовыми комбинациями большой разрядности.
Общее количество логических элементов вычислителя веса кода можно определить по формуле
k
k-1
N=2N+3k-1,
k-1
в которой при k=1 принимается N=0.
k
Используя данную формулу, произведен расчет числа логических элементов, задействованных в схемах ВВК с разрядностями от 2 до 1024, а также показано отношение N к n при изменении значений параметра k от 1 до 10. Из табл. 2 видно, что с увеличением разрядности кода и параметра k общее число логических элементов возрастает вначале быстро, затем всё медленнее, но не может превысить разрядность кода более чем в 5 раз.