Научная статья на тему 'Построение кодов с суммированием с наименьшим количеством необнаруживаемых симметричных ошибок в информационных векторах'

Построение кодов с суммированием с наименьшим количеством необнаруживаемых симметричных ошибок в информационных векторах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
331
56
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сапожников Валерий Владимирович, Сапожников Владимир Владимирович, Ефанов Дмитрий Викторович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сапожников Валерий Владимирович, Сапожников Владимир Владимирович, Ефанов Дмитрий Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Formation of Codes with Summation with the Smallest Number of Undetectable Errors of Data Bits

Codes with summation are widely used in concurrent error detection systems of automation and computing logical devices. In this paper the problem of errors of data vectors detection for the case of faultlessness of check vectors efficiency increasing is being solved. Herewith new codes with summation detect more symmetric errors of data vectors than classic Berger codes or modulo codes with summation. Moreover, codes described in the paper keep an important feature of Berger codes – an ability to detect all the unidirectional errors of data vectors.

Текст научной работы на тему «Построение кодов с суммированием с наименьшим количеством необнаруживаемых симметричных ошибок в информационных векторах»

УДК681.518.5:004.052.32

ПОСТРОЕНИЕ КОДОВ С СУММИРОВАНИЕМ С НАИМЕНЬШИМ КОЛИЧЕСТВОМ НЕОБНАРУЖИВАЕМЫХ СИММЕТРИЧНЫХ ОШИБОК В ИНФОРМАЦИОННЫХ ВЕКТОРАХ

САПОЖНИКОВ В. В., САПОЖНИКОВ ВЛ. В., ЕФАНОВ Д. В.______________________________

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

1. Введение

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

При построении надежных и безопасных систем управления на микропроцессорной и микроэлектронной основе часто используются методы функционального и тестового контроля. Тестовый контроль позволяет определять техническое состояние объекта диагностирования при подаче на его входы специальных проверочных воздействий [1 - 4]. Это требует отключения объекта диагностирования от работы. Тестовый контроль часто применяют при 100%-м резервировании объектов. Другим подходом к построению надежной структуры является применение функционального (рабочего, on-line, пассивного) контроля, когда состояние объекта диагностирования определяется в режиме выполнения им своих функций [5 - 8].

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

2. Применение избыточного кодирования при построении системы функционального контроля

В системе функционального контроля логическое устройство fx), реализующее систему булевых функций <f1 f2 ... fm>, снабжается блоком контрольной логики g(x), формирующим ряд контрольных функций <g1 g2 ... gk> (рис. 1) [9, 10]. Между функциями

<f1 f2 ... fm> и <gl g2 ... gk> на этапе построения

системы функционального контроля устанавливается однозначное соответствие, что достигается использованием избыточного кодирования. Информационный вектор заранее выбранного кода сопоставляется с вектором данных, вычисляемых блоком основной логики fx), а контрольный - с вектором данных, формируемых блоком контрольной логики g(x) на тех же входных воздействиях. Для сравнения информационного и контрольного векторов система функционального контроля дополняется самопроверямым тестером [4 - 6, 11, 12].

При возникновении ошибок в блоках f(x), g(x) или в самом тестере на контрольных выходах формируется непарафазный сигнал <00> или <11>, что является сигналом возникновения неисправностей. В структуре, приведенной на рис. 1, при раздельной реализации каждого из блоков возникшая в произвольный момент времени одиночная неисправность может привести к нарушениям в работе только одного из блоков. Неисправности тестера обнаруживаются хотя бы на одном входном наборе, так как он строится самопро-веряемым, а значит, защищенным от собственных неисправностей [5, 6]. Искажения в блоке g(x) обнаруживаются всегда, так как нарушают установленное на этапе проектирования системы функционального контроля соответствие между значениями рабочих и контрольных выходов. Дефекты в блоке основной логики могут приводить к неверным вычислениям и, как следствие, к ошибкам на выходах. Структура самого контролируемого устройства может быть такова, что произвольная одиночная неисправность может приводить к появлению искажений в значениях различного числа разрядов информационных векторов.

Ошибки в информационных векторах могут быть разделены на четыре группы:

