Взвешенные коды с суммированием с обнаружением любых монотонных ошибок в информационных векторах для задач технической диагностики

Проектирование и тестирование логических устройств

УДК 681.518.5:004.052.32

Д. В. Ефанов, д-р техн. наук

ООО «ЛокоТех-Сигнал»,

Кафедра «Автоматика, телемеханика и связь на железнодорожном транспорте», Российский университет транспорта

Вал. В. Сапожников, д-р техн. наук, Вл. В. Сапожников, д-р техн. наук, Т. Тэн,

А. В. Усанова

Кафедра «Автоматика и телемеханика на железных дорогах», Петербургский государственный университет путей сообщения Императора Александра I

А. В. Пашуков

Кафедра «Автоматика, телемеханика и связь на железнодорожном транспорте», Российский университет транспорта

ВЗВЕШЕННЫЕ КОДЫ С СУММИРОВАНИЕМ С ОБНАРУЖЕНИЕМ ЛЮБЫХ МОНОТОННЫХ ОШИБОК В ИНФОРМАЦИОННЫХ ВЕКТОРАХ ДЛЯ ЗАДАЧ ТЕХНИЧЕСКОЙ ДИАГНОСТИКИ

Исследуются особенности применения кодов с суммированием взвешенных информационных разрядов при организации систем технического диагностирования. Приводится краткий обзор использования классических и взвешенных кодов с суммированием для решения задач технической диагностики дискретных систем. Представлена классификация кодов с суммированием. Подробно анализируются характеристики обнаружения ошибок в информационных векторах взвешенными кодами с суммированием по видам (монотонные, симметричные и асимметричные) и кратностям. Доказано, что взвешенные коды с суммированием, при построении которых не используется операция вычета по заранее установленному модулю, обладают свойством идентификации любых монотонных искажений в информационных векторах. Кроме того, доказано, что взвешенные коды с суммированием не могут иметь равномерного распределения информационных векторов между всеми контрольными векторами, а значит, невозможно построение взвешенного кода с суммированием с теоретическим минимумом общего количества необнаруживаемых ошибок. Описан способ реализации генераторов взвешенных кодов с суммированием, основанный на использовании стандартных схем сумматоров и полусумматоров. Приводятся примеры реализации генераторов взвешенных кодов на мультиплексорах и устройствах программируемой логики класса CPLD. Проведены экспериментальные исследования взвешенных кодов с суммированием по организации систем функционального контроля на их основе. Проанализированы показатели обнаружения ошибок на выходах контролируемых схем, а также характеристики сложности технической реализации систем функционального контроля. Показаны преимущества и недостатки ис-

пользования взвешенных кодов с суммированием, проявляющиеся при организации систем функционального контроля.

техническая диагностика; дискретные системы; системы функционального контроля; коды с суммированием; код Бергера; взвешенный код с суммированием

Введение

Техническое диагностирование является одной из важнейших процедур, используемой для определения технического состояния узлов систем автоматического управления объектами как на транспорте, так и в промышленности [1-3]. Данная процедура, в общем, проводится в двух режимах:

1) при отключении объекта диагностирования от управляемых объектов (или в специально выделенном для этого интервале времени до использования объекта диагностирования в вычислительных процессах) и при подаче специальных проверяющих воздействий на его входы (тестовое диагностирование);

2) без отключения объекта диагностирования от управляемых объектов, когда рабочие воздействия одновременно являются диагностическими (рабочее, или функциональное, диагностирование). При этом, как правило, подается проверяющий тест, позволяющий установить, работоспособен или неработоспособен объект диагностирования. В случае фиксации нарушений в работе объекта диагностирования на его входы подается уже диагностический тест, позволяющий локализовать дефект [4, 5].

Одной из важнейших задач технической диагностики является разработка методов синтеза технических средств диагностирования в системах функционального контроля, а также методов синтеза тестов для блоков и компонентов систем [6-9]. Известен и широко распространен универсальный подход, основанный на дублировании (и даже троировании) объекта диагностирования и сравнении результатов вычислений [10-16]. Использование данного подхода позволяет идентифицировать любые неисправности, возникающие в объекте диагностирования, однако требует больших затрат на реализацию системы и ее эксплуатацию (например, на энергопотребление и на устройства отвода тепла) [17]. Во многих приложениях не требуется идентификация всего многообразия отказов, а их множество ограничивается (более того, многие из них описываются более простыми моделями неисправностей, например, моделью константных неисправностей) [18]. К примеру, для устройств железнодорожной автоматики и телемеханики одним из основных требований по надежности и безопасности является идентификация 100 % одиночных константных неисправностей [17]. Ориентируясь на конкретную модель неисправностей и ограничивая их множество, можно синтезировать системы функционального контроля, в которых технические средства диагностирования (схемы контроля) проще реализуются, а значит,

и менее затратны в эксплуатации. Такой подход возможен за счет использования при организации систем функционального контроля помехоустойчивых кодов с малой избыточностью (значительно меньшей, чем при дублировании) [19]. К таким кодам относятся известные классические и модифицированные коды с суммированием [20, 21].

Большой класс кодов образуют коды с суммированием, при построении которых отдельным разрядам информационного вектора приписываются весовые коэффициенты [22, 23]. Впервые принцип построения таких кодов предложен в фундаментальной работе [24] и исследовался применительно к задачам технической диагностики [25-28]. В данной работе изложены результаты комплексного исследования взвешенных кодов с суммированием по обнаружению ошибок на выходах объектов диагностирования в системах функционального контроля и представлены показатели структурной избыточности получаемых дискретных объектов автоматики и вычислительной техники.

1 Классические и взвешенные коды с суммированием

Классические коды с суммированием, или коды Бергера, предложены в 1961 г. и строятся следующим образом [24]. В информационном векторе подсчитывается число единичных разрядов (определяется вес г информационного вектора). Полученное число представляется в двоичном виде и записывается в разряды контрольного вектора. Для т-битного информационного вектора, таким образом, требуется к = |~1о§2 (т +1)"] контрольных разрядов, где запись [...] обозначает целое сверху от вычисляемого значения. Обозначим классический код с суммированием как 5(т,к)-код, где т и к -длины информационных и контрольных векторов.

Все информационные векторы с одинаковым весом в 5 (т, к)-коде имеют один и тот же контрольный вектор. Распределение всех информационных векторов между контрольными векторами оказывается неравномерным ввиду различного количества векторов с различным весом. Это определяет высокое общее количество необнаруживаемых 5 (т, к)-кодом ошибок. В [29] предложена формула подсчета общего количества необнаруживаемых 5 (т, к)-кодом ошибок:

где а - кратность необнаруживаемой ошибки (она может быть только четной для классических кодов с суммированием); верхний предел суммирования I = т при четном значении т и I = т -1 при нечетном значении т.

а

Nт,к = 1 2

а=2

Например, при m = 6 общее количество необнаруживаемых ошибок определяется величиной N6 3 = 860.

Ошибки, возникающие в информационных векторах, с позиции их использования в задачах технической диагностики дискретных систем принято классифицировать по четырем группам [30]. К первой группе относятся одиночные ошибки - ошибки, возникающие при искажении только одного разряда. Такие ошибки должны обнаруживаться помехоустойчивыми кодами. Вторую группу образуют монотонные ошибки, возникающие при искажении либо только нулевых, либо только единичных информационных разрядов. Одиночные ошибки могут также считаться монотонными однократными ошибками. Третья группа - симметричные ошибки. Они возникают при искажении равного количества нулевых и единичных информационных разрядов. Исходя из этого, симметричные ошибки могут иметь только четную кратность. Четвертая группа образована асимметричными ошибками, которые возникают при искажении неравного числа нулевых и единичных информационных разрядов. Асимметричные ошибки могут иметь кратности d > 3. При различных длинах информационных векторов соотношения между общим количеством ошибок различных видов различны.

5(т,^)-коды не обнаруживают 100 % симметричных ошибок в информационных векторах, тогда как все другие ошибки ими обнаруживаются. На этом свойстве классических кодов с суммированием основано большое количество методов синтеза контролепригодных дискретных систем [31-39].

В [40] доказано, что £(т,£)-коды обладают следующим интересным свойством. Доля необнаруживаемых ими ошибок конкретной четной кратностью от общего количества ошибок данной кратностью является постоянной величиной, не зависящей от длины информационного вектора:

d

Pd = 100% • 2-dCd,

например, Р2 = 50%, Р4 = 37,5%, Рб = 31,25%.

Формула (2) позволяет установить весьма важный недостаток S(m,k)-кодов. Данные коды имеют большое количество необнаруживаемых ошибок с малыми кратностями. Это обстоятельство оказывается значимым при проектировании дискретных систем, так как требует от разработчика внесения значительной избыточности в структуру объекта диагностирования при решении задач технической диагностики.

Важный для задач построения дискретных систем класс кодов образуют модульные коды с суммированием [41]. Они строятся следующим образом. Устанавливается модуль M - некоторое натуральное число из множества M е {2;3;...;т}. Подсчитывается вес r информационного вектора. Определяется наименьший неотрицательный вычет веса информационного вектора по заранее установленному модулю - число r (mod M). Полученное число

представляется в двоичном виде и записывается в разряды контрольного вектора. Модульные коды обозначим как 5М(т,к)-коды.

Число контрольных разрядов в 5М(т,к)-кодах определяется выбранным модулем и может принадлежать множеству к е {1;2;...;|~1о§2(т +1)]}. 5М(т,к)-коды хуже обнаруживают ошибки, чем классические коды с суммированием. Общее количество необнаруживаемых ошибок в 5М(т,к)-кодах определяется по формуле [42]:

N

д=М-1

т,к ^^ д=0

Л/

М

Г С

V У=0

}М+д т

М

Г с,

]М+д

-1

V У=0

]М + д < т.

например, для 54(6,2)-кода имеем 992 необнаруживаемые ошибки. Это число в 1,153 раза больше, чем количество необнаруживаемых ошибок в 5(6,3)-коде.

5М(т,к)-коды обладают следующими важными свойствами. Так же, как и 5(т,к)-кодами, ими не обнаруживаются любые симметричные ошибки в информационных векторах. Кроме того, не обнаруживаются монотонные ошиб-

т

М

ки с кратностями а = уМ, у = 1,2,...,р, р <

и асимметричные ошибки

с кратностями а = М + 2у, у = 1,2,...,р, а < т [43, 44].

5М(т,к)-коды, для которых при построении был выбран модуль из множества М е , являются наиболее эффективными с позиции обнаружения ошибок в сравнении со всеми модульными кодами с тем же значением к. Кроме того, функции, описывающие их контрольные разряды, совпадают с функциями, описывающими 1о§2 М младших разрядов контрольных векторов классических кодов с суммированием. Эта особенность говорит о том, что сложность контрольного оборудования в дискретных системах, построенных по модульным кодам с суммированием, будет меньшей, чем при использовании для этих целей классических кодов с суммированием [45].

Общий недостаток классических и модульных кодов с суммированием, заключающийся в большом количестве необнаруживаемых ошибок, в том числе с малыми кратностями, устраняется при использовании принципа взвешивания разрядов информационного вектора [24]. При построении взвешенного кода с суммированием, или WS(т,k)-кода, разрядам информационного вектора приписываются весовые коэффициенты в виде натуральных чисел, затем суммируются весовые коэффициенты единичных разрядов информационного вектора, а полученное число представляется в двоичном виде и записывается в разряды контрольного вектора.