однократные ошибки - искажения только одного информационного разряда (однократные ошибки выделяются из всего множества ошибок, так как всегда должны обнаруживаться избыточным кодом);

монотонные ошибки - возникают при искажениях некоторого количества только нулевых или только единичных разрядов;

симметричные ошибки - возникают при искажениях одинакового числа нулей и единиц (разнонаправленные ошибки, содержащие группы искажений 0>1 и 1>0) в информационных разрядах;

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

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

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

Векторы классического кода с суммированием образуются по следующему правилу: в контрольные разряды записывается двоичное число, равное сумме

числа единичных информационных разрядов (равное весу r информационного вектора). Число контрольных

разрядов в коде Бергера k = |~1og2 (m + і)] (скобки ["...] в записи обозначают целое сверху от вычисляемого значения) [13]. Далее будем обозначать коды Бергера как S(m,k)-коды.

Свойства S(m,k)-кодов по обнаружению ошибок в системах функционального контроля изучены в [27, 28]. В данных работах показано, что классические коды с суммированием имеют низкую эффективность обнаружения ошибок в области малой кратности d.

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

M = 2Г1о&2 (т+і)]-і и использованием поправочного коэффициента, равного сумме по модулю два некоторых разрядов информационного вектора. Второй способ [31 - 33] состоит в построении взвешенного кода с суммированием, в котором некоторым информационным разрядам приписываются веса w,>1. При этом возможен такой подбор весов, при котором взвешенный код будет обладать всеми ключевыми свойствами кода Бергера, но иметь меньшее число необнаруживаемых ошибок. С другой стороны, модифицированные коды могут (в отличие от кода Бергера) иметь некоторое число необнаруживаемых монотонных и асимметричных ошибок.

Наличие информации о структуре необнаруживаемых ошибок для различных кодов позволяет выбирать для

Zi Z2

контрольные

выходы

рабочие

выходы

Рис. 1. Структура системы функционального контроля

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

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

3. Коды с суммированием с наименьшим количеством необнаруживаемых ошибок в информационных векторах

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

столбце находятся все информационных вектора

с одинаковым весом r (r є {0,1,...,m}).

Так как значения весов г, соответствующих различным контрольным группам S(m,k)-кода, существенно отличаются друг от друга, то для этого кода характерно неравномерное распределение информационных векторов по контрольным группам. Это определяет сравнительно большое количество необнаруживаемых ошибок в информационных векторах. Например, S(6,3)-код не обнаруживает 860 симметричных ошибок, что составляет 21,239% от общего числа ошибок в информационных векторах.

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

всех 2m информационных векторов положение взвешенного разряда в векторе не отражается на свойствах самого кода с суммированием [35]. Это самый общий случай. Без потери общности положим, что весовой коэффициент будет приписан младшему разряду в информационном векторе. Обозначим данный класс кодов как WS(m,£,w)-код, где w - значение взвешенного информационного разряда.

В WS(m,k,w)-коде всем информационным векторам, у которых младший разряд равен 1, приписывается новый суммарный вес W = r + w -1. Это приводит к новому распределению информационных векторов по контрольным группам по сравнению с распределением для S(m,k)-кода.

В табл. 1 представлены контрольные группы для

WS(6,4,4)-кода. В ней 2m 1 информационных векторов с младшим единичным разрядом сдвигаются вправо в группы, соответствующие весам

Таблица 1

Вес информационного вектора, W

0 1 2 3 4 5 6 7 8 9

Контрольные группы

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Информационные векторы

000000 000010 000110 001110 000001 000011 000111 001111 011111 111111

000100 001010 010110 011110 000101 001011 010111 101111

001000 001100 011010 101110 001001 001101 011011 110111

010000 010010 011100 110110 010001 010011 011101 111011

100000 010100 100110 111010 100001 010101 100111 111101

011000 101010 111100 111110 011001 101011

100010 101100 100011 101101

100100 110010 100101 110011

101000 110100 101001 110101

110000 111000 110001 111001

Количество векторов в группе

1 5 10 10 6 6 10 10 5 1

W = r + w -1. Например, информационный вектор <000001> с весом r=1 перемещается из контрольной группы <0001> в группу <0100>, так как в данном случае суммарный вес W=1+4-1=4, вектор <000011> (r=2) перемещается из группы <0010> в группу <0101> (W=5).

При перераспределении часть информационных векторов помещается в контрольные группы, где уже имеются информационные векторы (для WS(6,4,4)-кода это группы <0100> и <0101>), а часть - заполняет пустые контрольные группы (для ^5(6,4,4)-кода это группы <0110>, <0111>, <1000> и <1001>). Последние соответствуют значениям веса W>m и не заполняются при построении S(m,k)-кода. В результате информационные векторы более равномерно размещаются по контрольным группам, что приводит к уменьшению количества необнаруживаемых ошибок: WS(6,4,4)-код не обнаруживает 460 ошибок, что в 1,87 раза меньше, чем у S(6,3)-кода. При этом меняется структура необнаруживаемых ошибок при сохранении свойства обнаружения всех монотонных ошибок в информационных векторах (это доказано в [36]).

В отличие от кода Бергера WS(m,k,w)-коды обнаруживают определенные симметричные ошибки. Это ошибки максимальной кратности d=m при четном значении m и d=m-1 при нечетном значении m. Рассмотрим, например, в табл. 1 информационный вектор <111000>, расположенный в группе <0011>. Ошибка максимальной кратности переводит этот вектор в вектор <000111> с тем же весом r=3. Но так как при этом всегда искажается взвешенный разряд, то искаженный вектор будет иметь суммарный вес W, отличный от веса г, и оба вектора будут располагаться в разных контрольных группах (в данном случае в группах <0011> и <0110>).

Также в отличие от кода Бергера WS(m,k,ю)-коды не о бнаруживают асимметричные ошибки в информационных векторах с различным значением числа единичных разрядов (с r = W единичными разрядами и с r = W - w +1 единичными разрядами). К примеру, для WS(6,4,4)-кода в контрольной группе <0100> имеется пять векторов с весом г=4 и один вектор с весом г=1 (он оказался в данной контрольной группе благодаря сдвигу при взвешивании). В контрольной группе <0101> этого же кода, наоборот, имеется один вектор с весом г=5 и пять векторов с весом г=2. Взаимные переходы между информационными векторами с различными весами r = W и r = W - w +1 внутри одной контрольной группы соответствуют асимметричным необнаруживаемым искажениям. Для WS(6,4,4)-кода таких переходов 20.

Кратность асимметричных ошибок зависит от значения веса W, так как они возможны только в тех контрольных группах, в которых присутствуют информационные векторы с различным числом единичных разрядов: r = W и r = W - w +1. Тогда часть

информационных векторов в такой группе будет иметь r = W единичных разрядов и m - r = m - W нулевых разрядов, тогда как другие информационные векторы будут иметь r = W - w +1 единичных разрядов и m - r = m - (W - w +1) нулевых разрядов. При этом вектор с единичным младшим разрядом (вектор с весом r = W - w +1 ) в данной группе перейдет в вектор с нулевым младшим разрядом только при искажении младшего разряда и искажении

W -(W - w )= w остальных разрядов. При большем числе искажаемых единичных разрядов в информационном векторе с весом r = W - w +1 кратность ошибки увеличивается на 2 (должен исказиться единичный и нулевой разряды для перехода в вектор с весом r = W). Отсюда вытекает следующее свойство WS(m,k,ю)-кодов:

Утверждение 1. WS(m,k,w)-Kod обнаруживает любые асимметричные ошибки с кратностью d < w +1. Можно также заметить, что кратность необнаруживаемых асимметричных ошибок равна d = w +1, d = w + 3, d = w + 5 и так далее до d = m или

d = m -1. На рис. 2 приводятся примеры асимметричных необнаруживаемых ошибок в информационных векторах WS(8,4,4)-кода. При возникновении таких ошибок в информационных векторах с различным числом единичных разрядов обязательно искажается младший разряд и некоторое количество старших разрядов.

< 000 0 0 0 1 1 >

< 1111 0 0 1 0 > а

< 000 0 0 0 1 1>

< 1 1 1 1 1 0 0 0 >

б

Рис. 2. Примеры асимметричных необнаруживаемых ошибок в Ж£(8,4,4)-коде: а - кратности d=5; б - кратности d=7

При заданном значении длины информационного вектора максимальную эффективность взвешивания будет иметь такой вариант, при котором сдвиг половины информационных векторов произойдет в незаполненные группы. В этом случае WS(m,k,w)-кодом будут обнаруживаться любые асимметричные ошибки в информационных векторах. В S(m ,^)-кодах информационные векторы есть в группах со значением веса r є {0,1,...,m}. Соответственно, сдвинуть половину векторов необходимо на величину m. Отсюда следует

Утверждение 2. WS(m,k,w)-код будет иметь минимальное число необнаруживаемых симметричных ошибок и при этом обнаруживать все асимметричные ошибки, если w > m.

4. Свойства WS(m,A,w)-кодов с различными значениями w

Определим, как изменяются характеристики WS(m,к,ю)-кодов с увеличением значения веса одного информационного разряда.

Код Бергера не обнаруживает все симметричные ошибки в информационных векторах. При этом, как показано в [27], он не обнаруживает одинаковую

долю CTm,d ошибок четной кратности d от общего количества ошибок данной кратности вне зависимости от длины информационного вектора:

d

CTm,d = 2 dCd • (1)

Экспериментальные исследования показали, что для Ж^т,к,ю)-кодов имеет место следующее аналогичное положение:

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

Из (1) следует, что S(m,k)-коды имеют низкую эффективность обнаружения ошибок малой кратности в информационных векторах (не обнаруживают 50% двукратных, 37,5% четырехкратных ошибок и т.д. [27]). WS(m,k, ю)-коды имеют меньший процент необнаруживаемых симметричных ошибок. В табл. 2 приводятся рассчитанные значения долей симметричных необнаруживаемых ошибок от общего числа симмет-

m S(m,k)-код WS(m,k,w)-код

3 1 0,33333

4 1 0,44444

5 1 0,49091

6 1 0,51163

7 1 0,52058

8 1 0,52386

9 1 0,5244

10 1 0,52368

11 1 0,52242

12 1 0,52103

13 1 0,51962

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

14 1 0,51832

15 1 0,51714

16 1 0,51608

17 1 0,51512

18 1 0,51427

19 1 0,51351

20 1 0,51282

m,(m-l)

ричных ошибок (величин стт = XCTm d) для раз-

d=2

личных кодов с суммированием.

C увеличением длины информационного вектор а значение ст m увеличивается, достигая максимума при

Рис. 3. Зависимость стm от значения т

m=9 (рис. 3). С дальнейшим увеличением длины информационного вектора величина am незначительно уменьшается, не доходя до значения a m = 0,5 . Данное значение является асимптотой графика функции a m, что объясняется сдвигом половины информационных векторов в таблице их распределения на контрольные группы (см. табл. 1) и, соответственно, уменьшением числа симметричных ошибок в информационных векторах по сравнению с классическим кодом Бергера.

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

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