В [24] при построении кода с суммированием предлагается использовать последовательность весовых коэффициентов из ряда возрастающих натуральных чисел за исключением степеней числа два. Такой WS(m,k)-код

обнаруживает любые однократные и двукратные ошибки в информационных векторах и может эффективно применяться при передаче и обработке данных. Однако в задачах синтеза дискретных систем такой код оказывается крайне неэффективным, поскольку имеет существенное количество контрольных разрядов, что влияет на аппаратурную избыточность - она оказывается сравнимой с дублированием данных или компонентов [28]. В [46] для построения кода с обнаружением пачек ошибок предложено выбирать группы весовых коэффициентов, образующих ряд возрастающих степеней числа 2. При этом размер группы весовых коэффициентов определяется кратностью обнаруживаемой пачки ошибок. Такой взвешенный код также имеет существенную избыточность и для задач синтеза дискретных систем оказывается неэффективным. В [25] при построении систем технического диагностирования предлагается выбирать произвольную последовательность весовых коэффициентов разрядов информационного вектора, что дает возможность влияния на структурную избыточность получаемой системы и на особенности обнаружения отказов в ней. Такой подход эффективен при условии того, что избыточность кода будет незначительной по сравнению с классическими кодами с суммированием единичных информационных разрядов.

Так же, как и при построении 5М(т,к)-кодов, при построении взвешенных кодов можно использовать вычеты по модулю М. Применение таких кодов при решении задач технической диагностики дискретных систем описано в [26].

Таким образом, коды с суммированием могут быть классифицированы так, как это показано на рис. 1.

Открытым остается вопрос, связанный с выбором последовательности весовых коэффициентов разрядов при обеспечении нескольких условий. Первое условие заключается в построении простых схем генераторов кодов. Второе - с обеспечением обнаружения максимального количества неисправ-

Рис. 1. Классификация кодов с суммированием

ностей при минимальной аппаратурной избыточности. Третье - с получением такого кода, который позволит решать задачу построения полностью самопроверяемых структур. Эти вопросы рассматриваются в следующих разделах статьи.

2 Характеристики обнаружения ошибок взвешенными кодами с суммированием

Рассмотрим особенности обнаружения ошибок Ж£(т,к)-кодами на случай их возникновения только в разрядах информационного вектора при безошибочности разрядов контрольного вектора. Такое предположение имеет смысл в том случае, если значения разрядов информационного и контрольного векторов вычисляются физически различными устройствами [29]. К ним относятся системы с надстраиваемыми техническими средствами диагностирования, например, системы встроенного контроля, системы функционального контроля [10].

С увеличением длины информационного вектора от величины 2Ч к величине 2Ч+1 -1 (ч е {2;3;...}) число разнообразных Ж5(т,к)-кодов уменьшается, так как уменьшается количество способов взвешивания информационных разрядов для удовлетворения условия сохранения числа контрольных разрядов к = |~1о§2(т +1) ] [22]:

т < Жтах <

где Жтах представляет собой максимальное значение веса информационного вектора, равное сумме всех весовых коэффициентов w. информационных разрядов.

Для установления характеристик обнаружения ошибок разделимыми кодами удобна табличная форма задания, предложенная в [29]. В такой форме все информационные векторы кода распределяются на контрольные группы, соответствующие всем контрольным векторам кода. По анализу переходов, возможных в каждой контрольной группе, определяется состав необнаружи-ваемых кодом ошибок, их кратности и виды.

Для определения общего количества необнаруживаемых кодом ошибок (величины Ыт к) может быть использован следующий подход. При подсчете количества необнаруживаемых ошибок в Ж5(т,к)-коде устанавливается, какое количество информационных векторов дает возможность получения того или иного суммарного веса информационного вектора. Для этого требуется подсчитать общее количество различных сумм весовых коэффициентов разрядов информационных векторов.

Рассмотрим процедуру подсчета на примере WS(4,3)-кода с последовательностью весовых коэффициентов [^4, = [1, 1, 2, 3].

Вес W = 0 может быть получен только для информационного вектора <0000>. Вес W = 1 получается путем использования векторов, у которых / = 1 или ^ = 1, а остальные разряды равны нулю. Число таких случаев определяется величиной С (число сочетаний из двух весовых коэффициентов по одному). Значение W = 2 может быть получено несколькими путями: либо суммируя весовые коэффициенты + (С^), либо используя весовой коэффициент (С/). Другими словами, существует С + С вариант получения W = 2. Аналогично для W=3 имеем случаи: + w2, w3 + w2 и w1. Число способов - это сумма С2 + С/ (число различных сумм единичных весовых коэффициентов и коэффициента, равного двум, плюс единственный способ использования коэффициента, равного трем). Для W = 4 имеем С + С (сумма w4 + w3 + w2 и два варианта суммирования двух коэффициентов - w4 + w1 и Wз + w1). Для W = 5 получаем С33 + С22. Для W = 6 - С,. Для W = 7 - С44. Полученные варианты сумм весовых коэффициентов дают возможность определения общего количества необнаруживаемых ошибок в коде путем подсчета суммы количества необнаруживаемых ошибок в каждой контрольной группе (табл. 1):

W -1

"шах * -

Nm,k = Г А2 ,

7=1 у

где Ар2 - количество размещений из ру по 2; ру - число вариантов образования веса W = у (число информационных векторов в у-й контрольной группе). Для рассматриваемого примера:

Nm,k =Г А у = А2 + ... + < = у=1

= А22 + А22 + А32 + А32 + А22 + А22 = 2 + 2 + 6 + 6 + 2 + 2 = 20.

Анализ характеристик обнаружения WS(m,k)-кодами ошибок в информационных векторах показывает, что они относятся к кодам с обнаружением любых монотонных ошибок в информационных векторах [22].

Теорема 1. WS(m,k)-коды обнаруживают любые монотонные ошибки в информационных векторах.

Доказательство. Предположим, что утверждение теоремы 1 неверно и в классе необнаруживаемых WS(m,k)-кодами присутствуют монотонные ошибки. Это означает, что хотя бы в одной контрольной группе такого кода есть информационные векторы, один из которых содержит как минимум на два единичных разряда больше, чем другой. Например, векторы

<т /т-1' ' ' ^/1+1 ' /1 и /т-1' ' ' / г 0/+1 0' ' ' /2 / 1 " Суммы весовЫх

коэффициентов таких векторов, поскольку они расположены в одной контрольной группе, должны совпадать. Но это невозможно, так как суммарный вес первого информационного вектора определяется числом

Щ = /т^т + /т-1^т-1 + ... + 1 ' ^ + 1 ' ^+1 + ... + /2Щ + , а суммарный вес второго информационного вектора - числом

™т-1 + ... + 0 • ^ + 0 • ^+1 + ... + /2+ .

Первый вектор должен иметь вес больший, чем второй, на величину щ + wi+1. Таким образом, взвешенные коды с суммированием будут обнаруживать любые монотонные ошибки.

Теорема доказана.

Для сравнительного анализа характеристик обнаружения ошибок различными кодами с суммированием используется ряд относительных показателей. Одним из них является доля необнаруживаемых кодом ошибок (величина Ит к) от общего количества ошибок в информационных векторах для данной длины информационного вектора (величина Ит) [29]:

Ут = 100% • .

т

Чем ниже значение показателя ут, тем эффективнее код обнаруживает ошибки в информационных векторах. Для рассматриваемого Ж$(4,3)-кода с последовательностью весовых коэффициентов [1,1,2,3] ут = 8,333 %. Для сравнения: у классического кода Бергера с аналогичной длиной информационного вектора ут= 22,5 %, что в 2,7 раза больше, чем у представленного взвешенного кода.

Еще одним показателем для кода с суммированием является так называемый коэффициент эффективности использования контрольных разрядов кодом [47]. Данный коэффициент показывает, насколько близко рассматриваемый код с суммированием находится к коду с минимальным общим количеством необнаруживаемых ошибок для конкретных значений т и к (таким кодом не обнаруживается И™к ошибок в информационных векторах):

ншш

$т,к = 100% • .

т ,к

Чем ближе коэффициент тк к 100 %, тем ближе рассматриваемый код к коду с минимальным значением общего числа необнаруживаемых ошибок.

Например, для WS (4,3)-кода с последовательностью весовых коэффициентов [1,1,2,3] величина ^k= 80 %.

Код с суммированием, для которого = 100 %, является оптимальным кодом по критерию минимума общего количества необнаруживаемых ошибок в информационных векторах для конкретных значений т и k. Оптимальный код должен иметь равномерное распределение всех информационных векторов между всеми контрольными векторами [47].

Теорема 2. Не существует оптимального взвешенного кода с суммированием.

Доказательство. Для того чтобы WS(m,k)-код являлся оптимальным, необходимо, чтобы в каждой из 2k контрольных групп присутствовало ровно по 2m-k информационных векторов. Но принцип построения кода дает возможность получения только одного контрольного вектора весом W = 0 и весом Wmax = w1 + w2 +... + wm_x + wm. Контрольные группы с этими номерами для любого взвешенного кода содержат только по одному информационному вектору. В остальных контрольных группах WS(m,k)-кода либо нет информационных векторов вообще, либо присутствуют два информационных вектора и более. Такой код не может быть оптимальным.

Теорема доказана.

С использованием формулы (5) было подсчитано общее количество необ-наруживаемых ошибок во взвешенных кодах с суммированием с длинами информационных векторов т = 4 ^ 15, что позволило определить основные показатели обнаружения ошибок - ут и ^ . На рис. 2 и 3 представлены зависимости изменения величин указанных показателей для семейств WS(4,3)-и WS(8,4)-кодов. Данные коды являются только частными примерами, однако они показывают общие закономерности, присущие всем семействам взвешенных кодов, проявляющиеся при увеличении длин информационных векторов с различными сочетаниями взвешиваемых разрядов и значений весовых коэффициентов.

При значениях т = 2p, т е {2;3;...} строится максимальное количество взвешенных кодов с суммированием с таким же числом контрольных разрядов, как и у кода Бергера. Для всех других кодов с увеличением длины информационного вектора при постоянном значении числа контрольных разрядов сокращается число весовых последовательностей, позволяющих строить WS(m,k)-коды с k = |~log2(rn +1) ].

Проанализируем данные на рис. 2 и 3. При взвешивании одного разряда постепенно уменьшается количество необнаруживаемых кодом ошибок с увеличением значения весового коэффициента, достигая своего максимума при W = 2k -1.

max

При присвоении двум разрядам одинакового веса, начиная с w1 = w2 = 2 и заканчивая величинами w1 = 2k - т -1 и w2 = 2, также происходит постепенное уменьшение общего числа необнаруживаемых кодом ошибок. Причем

>

го н

о

О)

О)

тз

О)

о тз

о

а\ тз сг ю о 1-» оо

Он

о

£

и «

м к о я

3 =

Он

о ^ •в" в" И е

8 «

И

о ю к

в

о

Я (и X Я

1) <П &

к ю

0

ч и

1

о

с

90

80

70

60

50

40

30

20

10

я * *

Л И N

* * * * * * * /

У * * *

' —<

[1,1,1,1]

[1,1,1,2] [1,1,1,3] [1,1,1,4] [1,1,2,2]

Последовательность весовых коэффициентов

[1,1,2,3]

[1,2,2,2]

• ут = £т,к

Рис. 2. Показатели обнаружения общего количества ошибок Ж5*(4,3)-кодами в информационных векторах