ошибок от общего их числа (величин 0m) для WS(m,k, w)-кодов с различными значениями w. Доля асимметричных ошибок от общего их числа для всех WS(m,k,w)-кодов не превышает 10%, а для кодов с w > 3 - 5%.

В целом число необнаруживаемых ошибок при взвешивании одного информационного разряда сокращается в сравнении с классическим кодом Бергера. Доля необнаруживаемых ошибок от общего их числа (величина ym) уменьшается с увеличением m (рис. 5).

Для WS(m,k,w)-KO^OB также справедлива следующая особенность, которая непосредственно следует из теоремы о взвешенных кодах [3 6]:

Свойство 2. WS(m,k,w)-Kod обнаруживает любые ошибки нечетной кратности, если число w является нечетным.

Расчеты также показывают справедливость следующего положения.

Свойство 3. WS(m,k,w)-коды с четными значениями w обнаруживают все ошибки нечетных кратностей d<m.

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

величине в WS(m,k,w)-кодах (величина am) с ростом w уменьшается при одинаковых значениях m. Например, при m=10 для кодов WS(10,4,2) и WS(10,4,3)

am = 0,583, а для кодов WS(10,4,4) и WS(10,4,5) -a m = 0,357.

5. О применении WS(m,k,w)-кодов для организации контроля комбинационных схем

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

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

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

m = 2* (t є {1,2,...}). (2)

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

Отмеченные обстоятельства позволяют сформулировать следующее положение.

Утверждение 3. Если m = 2* (t є {l,2,...}), то

WSmk^-^d обнаруживает все монотонные и асимметричные ошибки и не обнаруживает меньшее, чем S(m,k)-^d, количество симметричных ошибок при сохранении числа контрольных разрядов, равного [log2 (m +1)].

В том случае, если контролируемая схема имеет m = 2* выходов, то всегда целесообразно использовать WS( 2*, [log2 (m +1)], 2і )-код.

В качестве примера рассмотрим двухуровневую схему (рис. 7), имеющую три входа xi, Х2 и Х3 и четыре выхода -fi, f2, f3 и /4. Структура данной схемы такова, что при возникновении одиночных константных неисправностей логических элементов №2 и 5 допускается одновременное искажение сразу двух выходов

схемы. При возникновении неисправностей логического элемента №2 одновременно могут искажаться только выходы fi и f2, кратные ошибки на данных выходах будут принадлежать к классу монотонных. Любая подобная ошибка обнаруживается как S(m,k)-кодом, так и WS(m,k, w)-кодом. В случае возникновения одиночной неисправности логического элемента №5 существует возможность возникновения симметричной ошибки на выходахf и f4. Двукратная симметричная ошибка на выходах схемы возникает при наличии отказа типа «константа 0» логического элемента №5 на входных наборах <110> и <111> (см. табл. 3). Таким образом, данная ошибка классическим S(m,k)-кодом обнаружена не будет.

Контроль заданной схемы по S(4,3)-ra^ может быть организован путем преобразования заданной схемы к схеме с монотонно независимыми выходами по алгоритму, описанному в [19, 20]. В данном случае требуется дублирование элемента №5.

*1

*2

*2

*3

*1

*2

*1

*2

*3

*1

*2

*1

*3

О- I

3>

о

о

=£>

f1

f2

f3

f4

Рис. 7. Комбинационная схема

конкретной схемы, как правило, не формируется все возможное множество двоичных векторов и не возникают все возможные ошибки, а возникает только ограниченный класс ошибок, определяемый особенностями внутренней структуры схемы. Так, если при организации контроля схемы рис. 7 применить ^5(4,3,4)-код со взвешиванием не разрядаf4, а любого другого, то указанный эффект не будет достигнут.

По данной причине на последнем этапе выбора WS(m ,k,w)-кода целесообразно проводить экспериментальные исследования применения кодов с различными взвешенными разрядами.

В качестве примера приведем результаты экспериментальных исследований для одной из контрольных схем из системы схем, разработанных в университете Калифорнии и часто используемых для оценки эффективности предлагаемых подходов к диагностированию логических устройств [37]. Для примера была выбрана схема «cm163a» из пакета LGSynth‘89 [38]. Схема имеет 16 входов и 5 выходов и реализована в библиотеке логических элементов ИЛИ-НЕ. Эксперимент по моделированию одиночных неисправностей на выходах внутренних логических элементов показал, что всего на выходах схемы «cm163a» при поступлении всех входных наборов имеется 1221312 ошибок, из них: одиночных - 987648 (80,87%), монотонных - 216000 (17,68%), симметричных - 10368 (0,85%) и асимметричных - 7296 (0,6%). В табл. 5 сведены результаты моделирования неисправностей для S(5,3) и WS(5,k,w) кодов. Для каждого варианта кодирования приведены данные о необнаруживаемых симметричных и асимметричных ошибках (все моно -тонные ошибки рассматриваемыми классами кодов обнаруживаются). В табл.5 использованы следующие обозначения: d - кратность ошибки, Nd - количество

N d

необнаруживаемых ошибок кратности d, ~^ - доля

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

Анализируя табл. 5, можно сделать следующие выводы:

Использование взвешенного кода WS(4,3,4) вместо S(4,3)-кода позволяет решить задачу контроля схемы без ее преобразования. В табл. 4 показано, что в двух возможных случаях искажения информационного вектора, при которых сохраняется вес r этих векторов, контрольные векторы S(4,3)-кода сохраняются, а контрольные векторы Ж8(4,3,4)-кода изменяются (чем фиксируется ошибка) при условии взвешивания информационного разряда, соответствующего выходу схемы f4.

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

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

- при определенном значении веса взвешенного информационного разряда WS(m,k,w)-коды обнаруживают 100% асимметричных ошибок;

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

- наилучшим вариантом кодирования для схемы «cm163a» является выбор Ж8(5,3,3)-кода со взвешенным вторым разрядом; данным кодом не обнаруживается всего 2,47% (вместо 100% при контроле по

X1X2X3 rnf Значения выходов при возникновении неисправностей ЛЭ №2 Константа 1 Константа 0 /і/2/3/4 /i/2/3/4 Значения в возник! неисправно Константа 1 ////4 ыходов при овении стей ЛЭ №5 Константа 0 //

000 0111 1111 0111 0111 0111

001 0110 1110 0110 0111 0110

010 1111 1111 0011 1111 1111

011 0000 1 100 0000 0001 0010

100 0010 1110 0010 0011 0010

101 0010 1110 0010 0011 0010

110 1101 1101 1001 1111 1110

111 1001 1101 1001 1011 1010

коду Бергера) симметричных ошибок (при организации контроля это потребует меньшего количества дублируемых логических элементов).

Таблица 4

Информационный вектор Контрольный вектор

S(4,3)-i^ №£(4,3,4)-код

1101> 1110 011> 011 110> 011

1001> 1010 010> 010 101> 010

6. Заключение

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

Литература: 1.McCluskeyE.J. Logic Design Principles: With Emphasis on Testable Semicustom Circuits. - N.J.: Prentice Hall PTR, 1986.549 p. 2. AbramoviciM., BreuerM.A., Friedman

A.D. Digital System Testing and Testable Design. Comp. Sc. Press, 1998. 652 p. 3. Ubar R., Raik J., Vierhaus H.-T. Design and Test Technology for Dependable Systems-on-Chip (Premier Reference Source). - Information Science Reference, Hershey, New York, IGI Global, 2011. 578 p. 4. Blanke M, Kinnaert M., Lunze J., Staroswiecki M. Diagnosis and Fault-Tolerant Control: 2nd Edition. Berlin: Springer-Verlag Berlin Heidelberg, 2006. 672 p. 5. Согомонян Е.С., Слабаков Е.В. Самопроверяемые устройства и отказоустойчивые системы. М.: Радио и связь, 1989. 208 с. 6. Сапожников В.В., Сапожников Вл.В. Самопроверяемые дискретные устройства. СПб: Энергоатомиздат, 1992. 224 с. 7. Gцessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking: Edition 1. - Dordrecht: Springer Science+Business Media B.V., 2008. 184 p. 8. Andrus C., Cavalli A. How to Reduce the Cost of Passive Testing // Proceedings of 14th IEEE International Symposium on High-Assurance Systems Engineering (HASE 2012), Nebraska, USA, October25-27, 2012. Р. 209-216. 9. NicolaidisM., Zorian Y. OnLine Testing for VLSI - А Compendium of Approaches // Journal of Electronic Testing: Theory and Application (JETTA), 1998. Vol. 12, issue 1-2. Р. 7-20. 10. Touba N.A., McCluskey

Таблица 5

Веса разрядов Симметричные ошибки Асимметричные ошибки

Wi W2 W3 W4 W5 d Nd N d —^, % N d Nd Nd —^, % N

! і і і і і 2 і0368 і00% - 0 0% \

>2 1 1 1 1 2 2048 19,75% - 0 0%

1 2 1 1 1 2 256 2,47% 3 128 2,47%

|1 >3 1 1 1 2 256 2,47% - 0 0%

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 1 2 1 1 2 8320 80,25% 3 4032 77,78%