о

ТО *

3 с

-О

о со а а: с то

3 то п

3 с "о о со а а: с то

Ьа О Го С С

то

п *

§ п

3 тз о

Сс п

3

со

р-о

Ц1

СЧ со^ ^ 00 С^ ГЛ V© г<ч ^ VI ЧО ^ гп чо ^ VI гл -ф с^ СЧ VI СЛ гл г^ г^ го ГП СЧ

.-Г *-£ -""Г гТ сч сТ с^Г с^Г сГ с^Г с^Г с^Г ^ гГ сч сТ оГ гп гл гп ^ <-<-Г гп гТ сТ сТ гТ го гч гл гТ гТ с{ со сТ гТ <4

<-Г >-Г ^Г .-Г ^Г ,-Г ,-Г ,-Г ,-Г ^Г >—Г 1—Г ,-Г ^-Г ,-Г ^Г ,-Г ,-Г гТ сч г4[ сч" гТ сч оТ гТ гТ го го гТ г4[ сТ гТ гч го сч~ сТ гТ гТ гТ сТ

^н ^н -Г ^Г ^Г -Г ^Г ^Г ^Г ^Г ^Г ^Г ^Г -Г ^Г ^Г -Г ^Г ^Г ^Г ^Г ^Г ^ ^-Г ^Г ^Г ^Г -Г ^Г ^Г -Г ^Г ^Г -Г ^Г ^Г -Г ^Г -Г ^Г (чГ «ч <ч

-Н ^-Г ^н -Г ^н ^н -н ^н -Г -Г ^н -Г -Г ^-Г -н ^н ^н -Г ^н ^н -Г ^н ^н -Г ^-Г ^н ^н ^н -Г ^н ^н -Г ^н ^н -н ^н ^н -н ^н -н ^н ^н -н (Ч

Последовательность весовых коэффициентов

^^^ут =♦= фп, к

Рис. 3. Показатели обнаружения общего количества ошибок Ж5*(8,4)-кодами в информационных векторах

при значении Жшах код с двумя взвешенными разрядами при w1 = 2к - т -1 и w2 = 2 обнаруживает большее количество ошибок, чем код с одним взвешенным разрядом при w1 = 2к - т. Затем, с присвоением двум разрядам веса w1 = w2 = 3 и дальнейшим увеличением значения веса w1 происходят улучшения характеристик. Вообще, в группе кодов с фиксированными значениями весовых коэффициентов при увеличении одного из них наблюдаются улучшения в обнаружении общего количества ошибок в информационных векторах Ж5(т,к)-кодов.

Кроме исследований свойств обнаружения Ж5(т,к)-кодами ошибок в целом, были проведены исследования характеристик обнаружения ошибок по видам и кратностям. Из формулировки теоремы 1 следует, что в классе необнаруживаемых Ж5(т,к)-кодами могут присутствовать только симметричные и асимметричные ошибки. При значении кратности а = 2 в классе необнаруживаемых присутствуют только симметричные ошибки; при а = 3 в классе необнаруживаемых присутствуют только асимметричные ошибки; при четных значениях а > 4 присутствуют как симметричные, так и асимметричные необнаруживаемые ошибки, и при нечетных значениях а > 5 присутствуют только асимметричные необнаруживаемые ошибки.

На рис. 4-7 показаны зависимости количества необнаруживаемых ошибок малых кратностей и различных видов в зависимости от последовательностей весовых коэффициентов для двух семейств Ж5(4,3)- и Ж5(8,4)-кодов. Представленные закономерности присущи и всем остальным взвешенным кодам при фиксированных значениях числа контрольных разрядов.

3 Синтез генераторов взвешенных кодов с суммированием

Поскольку при построении взвешенного кода используются операции суммирования, для реализации генераторов кодов целесообразно использовать стандартную элементную базу, включающую в себя полные сумматоры (ЕЛ), полусумматоры (НА) и четвертьсумматоры (ХОК). Последние, однако, при реализации генераторов кодов, для построения которых не используются вычеты по заранее установленному модулю, не потребуются. Структурные схемы наиболее простых реализаций сумматоров изображены на рис. 8 [2].

Сумматоры осуществляют сложение сигналов, поступающих на их входы, и на своих выходах формируют значения получаемых сумм в двоичном виде. Полный сумматор оперирует данными, поступающими на три входа, полусумматор и четвертьсумматор - на два входа. Выход 5 каждого устройства содержит сумму поступающих чисел в кольце вычетов по модулю два, а выход С предназначен для формирования сигнала переноса.

[1,1,1,1] [1,1Д,2] [1,1,1,3] [1,1,1,4] [1,1,2,2] [1,1,2,3] [1,2,2,2]

Последовательность коэффициентов

• <1=2 (сим) = ♦= ¿=3 (асим) Рис. 4. Показатели обнаружения двукратных и трехкратных ошибок Ж5*(4,3)-кодами

доли ошиоок малой кратности от оощего количества необнаруживаемых ошибок, %

1,1,1,1,1,1,1] 1,1,1,1,1,1,2]

1.1.1.1.1.1.3]

1.1.1.1.1.1.4]

1.1.1.1.1.1.5]

1.1.1.1.1.1.6]

1.1.1.1.1.1.7]

1.1.1.1.1.1.8] 1,1,1,1,1,2,2]

1.1.1.1.1.2.3]

1.1.1.1.1.2.4]

1.1.1.1.1.2.5]

1.1.1.1.1.2.6] 1,1,1,1,1,2,7]

1.1.1.1.1.3.3]

1.1.1.1.1.3.4]

1.1.1.1.1.3.5]

1.1.1.1.1.3.6]

1.1.1.1.1.4.4]

1.1.1.1.1.4.5] 1,1,1,1,2,2,2]

1.1.1.1.2.2.3]

1.1.1.1.2.2.4]

1.1.1.1.2.2.5]

1.1.1.1.2.2.6]

1.1.1.1.2.3.3]

1.1.1.1.2.3.4]

1.1.1.1.2.3.5] 1,1,1,1,2,4,4]

1.1.1.1.3.3.3]

1.1.1.1.3.3.4] 1,1,1,2,2,2,2]

1.1.1.2.2.2.3]

1.1.1.2.2.2.4]

1.1.1.2.2.2.5]

1.1.1.2.2.3.3]

1.1.1.2.2.3.4] 1,1,1,2,3,3,3] 1,1,2,2,2,2,2]

1.1.2.2.2.2.3]

1.1.2.2.2.2.4] 1,1,2,2,2,3,3] 1,2,2,2,2,2,2] 1,2,2,2,2,2,3] 2,2,2,2,2,2,2]

£ЭЗМЭр /оэ/бо/¡О }5Э} рио иб^Эд 05<7

>

го н

о

О)

О)

тз

О)

о тз

о

N т ^ п ю р>

оо сч^ -Н сч"

со

сч" сч"

ЧО Р^ СО ^ ЧЧ УО ^ ГЧ ГО -гГ «О УО СЛ ^ «Ч ^ ГО Г^ СОк СО тГ СО ГЧ СП тГ СО сЧк со

<ч~ сч] СЧ] СО со] го со] сч" сч" сч" сч" сч" со" СО СО СО СО сч] сч] сч] сч] со] со] со] сч] сч] сч] со] сч" сч" сч"

-н -н -н" -н" ^н ^н ^н ,-Г сч сч] сч] сч] сч] сч] сч] сч] сч] со со сч" сч" сч" сч" сч" сч" со" сч" сч" сч" сч" сч] сч] сч]

^ч" ^ч" ^ч" ^ч" т-Г >-Г >-Г >-Г >-Г >-Г >-Г >-Г >-Г >-Г >-Г >-Г >-Г ^ч" ^ч" сч] сч" сч" СЧ" СЧ" СЧ" СЧ" СЧ" СЧ" СЧ" СЧ" СЧ" СЧ" СЧ"

—Ч—Ч—Ч—Ч—Ч—Ч*—I*—I*—I*—I*—I*—I*—1^4^41—(1—II—1т—I т—(1—(1—I*-и*-ч —ч —ч —чсЧСЧСЧСЧСЧСЧСЧ

-н .-Г ^ч" ^ ,-Г ,-Г ,-Г ,-Г -ч" -ч" ,-Г ,-Г ,-Г ,-Г ,-Г ^-Г ^-Г ^ч" ^ч" ^ч" ^ ^ -ч] -Г ,-Г ,-Г ,-Г ,-Г ,-Г ,-Г ,-Г сч] сч] сч"

-Г -Н -н" -н" -н" -н" -н" -н" -н" -н" -н" -н" -Г -Г -Г -Г ^ -н" ,-Г ,н" ,н" ,н" ,н" ,н" -н" -н" -Г сч"

о

ТО *

3 с

О

0

СО

а

1

с то

3 то п

3 с "о о со а а: с то

Ьа О Го С С

то

п *

§ п

3

-О

о

Сс п

3

со

Последовательность коэффициентов

а\ тз сг ю о 1-» оо

•<1=4

<1=4

Рис. 7. Показатели обнаружения четырехкратных ошибок Ж5*(8,4)-кодами

о

Ц1

a)

6)

XOR

e)

a,\ a.2

a3

Рис. 8. Структурные схемы сумматоров

полных сум-

Анализ способов построения генераторов WS(m,£)-кодов показал, что наиболее эффективным является такой алгоритм:

1. Выполняется разложение весовых коэффициентов на суммы степеней числа 2.

2. Определяется количество чисел г-й степени числа 2 - числа N..

3. Устанавливается значение г = 0.

/.и - - N -1

4. Реализуется г-й каскад генератора, содержащий -

N. -1 ^ 2 -

маторов и —— (шоё2) полусумматоров.

5. Значение г увеличивается на единицу: г = г + 1.

6. Проверяется условие г = г . Если оно верно, то генератор построен, если нет - то реализуется следующий шаг.

7. Определяется число выходов переноса каждого сумматора г - 1 каскада - число NC 1.

8. Корректируется число N1: Ni = Ni + NC-1.

9. Повторяются операции 4-6.

Для примера на рис. 9 реализована структурная схема генератора WS (8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,1,3,3,4].

Для построения генераторов взвешенного кода по представленному выше алгоритму выполнено следующее разложение весовых коэффициентов: = 22; = = 21 + 20; = = = = = 20. Таким образом, количество различных степеней числа 2: N = 7; N = 2; ^ = 1. Для нулевого каскада генератора, осуществляющего суммирование разрядов с весами 20 , потребо-

валось

7 -1

= 3 полных сумматора и

7 -1

(mod2) = 0 полусумматоров.

Всего

= 3 сумматора. Для построения первого каскада генератора к числу

Л Я /з Л /5 /б Л1 Л% ля

g\ §2 gЗ £4

Рис. 9. Генератор WS(8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,1,3,3,4], реализованный на стандартных сумматорах

N = 2 следует прибавить число выходов переноса каждого из сумматоров первого каскада - число Мс = 3. Далее суммируются разряды с весами 21,

что требует

5 -1

= 2 полных сумматора и

5-1

V 2 ,

(шоё2) = 0 полусумматоров.

Всего

= 2 сумматора. Второй каскад генератора образован только одним

полным сумматором, так как числа И2 = 1 и = 2 и соответственно число

полных сумматоров

3 -1

= 1, а полусумматоров -

3 -1

V 2 ,

(шоё2) = 0,