1 1 3 1 1 2 8320 80,25% 4 64 3,08%

1 1 >4 1 1 2 8320 80,25% - 0 0%

1 1 1 2 1 2 10368 100% 3 1024 19,75%

1 1 1 3 1 2 10368 100% 4 2016 96,92%

1 1 1 4 1 2 10368 100% 5 32 100%

1 1 1 >5 1 2 10368 100% - 0 0%

1 1 1 1 >2 2 10112 97,53% - 0 0%

E.J. Logic Synthesis of Multilevel Circuits with Concurrent Error Detection // IEEE Trans. Computer-Aided Design of Integrated Circuits and System, Vol. 16, Jul. 1997.Р. 783-789. 11. LalaP.K. Self-Checking and Fault-Tolerant Digital Design. - University of Arkansas, 2001. 216 p. 12. Матросова А.Ю., Буторина Н.Б., Якимова Н.О. Синтез детекторов равновесных кодов с использованием монотонных функций // Известия высших учебных заведений. Физика. - 2013. -Т.56. №9-2. С. 171-173. 13. Berger J.M. A Note on Error Detection Codes for Asymmetric Channels // Information and Control. 1961. Vol. 4. Issue 3. P. 68-73. 14. Lo J.-C., Thanawastien S., Nicolaidis M. An SFS Berger Check Prediction ALU and Its Application to Self-Checking Processor Designs // Computer-Aided Design of Integrated Circuits and Systems, 1992. V. 11. Issue 4. P. 525-540. 15. Klшve T., Korzhik V.I. Error Detecting Codes: General Theory and Their Application in Feedback Communication Systems. -New York: Springer Science+Business Media, 1995. 249 p. 16. Gorshe S.S. A Self-checking ALU Design with Efficient Codes // Proceedings of 14th VLSI T est Symposium, Princeton, NJ, USA, 1996.Р. 157-161. 17. Kavousianos X., Nikolos D. Novel TSC Checkers for Bose-Lin and Bose Codes // Proceedings of 3ed IEEE Int. On-Line Testing Workshop, July 6-8, 1998, Capry, Italy. Р. 172-176. 18. FujiwaraE. Code Design for Dependable Systems: Theory and Practical Applications. - John Wiley & Sons, 2006. 720 p. 19. Morosov

A. , Saposhnikov V.V., Saposhnikov Vl.V., Goessel M. SelfChecking Combinational Circuits with Unidirectionally Independent Outputs // VLSI Design. 1998. V. 5. Issue 4. P. 333-345. 20. Saposhnikov V.V., Morosov A., Saposhnikov Vl.V., G^sselM. A New Design Method for Self-Checking Unidirectional Combinational Circuits // Journal of Electronic Testing: Theory and Applications. №12. 1998. P. 41-53. 21. Wang L-T., Stroud C.E., Touba N.A. System-on-Chip Test Architectures: Nanometer Design for Testability. Morgan Kaufmann Publishers, 2008. 856 p. 22. Матросова А.Ю., Андреева В.В., Николаева Е.А. Синтез синхронных последовательностных устройств, устойчивых к кратковременным и перемежающимся неисправностям // Управление, вычислительная техника и информатика. 2008. №3. С. 99109. 23. Абрамов Б.Б., Керен О., Левин И.С., Островский

B. И. Построение самотестируемых схем с использованием каскадного контроля // Автоматика и телемеханика. -2009. №7. С. 139-150. 24. Системыуправления движением поездов на перегонах: Учебник для вузов ж.-д. транспорта: В 3 ч. Ч. 2 / В.М. Лисенков, П.Ф. Бестемьянов, В.Б. Леушин, А.В. Лисенков, А.Е. Ваньшин; Под ред. В.М. Лисенкова. - М. ГОУ «Учебно-методический центр по образованию на железнодорожном транспорте, 2009, 324 с. 25. Das D.K., Roy S.S., Dmitiriev A., Morozov A., ^ssel M. Constraint Don’t cares for Optimizing Designs for Concurrent Checking by 1-out-of-3 Codes // Proceedings of the 10th International Workshops on Boolean Problems, Freiberg, Germany, September, 2012. Р. 33-40. 26. Рабочее диагностирование безопасных информационно-управляющих систем / А.В. Дрозд, В.С. Харченко, С.Г. Антощук и др. Под ред. А.В. Дрозда и В.С. Харченко. Харьков: Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ», 2012. 614 с. 27. Ефанов Д.В., Сапожников В.В., Сапожников Вл.В. О свойствах кода с суммированием в схемах функционального контроля // Автоматика и телемеханика. 2010. №6. С. 155-162. 28. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Предельные свойства кода с суммированием // Известия Петербургского университета путей сообщения. 2010. №3. С. 290-299. 29. Blyudov A., Efanov D., Sapozhnikov V., Sapozhnikov Vl. Properties of Code With Summation for Logical Circuit Test

Organization // Proceedings of 10th IEEE East-West Design & Test Symposium (EWDTS‘2012), Kharkov, Ukraine, September 14-17, 2012. Р. 114-117. 30. БлюдовА.А., Ефанов Д.В., Сапожников В.В., Сапожников Вл.В. Построение модифицированного кода Бергера с минимальным числом необнаруживаемых ошибок информационных разрядов // Электронное моделирование. 2012. Том 34. №6.

С. 17-29. 31. Das D., Touba N.A. Weight-Based Codes and their Application to Concurrent Error Detection of Multilevel Circuits // Proceedings of 17th IEEE Test Symposium, California, USA, 1999.Р. 370-376. 32. Das D, Touba N.A., SeuringM., Gossel M. Low Cost Concurrent Error Detection Based on Modulo Weight-Based Codes // Proceedings of 6th IEEE International On-Line Testing Workshop (IOLTW), Spain, Palma de Mallorca, July 3-5, 2000. Р. 171-176. 33. Ghosh S., Lai K.W., Jone W.B., Chang S.C. Scan Chain Fault Identification Using Weight-Based Codes for SoC Circuits // Proceedings of 13th Asian Test Symposium (ATS), 2004.Р. 210-215. 34. Hamming R.W. Coding and Information Theory. Prentice-Hall, 1986. P. 259. 35. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Никитин Д.А. Метод построения кода Бергера с повышенной эффективностью обнаружения ошибок в информационных разрядах // Электронное моделирование. 2013. Том 35. №4.С. 21-34. 36. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Взвешенные коды с суммированием для организации контроля логических устройств // Электронное моделирование. 2014. Том 36. №1. С. 59-80. 37. Gopalakrishan P., Rutenbar R.A. Direct Transistor-Level Layout for Digital Blocks. - Boston: Kluwer Academic Pubishers, 2004. 125 p. 38. Benchmarks: LGSynth89 [Режим доступа: http://

www.cbl.ncsu.edu: 16080/benchmarks/LGSynth89/ mlexamples/].

Поступила в редколлегию 30.11.2014

Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.

Сапожников Валерий Владимирович, д-р техн. наук, профессор кафедры «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения. Окончил Ленинградский институт инженеров железнодорожного транспорта в 1963 г. Научные интересы: надежностный синтез дискретных устройств, синтез безопасных систем, синтез самопроверяемых схем, техническая диагностика дискретных систем. Адрес: Россия, Санкт-Петербург, Московский пр., 9, тел.: +7 (812) 310-0788.

Сапожников Владимир Владимирович, д-р техн. наук, профессор кафедры «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения. Окончил Ленинградский институт инженеров железнодорожного транспорта в 1963 г. Научные интересы: надежностный синтез дискретных устройств, синтез безопасных систем, синтез самопроверяемых схем, техническая диагностика дискретных систем. Адрес: Россия, Санкт-Петербург, Московский пр., 9, тел.: +7 (812) 310-0788.

Ефанов Дмитрий Викторович, канд. техн. наук, доцент кафедры «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения, который окончил в 2007 г. Научные интересы: дискретная математика, надежность и техническая диагностика дискретных систем. Адрес: Россия, Санкт-Петербург, Московский пр., 9, тел.: +7 (812) 457-8579, +7 (911) 709-2164, e-mail: TrES-4b@yandex.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.