Следует отметить, что при разложении весовых коэффициентов наиболее эффективным является разложение по максимальным степеням числа 2. Например, число 5 следует раскладывать так: 22 + 20 (а не так: 21 + 21 + 20).

Для оценки сложности полученной структуры может быть использовано количество стандартных функциональных элементов или количество входов внутренних логических элементов [18]. Наиболее удобной является оценка сложности реализации устройств в показателях сложности библиотеки стандартных функциональных элементов stdcell2_2.genlib [48, 49], что позволяет получить единственное относительное число, напрямую связанное с размерами занимаемой устройством площади на кристалле. В рассматриваемой библиотеке элементов сложность реализации полусумматора оценивается величиной Lha = 72 (двухвходовый элемент XOR и двухвходовый элемент AND), а полного сумматора - величиной LFA = 176 (два полусумматора и двухвходовый элемент OR). С учетом этих данных сложность технической реализации генератора Ж5(8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,1,3,3,4] определяется величиной Lws = 1056.

На рис. 10 представлены оценки сложности технической реализации генераторов всех Ж5(8,4)-кодов, причем коды расположены в последовательности возрастания числа Wmax, что позволяет судить о закономерностях в изменениях показателей сложности реализации. Следует отметить, что для 15 из 44 взвешенных кодов с суммированием (за исключением классического кода с суммированием) сложность реализации даже меньше, чем сложность реализации генератора 5(8,4)-кода по тому же методу. Кроме того, как показано выше, любым взвешенным кодом обнаруживается гораздо большее количество ошибок, чем £(т,А:)-кодом. С увеличением значения Wmax число необнаруживаемых ошибок уменьшается. При этом для каждого значения Wmax может быть выбрана последовательность весовых коэффициентов, дающая меньшую, по сравнению с £(т,£)-кодом, сложность реализации.

Для реализации генераторов WS(m,£)-кодов может быть использована и другая элементная база, например мультиплексоры [50]. Реализация устройств на мультиплексорах перспективна, поскольку данные устройства входят в состав логических блоков современных программируемых интегральных схем [51].

На рис. 11 представлены наиболее простые варианты реализации сумматоров на мультиплексорах с одним и двумя адресными входами.

Для реализации генератора взвешенного кода на мультиплексорах требуется сначала построить его на сумматорах по предложенному выше алгоритму, а затем осуществить замену каждого сумматора на стандартную его реализацию на мультиплексорах. На рис. 12 представлена реализация генератора WS(8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,1,3,3,4] на мультиплексорах.

Мультиплексоры - это, как отмечалось выше, основа широко распространенных в современной автоматике универсальных устройств реализации дискретных систем на программируемой логике. В числе первых таких

+......

*......

••»а!«

I:

г

^шгж ...........

4

1:

о о

О

о

о о

сч

о о

о о о

о о

С\

о о

00

и

<

й=

§ [£'£'е'?т'т

I [9'е'Т'1'1'1

§ [£'£'г'1'1'1 -е- [^'е'е'1'1'1 I4 [¿'ггггт

* [£'£'гТг'1 | [9'ГгТП

8 [е'г'г'гП'х а [еУГГт'т ё [р'тх'х § [е'Гг'ГГг | [»Уг'Гт'т й [Л'ГГП § \tttttz ^ | [8'ГГГт'т ^ д [е'с'е'х'х'х [еГГГт'т [е'е'г'г'т'т [¿'ГГГт'т [е'г'г'х'х'х [9'г'х'х'х'х

ьпчп \mttx [»УГГт'т [р'г??1'1 [г'г'г'г'г'г [£'£'ГГГТ [9Г х'х'х'х [ттгт

[9'Х'Х'Х'Х'Х

[£ГгП'1

ьтчч \tttttx [е'е'т'ГГт

[5'Х'Х'Х'Х'Х [£Г?\Т\

ьтпп

[г'гТгП

[£'1'Т'1'1'1

[»-'Гт'ГГт [ГГГт'т'т [е'т'т'т'т'т [г'г'ГГт'т [Гт'ГГт'т [т'т'т'т'т'т

-С-

о о

о

о о

'Сэ '1ГЭА 'ЧХЭОНЖОЯЭ

/1

/2

0

/2

/1

HA

0

/3

/1 /2

Рис. 11. Реализация сумматоров на мультиплексорах

устройств были программируемые логические матрицы. В настоящее время это программируемые логические интегральные схемы с различным количеством элементов и различной степенью интеграции [52]. По сложности реализации выделяют программируемые схемы PAL (Programmable Array Logic), CPLD (Complex Programmable Logic Device) и FPGA (Field-Programmable Gate Array). Рассмотрим реализацию генератора взвешенного кода на CPLD MAX II EPM240T100C4 [53].

CPLD состоит из матрицы макроячеек, в которой могут быть реализованы логические схемы. Блоки макроячеек объединены программируемой коммутационной матрицей с последующим выводом на входы и выходы самой схемы. Выбранная для реализации генератора схема выполнена по 0,18-мкм-технологии и содержит 240 ячеек (192 типовые эквивалентные макроячейки) и обеспечивает энергонезависимое хранение 8 Кбит данных. На данном устройстве возможна реализация относительно простых схем, в том числе комбинационной логики.

Для реализации генератора по представленному выше методу требуется изобразить схему в поле проектирования логики в системе автоматизированного проектирования QUARTUS (рис. 13). Альтернативным вариантом реализации является описание логики реализуемого устройства на языке проектирования VHDL или SystemVerilog [54, 55]. Остальные шаги выполняются в автоматизированном режиме. Результат проектирования отражается в виде матрицы (рис. 14).

На рис. 14 показано, какие входы микросхемы задействованы (их можно назначить вручную до процедуры записи устройства) и какие ячейки заняты для реализации логики, а также результат проектирования на CPLD

Рис. 12. Генератор Ж^(8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,1,3,3,4], реализованный на мультиплексорах

с реализованным генератором Ж5(8,4)-кода при последовательности весовых коэффициентов [1,1,1,1,1,3,3,4]. Для реализации потребовалось задействовать 14 входов из 80 (18 %) и 12 ячеек из 240 (5 %). Активизированная часть ячейки показана на рис. 15.

4 Экспериментальные исследования свойств обнаружения ошибок на выходах контрольных комбинационных схем

Для подтверждения основных установленных выше свойств WS(m,k)-кодов был проведен ряд экспериментов по оценке эффективности обнаружения ошибок на выходах контрольных комбинационных схем из набора

NJ О

О U1 00

(/> ф

тз

г-,

ф

3

сг ф

< о

о

IjO

j^n] Block Editor - D:/prcekt/:ummatr/:ummatr - summatr - [summatr.bdf] File Edit View Project Processing Tools Window Help

m RpT^I ^ ^ i^li H v- a hi O O

О X

Search altera.com

> С

г-,

о 3

£D г-,

о' о

in

тз о

: 1299,355 100% 00:00:40

11 Р о в Я S 0 О  Ш IF Щ w| vg 31-77 Л ф)1 РУС Щ ' 24.0J.201S *

о

ТО

1Л

<5'

а

3

Си

г?

1Л

О

*S

п" а_

а. то

S

«V то

1Л

Рис. 13. Схема генератора Ж5*(8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,1,3,3,4],

для реализации на СРЬБ МАХ II

NJ

О

сл ф тз

сг ф

< о

о ы

> с

c-t-

о 3 ai

.J Resource Property Editor - Dt/proekt/summatr/summatr - summatr File Edit View Tools Window Help

Search altera.com

И It

Ä «

*

Node Name 0 |summatr|inst&~0 LC_X2_Y3_N3

V LOGIC_CELL(s) /

Properties/Modes

Full Node Name

Location Strin

LС X2 Y3 N3

Sum LUT Mask

tion Mode

chronous Mode

ster Cascade Mode

Latch 1

m

normal

off

off

Sum Equation

A &

V LOGIC_CELL/

In put Port Nlam e Signal Nlam e DATAA I |5ummatr|inst2~Q DATAB |summatr|insi33~0

DATAC |summatr|inst5~0

DATAD I s u m matr| i n stl £M)

Inverted

False

Output Port Name

Signal Mame

^Disconnected>

<Disconnected>

fc-

0\ О

о

TO (л

<о'

а з

О.

г?

(л

О

IQ

о. то

S ri' то

(л

m тз о

Рис. 15. Структура логической ячейки

LGSyntK 89 в формате *.netblif (net-list), разработанного в университете Калифорнии (Berkeley, USA) [56]. Рассматривалась модель одиночных константных неисправностей на выходах внутренних логических элементов комбинационных схем.

В ходе моделирования поведения контрольных схем на выходы их внутренних логических элементов последовательно подавались одиночные константные неисправности, а затем фиксировались количество, вид и кратность ошибок, вызываемых неисправностями при каждой входной комбинации.

В указанном формате в списочной форме перечислены логические элементы внутренней структуры контрольной схемы, взаимозависимости между входами схемы и входами элементов, между входами и выходами элементов, а также между выходами элементов и выходами схемы. Схемы реализованы на одно-, двух-, трех- и четырехвходовых элементах ИЛИ-НЕ (в базисе NOR).

В табл. 1-3 приводятся результаты экспериментов для некоторых контрольных комбинационных схем. Таблицы 1 и 2 содержат данные для схем с числом выходов m < 8. В табл. 3 приведена детальная информация для схемы f51m, имеющей 8 выходов.

Анализируя результаты экспериментов, можно сделать следующие основные выводы. Преимущественным видом ошибок, которые возникают на выходах рассматриваемых комбинационных схем, являются ошибки с малыми кратностями d < 4. За счет того, что взвешенные коды с суммированием обнаруживают любые монотонные ошибки и по сравнению с кодами Бергера эффективнее обнаруживают двукратные симметричные ошибки, при использовании некоторых последовательностей весовых коэффициентов удается сократить общее количество необнаруживаемых на выходах схем ошибок. Для схем Ь1 и cmb с простыми структурами достигается 100 %-е обнаружение ошибок при некоторых последовательностях весовых коэффициентов.

Поскольку у схем с малым числом выходов (m < 8) в представленной выборке имеется малое количество асимметричных ошибок, применение взвешенных кодов позволило обнаружить любые асимметричные ошибки. Таким образом, для маловыходных схем использование WS(m,k)-кодов взамен S(m,k)-кодов во всех случаях взвешивания позволяет получить результаты не хуже и всегда может быть найден такой вариант взвешивания, при котором взвешенный код будет эффективнее классического.

Несколько иными оказываются результаты экспериментов с комбинационными схемами с числом выходов m > 8. В табл. 3 приведен пример для одной из них (результаты, однако, носят общий характер). По-прежнему Ж^^^-коды эффективнее обнаруживают двукратные ошибки, чем коды Бергера, что вносит существенный вклад в общее количество необнаруживаемых ошибок. Тем не менее появляется большее, чем у маловыходных схем, число

<a *

0 X 3

1 I о s

д s ю

s §

a

I

fl

-

0 fî

1

§

Й ч о X

3 м

ей

Д

И о ю д

Э

0

2 s

1

&

&

Д ю о

о д

M

о g

s

s &

д

о и

m

3

£

Й £

со «

«

я а

ч

ю «

Н

Необнаружи-ваемые симметричные ошибки кратностью d = 2 2 2 2 о 2 2 о 2 УО у© о о у© о у© у© оо 2 оо 2 у© оо ^ оо 2 у© оо 2 оо 2

Распределение необнаружи-ваемых ошибок по кратностям сп о о о о о о о о о о о о о о о о о о о о о о о 2 СП

2 2 2 2 о 2 2 о (N УО у© о о у© о у© 2 у© СП оо (N оо 2 у© оо ^ оо 2 у© оо 2 оо 2

Необнаруживаемых ошибок ч- и н * I Й м и с 2 2 2 о 2 2 о (N УО у© о о у© о у© у© оо (N оо 2 ^ у© оо ^ оо 2 ^ у© оо 2 оо 2

о е с в 2 2 2 о 2 2 2 УО у© у© о о у© о у© оо <N оо оо 2 оо 2 оо 2 ^ у© оо ^ оо 2 ^ у© оо 2 оо у©

гГ гГ 2 гГ 2 2 СП СП 2 гГ FT 2 FT 2 2 СО СП 2 FT FT 2 FT 2 2 СП СП 2

S

Схема л Ü о S N

г-I-

о

S «

0 X 3

1 I о К

а

cd И К ю

S §

в

х о

Ч

0 ^

1

§

X cd

4 О X

3 м

cd

И

И о ю К

Э

0

2

5

1

«

^

6

д ю о

о к м

0 Е-

1

s &

к

о и

m

3

£

Й £

со «

Рч

сч Л Я

а

£

н

Необна-ружи-ваемые асимметричные ошибки кратностью d = 3 о 0 2 9 0 0 6 9 0 0 1024 0 5184 0 0 2471 0 6 5

Распределение симметричных необна-руживаемых ошибок по кратностям о 0 0 0 0 0 0 0 0 0 3 8 3 0 0

(N 1920 1920 1920 1920 1920 10 368 10 112 10 112 10 112 10 368 7691 7621 7691 4 0 4 0

Распределение необнаруживаемых ошибок по кратностям о 0 0 0 6877 0 0 0 0 21 824 3 8 6 3 о G\

3 о 0 2 9 0 23 996 0 0 1024 0 79 680 0 0 3707 0 4 4 5

(N 1920 1920 1920 1920 37 886 10 368 10 112 10 112 10 112 132 096 7691 7621 12 347 4 0 2428

Необнаруживаемых ошибок асимметричных 0 0 2 9 0 0 6 9 0 0 1024 0 5184 0 0 2471 0 6 5

симметричных 1920 1920 1920 1920 1920 10 368 10 112 10 112 10 112 10 368 ZZLL 7629 ZZLL 4 о 4 о

всего 1920 1920 2112 1920 317331 10 368 10 112 11 136 10 112 1221312 ZZLL 7629 62 838 4 0 19 708

[11111] [11112] [11122] [11113] [11111] [11112] [11122] [11113] [111111] [111112] [1111111]

S in in 6 7

Схема cm162a cm163a 2 1d <N

Таблица 3. Результаты экспериментов по обнаружению ошибок на выходах схемы f51m

И Необнаруживаемых ошибок Распределение необнаружи-ваемых ошибок по кратностям Распределение симметричных необнаружива-емых ошибок по кратностям Необнару-живаемые асимметричные ошибки кратностью d = 3

всего сим-ме-трич-ных асим-ме-трич-ных 2 3 4 2 4

[11111111] 123 123 0 99 0 24 99 24 0

[11111112] 123 123 0 99 0 24 99 24 0

[11111122] 87 79 8 79 8 0 79 0 8

[11111222] 101 97 4 73 4 24 73 24 4

[11112222] 43 39 4 39 4 0 39 0 4

[11122222] 61 55 6 39 6 16 39 16 6

[11222222] 87 83 4 59 4 24 59 24 4

[12222222] 94 94 0 70 0 24 70 24 0

[11111113] 123 123 0 99 0 24 99 24 0

[11111123] 87 79 8 79 8 0 79 0 8

[11111223] 101 97 4 73 4 24 73 24 4

[11112223] 43 39 4 39 4 0 39 0 4

[11122223] 61 55 6 39 6 16 39 16 6

[11222223] 87 83 4 59 4 24 59 24 4

[11111133] 79 79 0 79 0 0 79 0 0

[11111233] 85 73 12 73 12 0 73 0 12

[11112233] 67 63 4 39 4 24 39 24 4

[11122233] 33 27 6 19 6 8 19 8 6

[11111333] 97 97 0 73 0 24 73 24 0

[11112333] 61 55 6 39 6 16 39 16 6

[11111114] 123 123 0 99 0 24 99 24 0

[11111124] 87 79 8 79 8 0 79 0 8

[11111224] 101 97 4 73 4 24 73 24 4

[11112224] 43 39 4 39 4 0 39 0 4

[11122224] 61 55 6 39 6 16 39 16 6

[11111134] 79 79 0 79 0 0 79 0 0

[11111234] 85 73 12 73 12 0 73 0 12

[11112234] 67 63 4 39 4 24 39 24 4

Окончание табл. 3

и Необнаруживаемых ошибок Распределение необнаружи-ваемых ошибок по кратностям Распределение симметричных необнаружива-емых ошибок по кратностям Необнару-живаемые асимметричные ошибки кратностью d = 3

всего сим-ме-трич-ных асим-ме-трич-ных 2 3 4 2 4

[11112334] 85 73 12 73 12 0 73 0 12

[11111144] 85 73 12 73 12 0 73 0 12

[11111244] 77 73 4 73 4 0 73 0 4

[11111115] 123 123 0 99 0 24 99 24 0

[11111125] 87 79 8 79 8 0 79 0 8

[11111225] 101 97 4 73 4 24 73 24 4

[11112225] 43 39 4 39 4 0 39 0 4

[11111135] 79 79 0 79 0 0 79 0 0

[11111235] 85 73 12 73 12 0 73 0 12

[11111145] 79 79 0 79 0 0 79 0 0

[11111116] 123 123 0 99 0 24 99 24 0

[11111126] 87 79 8 79 8 0 79 0 8

[11111226] 101 97 4 73 4 24 73 24 4

[11111136] 79 79 0 79 0 0 79 0 0

[11111117] 123 123 0 99 0 24 99 24 0

[11111127] 87 79 8 79 8 0 79 0 8

[11111118] 123 123 0 99 0 24 99 24 0

Всего ошибок 13264 123 86 857 92 30 99 24 81

асимметричных необнаруживаемых ошибок, которые вкупе с симметричными необнаруживаемыми ошибками несколько увеличивают общее их количество для каждого варианта взвешивания. За счет более эффективного обнаружения любых симметричных ошибок Ж£(т,к)-коды имеют общие характеристики обнаружения ошибок не хуже, чем у кодов Бергера.

Исходя из результатов экспериментов, можно сделать вывод о том, что применение взвешенных кодов с суммированием позволяет увеличить количество обнаруживаемых ошибок на выходах логических схем по сравнению с использованием кодов Бергера. При этом с учетом того, что могут быть

построены генераторы WS(m,k)-кодов, более простые, чем генераторы S(m,k)-кодов, может быть выбран такой вариант взвешивания, который даст также уменьшение структурной избыточности системы технического диагностирования.

5 Экспериментальные исследования характеристик структурой избыточности систем функционального контроля

Еще одной задачей, возникшей в ходе исследований WS(m,k)-кодов, была оценка показателей структурной избыточности систем функционального контроля по сравнению с традиционными методами контроля - дублированием и контролем по кодам Бергера. С этой целью были выбраны контрольные комбинационные схемы с небольшим числом выходов из набора MCNC Benchmarks (North Carolina, USA) [56].

Выбранные схемы описаны в формате *.pla, задающем в сжатой форме таблицу истинности устройства. С использованием программного модуля формирования блоков системы функционального контроля по кодам с суммированием были получены все элементы систем контроля выбранных комбинационных схем по соответствующим WS(m,k)-кодам со всеми возможными последовательностями весовых коэффициентов. При этом весовые коэффициенты из последовательностей ставились в соответствие разрядам информационного вектора, формируемого схемой, без перемешивания ее выходов (эта процедура значительно увеличила бы объем экспериментов и результатов, так как для практических реализаций при подаче всех входных воздействий на схемы информационные векторы, как правило, формируются не все, а часть из них - по нескольку раз).

В табл. 4 показаны результаты экспериментов по оценке показателей структурной избыточности систем функционального контроля, синтезированных на основе WS(m,k)-кодов для ряда контрольных комбинационных схем.

Для ряда контрольных комбинационных схем F(x) с использованием комплекса программ были получены все элементы систем функционального контроля, реализованных на основе WS(m,k)-кодов в формате *.pla. Затем, с использованием известного интерпретатора SIS [48, 49] и библиотеки функциональных элементов stdcell2_2.genlib, были определены условные показатели площади реализации устройств на кристалле. В состав системы функционального контроля входят объект диагностирования F(x), блок контрольной логики G(x), генератор кода G(f) и компаратор TRC [44, 45]. Исходя из этого, площадь системы диагностирования определяется по формуле

LCED = LF(x) + LG(x) + LG(f ) + 16k + 192 (k - ^

-

0

1

§

о -

о д

в

д о д я а

X

<а i-о Д о

¡3

о о д

ЕГ о

ю

со

д

5 Д о

д £

£

6

н

0 «

и

1

«

я о

о д м

0 Е-

1

«

5

6

« д

о и

СП

3

£

Й £

со «

РМ

Tf

«

я а

£ Л

н

ох £ 86,552 89,31 88,276 82,069 93,793 96,207 84,138 210,526 198,872 142,105 205,263 88,258 87,446 83,604 91,396 111,111 112,963 104,63 113,426 78,673 80,918 77,551 82,551 76,102 80,512 74,575 78,849

Площади систем функционального контроля, усл. ед. На основе дублирования 2320 2128 14784 1728 7840 20320 36688

а ед во о * д ^ о S £ 2008 2072 2048 1904 2176 2232 1952 4480 4232 3024 4368 13048 12928 12360 13512 1920 1952 1808 1960 6168 6344 6080 6472 15464 16360 27360 28928

Площади элементов систем функционального контроля, усл. ед. TRC 8 3 4 8 3 4 8 3 4 8 3 4 8 3 4 8 3 4 8 3

G(f) 8 6 m 0 2 3 6 2 4 8 2 9 3 0 4 4 4 8 0 0 6 6 5 6 2 3 4 2 7 6 0 0 6 6 5 6 2 3 4 2 7 6 0 0 6 6 5 6 2 3 4 2 7 6 0 0 6 6 5 6 2 3 4 2 7 6 1096 1096 1096 1096

3 О 8 6 3 0 8 2 51 8 4 4 2 51 0 2 5 6 9 4 2808 2504 1520 2624 5048 4872 4528 5440 8 4 4 4 2 4 4 0 5 6 41 1640 1760 1720 1872 4304 5200 8016 9584

3 0 8 0 4 6 6968 0 4 4 3496 2 3 6 9 17816

3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

S 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6

[1111] 2] [1122] [1222] [1113] [1123] 4] [11111] [11112] [11122] [11113] [11111] [11112] [11122] [11113] [11111] [11112] [11122] [11113] [11111] [11112] [11122] [11113] [111111] [111112] [111111] [111112]

Схема newtpla2 clpl t 43 newcwp root max512 max1024

где величины ЬР(х), Ь0^х) и ) характеризуют площади соответствующих блоков системы диагностирования; величина 16к соответствует площади, занимаемой каскадом инверторов, а 192 (к -1) - площади компаратора ТЯС в библиотеке в1ёсе112_2.§епНЪ.

Для оценки эффективности применения WS(m,k)-кода при организации системы функционального контроля было проведено сравнение полученных значений площадей со значением площади системы дублирования:

Ьи = 2Ьр

Был введен относительный показатель эффективности применения WS(m,k)-кода при организации системы диагностирования взамен дублирования:

ц = 100% .

Показатель ц характеризует долю площади системы функционального контроля, реализованной на основе WS

Полученные экспериментальные результаты по оценке свойств обнаружения ошибок Ж5*(т,к)-кодами и структурной избыточности реализуемых на их основе систем функционального контроля показывают их преимущества перед известными кодами Бергера.

Заключение

Взвешивание разрядов информационных векторов - эффективная процедура, предшествующая построению кода с суммированием. Она позволяет строить коды с суммированием, которые имеют меньшее общее количество необнаруживаемых ошибок, чем классические коды Бергера. При этом взвешенные коды с суммированием обладают ключевым свойством кодов Бергера, позволяющих применять их при построении контролепригодных дискретных систем, - ими обнаруживаются монотонные ошибки любых кратностей в ин-

формационных векторах. Ценой сохранения данного свойства кода с суммированием при уменьшенном общем количестве необнаруживаемых ошибок является присутствие в классе необнаруживаемых некоторой доли асимметричных ошибок. Взвешенные коды с суммированием также намного эффективнее обнаруживают симметричные ошибки в информационных векторах, чем коды Бергера. Аналогичное заключение можно сделать при сравнении характеристик обнаружения кодами с суммированием двукратных ошибок в информационных векторах. Такие ошибки по статистике являются наиболее частыми в дискретных устройствах [57].

Предложенный в статье метод синтеза генераторов взвешенных кодов с суммированием позволяет строить простые структуры данных устройств путем модульного соединения стандартных типовых элементов - сумматоров или мультиплексоров. Кроме того, предложенный метод позволяет реали-зовывать генераторы взвешенных кодов на современной программируемой элементной базе с малыми затратами аппаратных ресурсов.

Представленные в работе результаты экспериментальных исследований взвешенных кодов с суммированием по обнаружению ошибок на выходах контрольных комбинационных схем и по анализу структурной избыточности систем функционального контроля подтверждают основные теоретические предположения.

Учитывая развитие программируемой элементной базы и все большее внедрение реализованных на ней систем управления ответственными технологическими процессами во всех областях науки и техники, следует отметить, что использование методов синтеза контролепригодных дискретных устройств является неоспоримо важным. Применение взвешенных кодов с суммированием для этих целей представляется весьма эффективным.

Библиографический список

1. Ubar R. Design and Test Technology for Dependable Systems-on-Chip (Premier Reference Source) / R. Ubar, J. Raik, H.-T. Vierhaus. - Information Science Reference, Hershey - New York : IGI Global, 2011. - 578 p.

2. Рабочее диагностирование безопасных информационно-управляющих систем / А. В. Дрозд, В. С. Харченко, С. Г. Антощук, Ю. В. Дрозд, М. А. Дрозд, Ю. Ю. Сулима ; под ред. А. В. Дрозда и В. С. Харченко. - Харьков : Национальный аэрокосмический университет им. Н. Е. Жуковского (ХАИ), 2012. - 614 с.

3. Kharchenko V. Green IT Engineering : Concepts, Models, Complex Systems Architectures / V. Kharchenko, Yu. Kondratenko, J. Kacprzyk // Springer Book series «Studies in Systems, Decision and Control». - 2017. - Vol. 74. - 305 p.

4. Пархоменко П. П. Основы технической диагностики (оптимизация алгоритмов диагностирования, аппаратурные средства) / П. П. Пархоменко, Е. С. Согомо-нян. - М. : Энергоатомиздат, 1981. - 320 с.

5. Lala P. K. Principles of Modern Digital Design / P. K. Lala. - New-Jersey : John Wiley & Sons, 2007. - 436 p.

6. Согомонян Е. С. Самопроверяемые устройства и отказоустойчивые системы / Е. С. Согомонян, Е. В. Слабаков. - М. : Радио и связь, 1989. - 208 с.

7. Матросова А. Ю. Алгоритмические методы синтеза тестов / А. Ю. Матросова. -Томск : Изд-во ТГУ, 1990. - 206 с.

8. Сапожников Вал. В. Самопроверяемые дискретные устройства / Вал. В. Сапожников, Вл. В. Сапожников. - СПб. : Энергоатомиздат, 1992. - 224 с.

9. Микони С. В. Общие диагностические базы знаний вычислительных / С. В. Ми-кони. - СПб. : СПИИРАН, 1992. - 234 с.

10. Nicolaidis M. On-Line Testing for VLSI : State of the Art and Trends / M. Nicolaidis // Integration, the VLSI Journal. - 1998. - Vol. 26. - Issues 1-2. - Pp. 197-209.

11. Schiano L. Self-Checking Design, Implementation, and Measurement of a Controller for Track-Side Railway Systems / L. Schiano, C. Metra, D. Marino // IEEE Transactions on Instrumentation and Measurement. - 2003. - Vol. 52. - Issue 6. -Pp. 1722-1728.

12. Dobias R. FPGA Based Design of the Railway's Interlocking Equipments / R. Dobias, H. Kubatova // Euromicro Symposium on Digital System Design (DSD 2004), 31 Aug. - 3 Sept. 2004, Rennes, France. - Pp. 467-473.

13. Dobias R. Dependability Evaluation of Real Railway Interlocking Device / R. Dobias, J. Konarski, H. Kubatova // 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools, 3-5 September 2008, Parma, Italy. -Pp. 228-233.

14. Theeg G. Railway Signalling & Interlocking / G. Theeg, S. Vlasenko. - DW Media Group GmbH. - Eurailpress, Hamburg, 1st Edition, 2009. - 448 p.

15. Vit P. Fault Tolerant Duplex System with High Availability for Practical Applications / P. Vit, J. Borecky, M. Kohlik, H. Kubatova // 17th Euromicro Conference on Digital System Design, 27-29 August 2014, Verona, Italy. - Pp. 320-325.

16. Borecky J. Parity Driven Reconfigurable Duplex System / J. Borecky, M. Kohlik, H. Kubatova // Microprocessors and Microsystems. - 2017. - Vol. 52. - Pp. 251260.

17. Ефанов Д. В. Функциональный контроль и мониторинг устройств железнодорожной автоматики и телемеханики / Д. В. Ефанов. - СПб. : ФГБОУ ВО ПГУПС, 2016. - 171 с.

18. Сапожников Вал. В. Основы технической диагностики / Вал. В. Сапожников, Вл. В. Сапожников. - М. : Маршрут, 2004. - 316 с.

19. Fujiwara E. Code Design for Dependable Systems : Theory and Practical Applications / E. Fujiwara. - New jersey : John Wiley & Sons, 2006. - 720 p.

20. Piestrak S. J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes / S. J. Piestrak. - Wroclaw : Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. - 111 p.

21. Efanov D. Generalized Algorithm of Building Summation Codes for the Tasks of Technical Diagnostics of Discrete Systems / D. Efanov, Val. Sapozhnikov, Vl. Sapozhnikov // Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. - Pp. 365-371.

22. Сапожников Вал. В. Взвешенные коды с суммированием для организации контроля логических устройств / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов // Электронное моделирование. - 2014. - Т. 36. - № 1. - С. 59-80.

23. Сапожников Вал. В. Анализ свойств кодов с суммированием взвешенных информационных разрядов по обнаружению ошибок в системах функционального контроля логических устройств / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов // Известия Петербургского университета путей сообщения. -2015. - № 1. - С. 114-126.

24. Berger J. M. A Note on Error Detection Codes for Asymmetric Channels / J. M. Berger // Information and Control. - 1961. - Vol. 4. - Issue 1. - Pp. 68-73.

25. Das D. Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits / D. Das, N.A. Touba // Proceedings of the 17th IEEE VLSI Test Symposium, USA, CA, Dana Point, April 25-29, 1999. - Pp. 370-376.

26. Das D. Low Cost Concurrent Error Detection Based on Modulo Weight-Based Codes / D. Das, N.A. Touba, M. Seuring, M. Gossel // Proceedings of IEEE 6th International On-Line Testing Workshop (IOLTW), Spain, Palma de Mallorca, July 3-5, 2000. -Pp. 171-176.

27. Sapozhnikov Val. Combinational Circuits Checking on the Base of Sum Codes with One Weighted Data Bit / Val. Sapozhnikov, Vl. Sapozhnikov, D. Efanov, D. Nikitin // Proceedings of 12th IEEE East-West Design & Test Symposium (EWDTS'2014), Kyev, Ukraine, September 26-29, 2014. - Pp. 126-136.

28. Efanov D. Sum Code Formation with Minimum Total Number of Undetectable Errors in Data Vectors / D. Efanov, Val. Sapozhnikov, Vl. Sapozhnikov, D. Nikitin // Proceedings of 13th IEEE East-West Design & Test Symposium (EWDTS'2015), Batumi, Georgia, September 26-29, 2015. - Pp. 141-148.

29. Ефанов Д. В. О свойствах кода с суммированием в схемах функционального контроля / Д. В. Ефанов, Вал. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2010. - № 6. - С. 155-162.

30. Сапожников Вал. В. Классификация ошибок в информационных векторах систематических кодов / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов // Известия вузов. Приборостроение. - 2015. - Т. 58. - № 5. - С. 333-343.

31. Sogomonyan E. S. Design of Self-Testing and On-Line Fault Detection Combinational Circuits with Weakly Independent Outputs / E. S. Sogomonyan, M. Gössel // Journal of Electronic Testing : Theory and Applications. - 1993. - Vol. 4. - Issue 4. - Pp. 267281.

32. Busaba F. Y. Self-Checking Combinational Circuit Design for Single and Unidirectional Multibit Errors / F. Y. Busaba, P. K. Lala // Journal of Electronic Testing : Theory and Applications. - 1994. - Vol. 5. - Issue 1. - Pp. 19-28.

33. Saposhnikov Val. V. A New Design Method for Self-Checking Unidirectional Combinational Circuits / Val. V. Saposhnikov, A. Morosov, Vl. V. Saposhnikov, M. Göessel // Journal of Electronic Testing : Theory and Applications. - 1998. -Vol. 12. - Issue 1-2. - Pp. 41-53.

34. Morosow A. Self-Checking Combinational Circuits with Unidirectionally Independent Outputs / A. Morosow, Val. V. Sapozhnikov, Vl. V. Sapozhnikov, M. Goessel // VLSI Design. - 1998. - Vol. 5. - Issue 4. - Pp. 333-345.

35. Matrosova A. Yu. Self-Checking Synchronous FSM Network Design with Low Overhead / A. Yu. Matrosova, I. Levin, S. A. Ostanin // VLSI Design. - 2000. -Vol. 11. - Issue 1. - Pp. 47-58.

36. Goessel M. New Methods of Concurrent Checking : Edition 1 / M. Goessel, V. Ocheret-ny, E. Sogomonyan, D. Marienfeld. - Dordrecht : Springer Science+Business Media B. V., 2008. - 184 p.

37. Matrosova A. Pseudo-Exhaustive Testing of Sequential Circuits for Multiple Stuck-at Faults / A. Matrosova, E. Mitrofanov // Proceedings of 14th IEEE East-West Design & Test Symposium (EWDTS'2016), Yerevan, Armenia, October 14-17, 2016. -Pp. 533-536.

38. Ефанов Д. В. Условия обнаружения неисправности логического элемента в комбинационном устройстве при функциональном контроле на основе кода Бергера / Д. В. Ефанов, Вал. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2017. - № 5. - С. 152-165.

39. Ostanin S. Self-Checking Synchronous FSM Network Design for Path Delay Faults / S. Ostanin // Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. - Pp. 696-699.

40. Ефанов Д. В. Три теоремы о кодах Бергера в схемах встроенного контроля / Д. В. Ефанов // Информатика и системы управления - 2013. - № 1. -С. 77-86.

41. Das D. Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes / D. Das, N. A. Touba // Journal of Electronic Testing : Theory and Applications. - 1999. - Vol. 15. - Issue 1-2. - Pp. 145-155.

42. Ефанов Д. В. Применение модульных кодов с суммированием для построения систем функционального контроля комбинационных логических схем / Д. В. Ефанов, Вал. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2015. - № 10. - С. 152-169.

43. Sapozhnikov Val. Modular Sum Code in Building Testable Discrete Systems / Val. Sapozhnikov, Vl. Sapozhnikov, D. Efanov // Proceedings of 13th IEEE East-West Design & Test Symposium (EWDTS'2015), Batumi, Georgia, September 26-29, 2015. - Pp. 181-187.

44. Сапожников Вал. В. Модульные коды с суммированием в системах функционального контроля. I. Свойства обнаружения ошибок кодами в информационных векторах / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов, М. P. Черепанова // Электронное моделирование. - 2016. - Т. 38. - № 2. -С. 27-48.

45. Сапожников Вал. В. Модульные коды с суммированием в системах функционального контроля. II. Уменьшение структурной избыточности систем функционального контроля / Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов, М. P. Черепанова // Электронное моделирование. - 2016. - Т. 38. - № 3. -С. 47-61.

46. Berger J. M. A Note on Burst Detection Sum Codes / J. M. Berger // Information and Control. - 1961. - Vol. 4. - Issue 2-3. - Pp. 297-299.

47. Блюдов А. А. Построение модифицированного кода Бергера с минимальным числом необнаруживаемых ошибок информационных разрядов / А. А. Блюдов,

Д. В. Ефанов, Вал. В. Сапожников, Вл. В. Сапожников // Электронное моделирование. - 2012. - Т. 34. - № 6. - С. 17-29.

48. Yang S. Logic Synthesis and Optimization Benchmarks User Guide : Version 3.0 / S. Yang // Technical Report 1991-IWLS-UG-Saeyang, MCNC. - 44 p.

49. Sentovich E. M. SIS : A System for Sequential Circuit Synthesis / E. M. Sentovich, K. J. Singh, L. Lavagno, C. Moon, R. Murgai, A. Saldanha, H. Savoj, P. R. Stephan, R. K. Brayton, Sangiovanni-A. Vincentelli // Electronics Research Laboratory, Department of Electrical Engineering and Computer Science, University of California, Berkeley, 4 May 1992. - 45 p.

50. Harris D. M. Digital Design and Computer Architecture / D. M. Harris, S. L. Harris. -Morgan Kaufmann, 2012. - 569 p.

51. Тюрин С. Ф. «Зеленая» программируемая логика : концепция и элементы реализации для FPGA проектов / С. Ф. Тюрин, В. С. Харченко // Системы обработки информации. - 2013. - № 9. - С. 84-92.

52. Maxfield C. The Design Warrior's Guide to FPGA's : 1st Edition, Devices, Tools and Flows / C. Maxfield. - Boston : Newnes, 2004. - 542 p.

53. MAX II Device Handbook. - Altera Corporation, 2007. - 107 p.

54. Хаханов В. И. Проектирование и тестирование цифровых систем на кристаллах / В. И. Хаханов, Е. И. Литвинова, О. А. Гузь. - Харьков : ХНУPЭ, 2009. - 484 с.

55. Navabi Z. Digital System Test and Testable Design : Using HDL Models and Architectures / Z. Navabi. - Springer Science+Business Media, LLC 2011. - 435 p.

56. Collection of Digital Design Benchmarks. - URL : http://ddd.fit.cvut.cz/prj/ Benchmarks.

57. Sapozhnikov Val. Method of Combinational Circuits Testing by Dividing its Outputs into Groups and Using Codes, that Effectively Detect Double Errors / Val. Sapozhnikov, D. Efanov, Vl. Sapozhnikov, V. Dmitriev // Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. - Pp. 129-136.

Dmitry V. Efanov Limited liability company «LocoTech-Signal», «Automation, Remote Control and Communication on Railway Transport»

department Russian University of Transport

Valery V. Sapozhnikov, Vladimir V. Sapozhnikov,

Teng Teng, Anastasia V. Usanova, «Automation and remote control on railways» department Emperor Alexander I St. Petersburg State Transport University

Artem V. Pashukov «Automation, Remote Control and Communication on Railway Transport»

department Russian University of Transport

Weighted codes with summation with any unidirectional error detection in data vectors to solve the tasks of technical diagnostics

The authors explore peculiarities of using of codes with summation of weighted data bits in organization of technical diagnosis systems. The article provides with a brief overview in the area of using of classical codes and weighted codes with summation for solving the tasks of digital systems technical diagnostics. The classification of codes with summation is given. The error detection characteristics in data vectors by weighted codes with summation are particularly analyzed by types (unidirectional, symmetrical and asymmetrical) and multiplicities. It is proved that weighted codes with summation, for which the operation of residue by previously fixed modulo is not used in formation, have the ability to identify any unidirectional distortions in data vectors. In addition, it is proved that weighted codes with summation can not have the uniform distribution of data vectors among check vectors, it means impossible to construct a weighted code with summation with a theoretical minimum of the total number of undetectable errors. An article presents a method of implementation of weighted codes with summation generators based on the use of standard circuits of half-adder and adders. Examples of implementation of weighted code generators on multiplexers and programmable logic devices of CPLD class are given. Experimental researches of the weighed codes with summation on the organization of concurrent error detection systems based on them were conducted. The error detection properties of error detection at the outputs of check circuits are analyzed, as well as the characteristics of the complexity of the technical implementation of concurrent error detection systems. The advantages and disadvantages of using of weighted codes with summation, which are manifested in the organization of concurrent error detection systems, are considered.

technical diagnostics; digital systems; concurrent error detection systems; sum codes; Berger code; weighted code with summation

References

1. Ubar R., Raik J., Vierhaus H.-T. (2011). Design and Test Technology for Dependable Systems-on-Chip (Premier Reference Source). Information Science Reference, Hershey - New York, IGI Global. - 578 p.

2. Drozd A. V., Harchenko V. S., Antoshchuk S. G., Drozd Yu. V., Drozd M. A., Suli-ma Yu. Yu. (2012). Objects and Methods of On-Line Testing for Safe Instrumentation and Control Systems [Rabochee diagnostirovanie bezopasnyh informacionno-uprav-

lyayushchih sistem]. Eds. A. V. Drozda i V. S. Harchenko. Har'kov, Natsional'nyj aerokosmicheskij universitet im. N. E. Zhukovskogo (KhAI) [Khar'kov Nacional'nyj aehrokosmicheskij universitet im. N. E. Zhukovskogo (HAI)]. - 614 p.

3. Kharchenko V., Kondratenko Yu., Kacprzyk J. (2017). Green IT Engineering: Concepts, Models, Complex Systems Architectures. Springer Book series «Studies in Systems, Decision and Control», vol. 74. - 305 p.

4. Parhomenko P. P., Sogomonyan E. S. (1981). Basics of technical diagnostics (optimization of diagnostic algorithms, hardware tools) [Osnovy tekhnicheskoj diagnos-tiki (optimizaciya algoritmov diagnostirovaniya, apparaturnye sredstva)]. Moscow, Energoatomizdat [Ehnergoatomizdat]. - 320 p.

5. Lala P. K. (2007). Principles of Modern Digital Design. New-Jersey, John Wiley & Sons. - 436 p.

6. Sogomonyan E. S., Slabakov E. V. (1989). Self-checking devices and fault-tolerant systems [Samoproveryaemye ustrojstva i otkazoustojchivye sistemy]. Mosccow, Radio and communication [Radio i svyaz']. - 208 p.

7. Matrosova A. Yu. (1990). Algorithmic methods of test synthesis [Algoritmichesk-ie metody sinteza testov]. Tomsk, Tomsk state university [Izdatel'stvo TGU]. -206 p.

8. Sapozhnikov Val. V., Sapozhnikov Vl. V. (1992). Self-checking discrete devices [Samoproveryaemye diskretnye ustrojstva]. St. Petersburg, Energoatomizdat [Energoatomizdat]. - 224 p.

9. Mikoni S. V. (1992). General diagnostic knowledge bases of computing [Obshchie diagnosticheskie bazy znanij vychislitel'nyh]. St. Petersburg, SPIIRAS [SPIIRAN]. -234 p.

10. Nicolaidis M. (1998). On-Line Testing for VLSI: State of the Art and Trends. Integration, the VLSI Journal, vol. 26, issues 1-2. - Pp. 197-209.

11. Schiano L., Metra C., Marino D. (2003). Self-Checking Design, Implementation, and Measurement of a Controller for Track-Side Railway Systems. IEEE Transactions on Instrumentation and Measurement, vol. 52, issue 6. - Pp. 1722-1728.

12. Dobias R., Kubatova H. (2004). FPGA Based Design of the Railway's Interlocking Equipments. Euromicro Symposium on Digital System Design (DSD 2004), 31 Aug. - 3 Sept. 2004, Rennes, France. - Pp. 467-473.

13. Dobias R., Konarski J., Kubatova H. (2008). Dependability Evaluation of Real Railway Interlocking Device. 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools, 3-5 September 2008, Parma, Italy. -Pp. 228-233.

14. Theeg G., Vlasenko S. (2009). Railway Signalling & Interlocking. DW Media Group GmbH | Eurailpress, Hamburg, 1st Edition. - 448 p.

15. Vit P., Borecky J., Kohlik M., Kubatova H. (2014). Fault Tolerant Duplex System with High Availability for Practical Applications. 17th Euromicro Conference on Digital System Design, 27-29 August 2014, Verona, Italy. - Pp. 320-325.

16. Borecky J., Kohlik M., Kubatova H. (2017). Parity Driven Reconfigurable Duplex System. Microprocessors and Microsystems, vol. 52. - Pp. 251-260.

17. Efanov D. V. (2016). Concurrent checking and monitoring of railway automation and remote control devices [Funkcional'nyj kontrol' i monitoring ustrojstv zheleznodoro-zhnoj avtomatiki i telemekhaniki]. St. Petersburg, PSTU [FGBOU VO PGUPS]. -171 p.

18. Sapozhnikov Val. V., Sapozhnikov Vl. V. (2004). Basics of technical diagnostics [Os-novy tekhnicheskoj diagnostiki]. Moscow, Route [Marshrut]. - 316 p.

19. Fujiwara E. (2006). Code Design for Dependable Systems: Theory and Practical Applications. New-Jersey, John Wiley & Sons. - 720 p.

20. Piestrak S. J. (1995). Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw, Oficyna Wydawnicza Politechniki Wroclavskiej. -111 p.

21. Efanov D., Sapozhnikov Val., Sapozhnikov Vl. (2017). Generalized Algorithm of Building Summation Codes for the Tasks of Technical Diagnostics of Discrete Systems. Proceedings of15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. - Pp. 365-371.

22. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V. (2014). Weight-based codes with summation for logic devices check organization [Vzveshennye kody s sum-mirovaniem dlya organizacii kontrolya logicheskih ustrojstv]. Electronic Modeling [Ehlektronnoe modelirovanie], vol. 36, issue 1. - Pp. 59-80.

23. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V. (2015). Analysis of Characteristics of Sum Codes with Weighted Data Bits for Error Detection in Concurrent Error Detection Systems of Logic Devices [Analiz svojstv kodov s summirov-aniem vzveshennyh informacionnyh razryadov po obnaruzheniyu oshibok v sis-temah funkcional'nogo kontrolya logicheskih ustrojstv]. Proceedings of Petersburg Transport University [Izvestiya Peterburgskogo universiteta putej soobshcheniya], issue 1. - Pp. 114-126.

24. Berger J. M. (1961). A Note on Error Detection Codes for Asymmetric Channels. Information and Control, vol. 4, issue 1. - Pp. 68-73.

25. Das D., Touba N.A. (1999). Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits. Proceedings of the 17th IEEE VLSI Test Symposium, USA, CA, Dana Point, April 25-29. - Pp. 370-376.

26. Das D., Touba N. A., Seuring M., Gossel M. (2000). Low Cost Concurrent Error Detection Based on Modulo Weight-Based Codes. Proceedings of IEEE 6th International On-Line Testing Workshop (IOLTW), Spain, Palma de Mallorca, July 3-5, 2000. - Pp. 171-176.

27. Sapozhnikov Val., Sapozhnikov Vl., Efanov D., Nikitin D. (2014). Combinational Circuits Checking on the Base of Sum Codes with One Weighted Data Bit. Proceedings of 12th IEEE East-West Design & Test Symposium (EWDTS'2014), Kyev, Ukraine, September 26-29, 2014. - Pp. 126-136.

28. Efanov D., Sapozhnikov Val., Sapozhnikov Vl., Nikitin D. (2015). Sum Code Formation with Minimum Total Number of Undetectable Errors in Data Vectors. Proceedings of 13th IEEE East-West Design & Test Symposium (EWDTS'2015), Batumi, Georgia, September 26-29, 2015. - Pp. 141-148.

29. Efanov D. V., Sapozhnikov Val. V., Sapozhnikov Vl. V. (2010). On summation code properties in functional control circuits [O svojstvah koda s summirovaniem v skhe-mah funkcional'nogo kontrolya]. Automation and Remote Control [Avtomatika i telemekhanika], issue 6. - Pp. 155-162.

30. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V. (2015). Errors Classification in Information Vectors of Systematic Codes [Klassifikaciya oshibok v infor-macionnyh vektorah sistematicheskih kodov]. Journal of Instrument Engineering [Izvestiya vuzov. Priborostroenie], vol. 58, issue 5. - Pp. 333-343.

31. Sogomonyan E. S., Gossel M. (1993). Design of Self-Testing and On-Line Fault Detection Combinational Circuits with Weakly Independent Outputs. Journal of Electronic Testing: Theory and Applications, vol. 4, issue 4. - Pp. 267-281.

32. Busaba F. Y., Lala P. K. (1994). Self-Checking Combinational Circuit Design for Single and Unidirectional Multibit Errors. Journal of Electronic Testing: Theory and Applications, vol. 5, issue 1. - Pp. 19-28.

33. Saposhnikov Val. V., Morosov A., Saposhnikov Vl. V., Goessel M. (1998). A New Design Method for Self-Checking Unidirectional Combinational Circuits. Journal of Electronic Testing: Theory and Applications, vol. 12, issue 1-2. -Pp. 41-53.

34. Morosow A., Sapozhnikov Val. V., Sapozhnikov Vl. V., Goessel M. (1998). Self-Checking Combinational Circuits with Unidirectionally Independent Outputs. VLSI Design, vol. 5, issue 4. - Pp. 333-345.

35. Matrosova A. Yu., Levin I., Ostanin S. A. (2000). Self-Checking Synchronous FSM Network Design with Low Overhead. VLSI Design, vol. 11, issue 1. - Pp. 47-58.

36. Goessel M., Ocheretny V., Sogomonyan E., Marienfeld D. (2008). New Methods of Concurrent Checking: Edition 1. Dordrecht, Springer Science+Business Media B. V. - 184 p.

37. Matrosova A., Mitrofanov E. (2016). Pseudo-Exhaustive Testing of Sequential Circuits for Multiple Stuck-at Faults. Proceedings of 14th IEEE East-West Design & Test Symposium (EWDTS'2016), Yerevan, Armenia, October 14-17, 2016. -Pp. 533-536.

38. Efanov D. V., Sapozhnikov Val. V., Sapozhnikov Vl. V. (2017). Conditions for Detecting a Logical Element Fault in a Combination Device under Concurrent Checking Based on Berger's Code [Usloviya obnaruzheniya neispravnosti logicheskogo ehlementa v kombinacionnom ustrojstve pri funkcional'nom kontrole na osnove koda Bergera]. Automation and Remote Control [Avtomatika i telemekhanika], issue 5. - Pp. 152-165.

39. Ostanin S. (2017). Self-Checking Synchronous FSM Network Design for Path Delay Faults. Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. - Pp. 696-699.

40. Efanov D. V. (2013). Three Theorems about Berger Codes in Builtin Control Circuits [Tri teoremy o kodah Bergera v skhemah vstroennogo kontrolya]. Information Science and Control Systems [Informatika i sistemy upravleniya], issue 1. -Pp. 77-86.

41. Das D., Touba N. A. (1999). Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes. Journal of Electronic Testing: Theory and Applications, vol. 15, issue 1-2. - Pp. 145-155.

42. Efanov D. V., Sapozhnikov Val. V., Sapozhnikov Vl. V. (2015). Applications of Modular Summation Codes to Concurrent Error Detection Systems for Combinational Boolean Circuits. Automation and Remote Control [Avtomatika i telemekhanika], issue 10. - Pp. 152-169.

43. Sapozhnikov Val., Sapozhnikov Vl., Efanov D. (2015). Modular Sum Code in Building Testable Discrete Systems. Proceedings of 13th IEEE East-West Design & Test Symposium (EWDTS'2015), Batumi, Georgia, September 26-29, 2015. -Pp. 181-187.

44. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V., Cherepanova M. R. (2016). Codes with Summation with a Sequence of Weight Coefficients, Forming a Natural Series of Numbers, in Concurrent Error Detection Systems [Modul'nye kody s summirovaniem v sistemah funkcional'nogo kontrolya. I. Svojstva obnaruzheniya oshibok kodami v informacionnyh vektorah]. Electronic Modeling [Elektronnoe modelirovanie], vol. 38, issue 2. - Pp. 27-48.

45. Sapozhnikov Val. V., Sapozhnikov Vl. V., Efanov D. V., Cherepanova M. R. (2016). Modulo Codes with Summation in Concurrent Error Detection Systems. II. Decrease of Hardware Redundancy of Concurrent Error Detection Systems [Modul'nye kody s summirovaniem v sistemah funkcional'nogo kontrolya. II. Umen'shenie struk-turnoj izbytochnosti sistem funkcional'nogo kontrolya]. Electronic Modeling [Elektronnoe modelirovanie], vol. 38, issue 3. - Pp. 47-61.

46. Berger J. M. (1961). A Note on Burst Detection Sum Codes. Information and Control, vol. 4, issue 2-3. - Pp. 297-299.

47. Blyudov A.A., Efanov D. V., Sapozhnikov Val. V., Sapozhnikov Vl. V. (2012). Formation Berger modified code with minimum total number of undetectable errors in data bits [Postroenie modificirovannogo koda Bergera s minimal'nym chislom ne-obnaruzhivaemyh oshibok informacionnyh razryadov]. Electronic Modeling [Elektronnoe modelirovanie], vol. 34, issue 6. - Pp. 17-29.

48. Yang S. (1991). Logic Synthesis and Optimization Benchmarks User Guide: Version 3.0. Technical Report 1991-IWLS-UG-Saeyang, MCNC. - 44 p.

49. Sentovich E. M., Singh K. J., Lavagno L., Moon C., Murgai R., Saldanha A., Sa-voj H., Stephan P. R., Brayton R. K., Sangiovanni-Vincentelli A. (1992). SIS: A System for Sequential Circuit Synthesis. Electronics Research Laboratory, Department of Electrical Engineering and Computer Science, University of California, Berkeley, 4 May 1992. - 45 p.

50. Harris D. M., Harris S. L. (2012). Digital Design and Computer Architecture. Morgan Kaufmann. - 569 p.

51. Tyurin S. F., Harchenko V. S. (2013). «Green» programmable logic: a conception and implementation examples for FPGA designs [«Zelenaya» programmiruemaya logika: koncepciya i ehlementy realizacii dlya FPGA proektov], Information processing systems [Sistemy obrabotki informacii], issue 9. - Pp. 84-92.

52. Maxfield C. (2004). The Design Warrior's Guide to FPGA's: 1st Edition, Devices, Tools and Flows. Boston, Newnes. - 542 p.

53. MAX II Device Handbook (2007). Vol. 1. Altera Corporation. - 107 p.

54. Hahanov V. I., Litvinova E. I., Guz' O.A. (2009). Designing and testing of digital systems on chip [Proektirovanie i testirovanie cifrovyh sistem na kristallah]. Kharkov, KhNURE [Har'kov, HNUREH]. - 484 p.

55. Navabi Z. (2011). Digital System Test and Testable Design: Using HDL Models and Architectures. Springer Science+Business Media, LLC 2011. - 435 p.

56. Collection of Digital Design Benchmarks. URL: http://ddd.fit.cvut.cz/prj/Bench-marks.

57. Sapozhnikov Val., Efanov D., Sapozhnikov Vl., Dmitriev V. (2017). Method of Combinational Circuits Testing by Dividing its Outputs into Groups and Using Codes, that Effectively Detect Double Errors. Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. - Pp. 129-136.

Статья представлена к публикации членом редколлегии Р. Убаром Поступила в редакцию 30.03.2018, принята к публикации 27.04.2018

ЕФАНОВ Дмитрий Викторович - доктор технических наук, доцент, руководитель направления систем мониторинга и диагностики ООО «ЛокоТех-Сигнал», профессор кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте» Российского университета транспорта (МИИТ). e-mail: TrES-4b@yandex.ru

САПОЖНИКОВ Валерий Владимирович - доктор технических наук, профессор кафедры «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения Императора Александра I.

e-mail: port.at.pgups1@gmail.com

САПОЖНИКОВ Владимир Владимирович - доктор технических наук, профессор кафедры «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения Императора Александра I.

e-mail: sapozhnikov-at@yandex.ru

ТЭН Тэн - студентка факультета «Автоматизация и интеллектуальные технологии» Петербургского государственного университета путей сообщения Императора Александра I. e-mail: liliya.ten@list.ru

УСАНОВА Анастасия Вячеславовна - студентка факультета «Автоматизация и интеллектуальные технологии» Петербургского государственного университета путей сообщения Императора Александра I. e-mail: usanova805@mail.ru

ПАШУКОВ Артем Валерьевич - аспирант кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте» Российского университета транспорта (МИИТ). e-mail: art_pash@mail.ru

© Ефанов Д. В., Сапожников Вал. В., Сапожников Вл. В., 2018 © Тэн Т., Усанова А. В., Пашуков А. В., 2018