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

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2014 Управление, вычислительная техника и информатика № 3

ПРОЕКТИРОВАНИЕ И ДИАГНОСТИКА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

УДК 681.518.5:004.052.32

В.В. Сапожников, Вл.В. Сапожников, Д.В. Ефанов

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

Исследуются свойства классических, модифицированных и модульно модифицированных кодов с суммированием единичных информационных разрядов по обнаружению ошибок в системах функционального контроля комбинационных логических схем. Особое внимание уделяется свойствам кодов с суммированием по обнаружению монотонных (однонаправленных) ошибок в информационных разрядах кодовых слов. Показано, что модифицированные и модульно модифицированные коды с суммированием не обнаруживают только такие монотонные искажения в информационных векторах кодовых слов, которые имеют кратность ( = М, 2М, ..., ¡М (¡М<т, т - длина информационного вектора). Установлено, что при заданном значении величины М доля монотонных необнаруживаемых ошибок кратности ( от общего числа необнаруживаемых ошибок той же кратности не зависит от числа т и одинакова для всех модульно модифицированных кодов.

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

В системе функционального контроля (рис. 1) заданное логическое устройство Ах), вычисляющее систему рабочих булевых функций/¡(х),/2(х), ...,/т(х), дополняется блоком контрольной логики g(x), вычисляющим ряд контрольных функций g¡(x), g2(x), ..., gk(x). Между сигналами, формируемыми на выходах блоков f(x) и g(x), устанавливается однозначное соответствие, контролируемое само-проверямым тестером [1-3]. В случае нарушения данного соответствия при возникновении дефектов в структурах блоков f(x) и g(x) или при наличии отказов в блоке тестера (это могут быть как сбои и устойчивые отказы, так и неисправности типа «временная задержка» передачи сигналов [4, 5]) на контрольных выходах устанавливается непарафазный сигнал <00> или <11>.

Основной задачей организации функционального контроля является обеспечение проверки правильности работы блока f(x) в режиме реального времени (без его отключения от объекта управления). При этом необходимо на выходе тестера получать информацию о наличии неисправности в любой из составляющих системы функционального контроля [6].

Часто при организации систем функционального контроля используются коды с суммированием единичных информационных разрядов [7-11]. Данные коды принадлежат к классу систематических, т.е. их кодовые слова разделимы и состоят из информационных и контрольных векторов. Значения разрядов контрольного вектора вычисляются по значениям разрядов информационного вектора по определенным правилам. В системе функционального контроля значениям выходных сигналов блока f(x) ставятся в соответствие значения информационных разрядов кода с суммированием, а значениям выходных сигналов блока g(x) - значения контрольных разрядов.

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

Рабочие выходы

Тестер

Сигнал контроля

Контрольный вектор

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

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

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

1. Коды Бергера в системах функционального контроля

Классический код с суммированием, или код Бергера [12], образуется путем приписывания к информационному вектору контрольного вектора, представляющего собой двоичное число g2 ... gk>, равное сумме числа единичных информационных разрядов (весу г информационного вектора). Число контрольных разрядов в коде Бергера зависит от числа информационных разрядов и равно к — |~1о§2 (т +1)] (запись [х ] обозначает целое сверху от х). Обозначим классический код с суммированием как £(т,к)-код, где т - длина информационного вектора кода, а к - длина контрольного вектора.

S(m,к)-код обнаруживает любые ошибки в информационных разрядах, которые изменяют значение веса информационного вектора (рис. 2, а). К необнаруживаемым ошибкам относятся разнонаправленные ошибки в информационных векторах, содержащие группу искажений {0—> 1 и 1 —^0} (рис. 2, б).

<0 1 0 0> + <0 0 1>

<1 1 1 0> + <0 1 1>

<0 1 0 0> + <0 0 1>

т

<1 О 0 0> + <0 0 1>

Рис. 2. Примеры ошибок в информационных векторах £(т,к)-кодов: а - обнаруживаемые; б - необнаруживаемые

Свойства Б(т,к)-кодов по обнаружению ошибок в информационных векторах удобно определять, задавая код в табличной форме, где все информационные векторы распределены на контрольные группы по весу г [13]. Например, в табл. 1 дается 5"(4,3)-код.

Т а б л и ц а 1

8(4,3)-код

а

г

0 1 2 3 4 5 6 7

Контрольный вектор

000 001 010 011 100 101 110 111

0000 0001 0011 0111 1111

0010 0101 1011

0100 0110 1101

1000 1001 1110

1010

1100

Необнаруживаемая 5(т,к)-кодом ошибка соответствует переходу между информационными векторами, принадлежащими одной контрольной группе. Для 5"(4,3)-кода, приведенного в табл. 1, существуют по 12 необнаруживаемых ошибок в контрольных группах с г = 1 и г = 3 и 30 необнару-живаемых ошибок в контрольной группе с г = 2 (всего 48 двукратных и 6 четырехкратных необнару-живаемых искажений).

Коды Бергера имеют довольно большое число необнаруживаемых ошибок в информационных векторах (обозначим данную величину как Лт), что объясняется неравномерностью распределения информационных векторов на контрольные группы [14, 15]. В каждой контрольной группе содержит-

т

ся по Ст информационных векторов. С увеличением значения г до величины г = — (запись [х\

обозначает целое снизу от х) число информационных векторов в контрольной группе возрастает, а с дальнейшим приближением к величине т аналогичным образом уменьшается. Минимальным количеством необнаруживаемых ошибок обладает такой (т,к)-код, у которого все 2т информационных векторов равномерно распределены по 2к контрольным группам [15, 16]. Этот код является оптимальным (т,к)-кодом по критерию минимума числа необнаруживаемых искажений в информационных векторах. Число необнаруживаемых ошибок в нем равно

Л«™ = 2т

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

«Близость» кода с суммированием к оптимальному (т,к)-коду определяется коэффициентом эффективности

Nm У'

Чем ближе значение £ к 1, тем эффективнее код с позиции обнаружения искажений в информационных векторах при заданных значениях длин информационных и контрольных векторов. S(4,3)-код, например, имеет значение £ = 0,2963. У других кодов Бергера значение £, как правило, не превышает величины 0,5 [15, 16].

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

d_

Pd = 2 - dCj.

Из (3) следует, что S(m,k)-кодом не обнаруживается 50% двукратных и 37,5% четырехкратных искажений в информационных векторах.

Достоинством классических кодов с суммированием является то, что они обнаруживают 100% монотонных ошибок в информационных векторах. При таких ошибках в информационном векторе искажаются только нули либо только единицы, что нарушает значение веса r информационного вектора (см. рис. 2, а).

Коды Бергера являются оптимальными кодами по обнаружению монотонных искажений в информационных векторах [17, 18], что используется при организации систем функционального контроля. Решение задачи 100%-го обнаружения одиночных неисправностей в блоке fx) достигается несколькими способами. Первый такой способ заключается в дублировании исходной комбинационной схемы f(x) и сравнении между собой одноименных функций с применением блоков сжатия парафаз-ных сигналов TRC (two-rail checker) [11, 19, 20]. Второй способ основан на выделении на множестве выходов блока fx) групп независимых и монотонно независимых выходов (Н- и МН-групп) [18, 21 -23]. Множество выходов блока fx) образует Н-группу, если при возникновении любой неисправности в его внутренней структуре искажается значение только одного выхода из группы. К МН-группе относятся такие выходы блока f(x), для которых любое одиночное искажение в его внутренней структуре приводит к возникновению ошибки только на одном выходе, либо монотонной ошибки на нескольких выходах. Третий способ состоит в преобразовании блока f(x) путем внутреннего резервирования логических элементов в контролепригодную структуру, в которой все выходы образуют одну Н-группу [18] или МН-группу [21-23]. Контроль таких устройств осуществляется на основе использования S(m,k)-кода.

2. Модифицированные коды Бергера в системах функционального контроля

Для повышения эффективности обнаружения искажений в информационных векторах S(m,k)-кодов в [15, 16] разработан алгоритм преобразования контрольного вектора в слове кода Бергера в контрольный вектор нового (модифицированного) кода (обозначим его как RS(m,k)-код).

Алгоритм. Правила построения модифицированного кода Бергера.

1. Фиксируется модуль M = 2^log2 (m+1)-1.

2. Подсчитывается вес информационного вектора r.

3. Число r представляется по модулю M (другими словами, определяется вычет числа r по заданному модулю): V = (r) modM.

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

5. Формируется число W = V + аЫ.

6. Полученное число W представляется в двоичном виде и записывается в контрольный вектор. Применение алгоритма иллюстрируется на примере Л^(4,3)-кода, для которого поправочный

коэффициент рассчитывается по формуле а = Х2 Ф Х3 (табл. 2).

Т а б л и ц а 2

Векторы К8(4,3)-кода

№ ин юрмационные разряды г V = г(тс^4) а W = V+аM Контрольные разряды

Х1 Х2 Х3 х4 У1 У2 У3

0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 1 1 1 0 1 0 0 1

2 0 0 1 0 1 1 1 5 1 0 1

3 0 0 1 1 2 2 1 6 1 1 0

4 0 1 0 0 1 1 1 5 1 0 1

5 0 1 0 1 2 2 1 6 1 1 0

6 0 1 1 0 2 2 0 2 0 1 0

7 0 1 1 1 3 3 0 3 0 1 1

8 1 0 0 0 1 1 0 1 0 1

9 1 0 0 1 2 2 0 2 0 1 0

10 1 0 1 0 2 2 1 6 1 1 0

11 1 0 1 1 3 3 1 7 1 1 1

12 1 1 0 0 2 2 1 6 1 1 0

13 1 1 0 1 3 3 1 7 1 1 1

14 1 1 1 0 3 3 0 3 0 1 1

15 1 1 1 1 4 0 0 0 0 0 0

При модификации кода Бергера по приведенному выше алгоритму происходит перераспределение информационных векторов по контрольным группам (рис. 3).

Контрольньтй вектор

ООП 0101 0110 1001

1100

ОоТГ)

СнЮ 1110

Рис. 3. Перераспределение информационных векторов в ВД(4,3)-коде с а = х^ Ф Х3

Информационные векторы Я£(4,3)-кода более равномерно распределены на контрольные группы, чем информационные векторы 5"(4,3)-кода (табл. 3). Я5"(4,3)-код имеет 24 необнаруживаемые ошибки, что в 2,25 раза меньше, чем у 5"(4,3)-кода. Однако Я5"(4,3)-код не является оптимальным и имеет коэффициент эффективности £ = 0,6667. В среднем модифицированные коды Бергера обнаруживают примерно в два раза больше искажений в информационных векторах, чем классические коды с суммированием, и более близки к оптимальным (т,к)-кодам [16].

Т а б л и ц а 3

К8(4,3)-код

Я

0 1 2 3 4 5 6 7

Контрольный вектор

000 001 010 011 100 101 110 111

0000 0001 0110 0111 0010 0011 1011

1111 1000 1001 1110 0100 0101 1101

1010

1100

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

т—1

можно построить = 2т — 2 модифицированных кодов с суммированием [16]. От этой же фор-

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

мых ошибок по всем кратностям относительно величины t = — . К примеру, на рис. 4 представлены

2

зависимости между числом необнаруживаемых ошибок по кратностям й для различных Я5"(8,4)-кодов при различных значениях t.

^т

4000 3500 3000 2500 2000 1500 1000 500

0

й=4

Рис. 4. Распределение необнаруживаемых ошибок по кратностям в Я£(8,4)-кодах

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

2. Всего существует

разновидностей Я£(т,к)-кодов, каждый из которых имеет отличное

векторов на контрольные группы и подсчитывающая число необнаруживамых ошибок по кратностям й. С ее помощью были установлены следующие особенности Я£(т,к)-кодов:

1. Распределения необнаруживаемых ошибок по кратностям й в Я£(т,к)-кодах являются одинаковыми при одинаковом значении t.

т 2 _

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

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

4. Для ЯБ(т,к)-кодов с М>8 минимальным общим количеством необнаруживаемых ошибок об-

т

ладает код, в котором для определения а использовалась сумма

5. Минимум необнаруживаемых искажений к

т

определения а в котором использовалась сумма

2 , информационных разрядов.

затности й = 2 имеет модифицированный код, для информационных разрядов.

.2.

6. При малых т в Я^(т,к)-кодах доминируют необнаруживаемые ошибки малых кратностей, с увеличением т последовательно приоритет по количеству необнаруживаемых ошибок переходит к ошибкам больших кратностей.

Однако модифицированные коды с суммированием имеют недостаток в сравнении с классическими кодами Бергера. При получении значений разрядов контрольного вектора в соответствии с п. 1 алгоритма фиксируется модуль М, по которому в дальнейшем представляется вес г информационного вектора. Это приводит к тому, что внутри одной контрольной группы могут оказаться информационные векторы с различным истинным весом г, но одинаковым по модулю М. Например, в табл. 3 в контрольной группе <000> Я5"(4,3)-кода присутствуют два информационных вектора - <0000> и <1111>. Взаимные переходы данных векторов друг в друга происходят при возникновении монотонной ошибки кратности й = 4.

Я5"(4,3)-код имеет две необнаруживаемые монотонные ошибки в информационных векторах. В кодах с большими значениями т количество необнаруживаемых монотонных искажений намного больше. Данная особенность модифицированных кодов Бергера должна учитываться при синтезе систем функционального контроля комбинационных логических схем с выходами, образующими МН-группу.

Установим свойства модифицированных кодов с суммированием по обнаружению монотонных ошибок в информационных векторах.

Утверждение 1. ЯБ(т,к)-код не обнаруживает только те монотонные ошибки информационных векторов, которые имеют кратность й = М = 2 ^'°8г 1.

Справедливость утверждения 1 вытекает из следующих рассуждений. В соответствии с п. 6 алгоритма в одну и ту же контрольную группу ЯБ(т,к)-кода входят информационные векторы, для которых рассчитанное значение числа Ж является одним и тем же. В соответствии с п. 5 (так как а = 0 или 1) минимальное значение числа Жтт = V, а максимальное значение - Жтах = У+М. Таким образом, в соответствии с п. 3 и 5 в одну контрольную группу кода ЯБ(т,к) входят информационные векторы с весами г, кратными установленному модулю М. Взаимные необнаруживаемые переходы между такими векторами связаны с монотонными ошибками кратности М.

Утверждение 2. Для ЯБ(т,к)-кодов число монотонных необнаруживаемых искажений зависит только от числа информационных разрядов в формуле поправочного коэффициента, но не зависит от того, какие именно это разряды.

Покажем справедливость утверждения 2. Мы рассматриваем Я^(т,к)-коды на всех информационных векторах - их количество равно 2т. Число У будет поставлено в соответствие всем информационным векторам. Число векторов с весом ЖфУ определяется поправочным коэффициентом а, но

этот коэффициент рассчитывается на всем множестве информационных векторов, а значит (учитывая свойства функции сложения по модулю два принимать равное количество нулевых и единичных значений на всех наборах), увеличивает значение V до величины Ж на 2' векторах. Количество векторов со значением суммарного веса Ж определяется только числом информационных разрядов в сумме а.

В табл. 4 представлены распределения необнаруживаемых ошибок по кратностям й в Л£(10,4)-кодах с различным числом г информационных разрядов в сумме поправочного коэффициента а. В левой части таблицы даются распределения необнаруживаемых ошибок по кратностям й: для каждого значения г число в верхней клетке определяет количество монотонных необнаруживаемых ошибок, а в нижней клетке - общее количество необнаруживаемых ошибок данной кратности; в правой части таблицы приведены величины характеризующие доли монотонных необнаруживаемых ошибок кратности й от общего числа необнаруживаемых ошибок той же кратности.

Т а б л и ц а 4

Характеристики К8(10,4)-кодов

г Число необнаруживаемых ошибок кратности й и>а

2 4 6 8 10 2-10 2 4 6 8 10 2-10

1 0 0 0 72 0 72 0 0 0 0,0277778 - 0,0007478

18 432 48 384 26 880 2 592 0 96 288

2 0 0 0 232 0 232 0 0 0 0,0277778 0 0,0025091

14 848 37 632 31 360 8 352 272 92 464

3 0 0 0 168 0 168 0 0 0 0,0277778 - 0,0018299

12 288 37 632 35 840 6 048 0 91 808

4 0 0 0 168 0 168 0 0 0 0,0277778 0 0,0018321

10 752 40 704 33920 6 048 272 91 696

5 0 0 0 200 0 200 0 0 0 0,0277778 - 0,0021815

10 240 42 240 32 000 7 200 0 91 680

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

1. Минимум монотонных необнаруживаемых ошибок для данного т имеет Л5(т,к)-код со значением г = 1.

2. Значение доли монотонных необнаруживаемых ошибок кратности й от общего числа необнаруживаемых ошибок той же кратности при й = М для любого Л5(т,к)-кода является постоянной величиной и не зависит от значения г.

3. У Л5"(т,к)-кодов, для которых т есть степень числа 2, а г является четным числом, существует всего 2 монотонные необнаруживаемые ошибки максимальной кратности й = т; если г является нечетным числом, такой код обнаруживает все монотонные ошибки максимальной кратности й = т. Любые другие КБ(т,к)-коды обнаруживают все монотонные ошибки максимальной кратности.

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

Обозначим через Ь максимальное четное число выходов схемы Дх), с которыми связан выход внутреннего логического элемента при помощи путей с одинаковым по четности числом инверсий. Например, на рис. 5 приведена произвольная схема с шестью выходами. На схеме пунктирными линями показаны пути от выхода элемента 2 к выходами схемы. Анализ путей схемы показывает, что с выходами Д1(х), Д2(х) и Д6(х) элемент 2 связан путями с четным количеством инверсий, а с выходами Д3(х), Д4(х) и Д5(х) - путями с нечетным количеством инверсий. Поэтому для данной схемы Ь = 2.

Рис. 5. Произвольная комбинационная схема

Справедливо следующее положение.

Утверждение 3. В схеме с МН-выходами обнаруживаются все одиночные ошибки на основе применения в системе функционального контроля Я8(т,£)-кода, если характеристика схемы

b < 2Г1082

В самом деле, так как в схеме с МН-выходами возможны только монотонные искажения сигналов на выходах, то для 100%-го обнаружения всех искажений с применением модифицированного кода Бергера необходимо исключить возникновение ошибок кратности d = M (см. утверждение 1).

Значение M = 2Г1°82 (т+1Л 1. Поэтому если структура схемы fx) такова, что в ней не существует путей с одинаковым по четности числом инверсий от произвольного логического элемента к M выходам, то данная схема может контролироваться Л5(т,£)-кодом. Величина b в формуле (4) как раз определяет число выходов схемы, имеющих подобные пути.

Организовать контроль схемы, приведенной на рис. 5, можно с применением Л5"(6,3)-кода, так как значение b для данной схемы равно двум.

3. Модульно модифицированные коды с суммированием

В [16] рассмотрен класс модульно модифицированных кодов с суммированием. Контрольные векторы кодовых слов модульно модифицированных кодов получают по алгоритму, приведенному в п. 2, но с тем условием, что значениеМвыбирается из множества М е ^2,4,...,2^'°8221. Модульно модифицированные коды, или Я5М(т,к)-коды, по сравнению с Б(т,к) и Я£(т,к)-кодами, имеют важ-

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

Л£М(т,£)-коды являются обобщением модифицированных кодов Бергера, поэтому обладают всеми их особенностями. Кроме того, модульно модифицированным кодам присущи следующие свойства[16]:

1. В RS2(m,k)- и Л^4(т,^)-кодах в независимости от длины информационного вектора и способа определения коэффициента а общее число необнаруживаемых ошибок имеет одно и то же значение.

2. При одинаковых значениях t RS4(m,k)-код не обнаруживает ровно вдвое меньше ошибок информационных разрядов, чем RS2(m,k)-код с тем же значением m.

3. RSM(m,k)-коды с модулями M>4 имеют одинаковое число двукратных необнаруживаемых ошибок информационных разрядов при одинаковом t для заданной длины информационного слова m.

4. Коды с модулем M = 2 имеют вдвое больше необнаруживаемых ошибок информационных разрядов кратности d = 2 при одинаковых значениях t, чем RSM(m,k)-коды с модулями M > 4.

В табл. 5 и 6 для примера приводятся характеристики всех возможных модульно модифицированных кодов с суммированием со значением m = 10.

Т а б л и ц а 5

Характеристики К82(10,2)-кодов

t Число необнаруживаемых ошибок кратности d Ud

2 4 6 8 10 2-10 2 4 6 8 10 2-10

1 18 432 16 128 2 688 72 0 37 320 0,5 0,125 0,03125 0,0078125 - 0,1429228

36 864 129 024 86 016 9 216 0 261 120

2 14 848 12 544 3 136 232 2 30 762 0,5 0,125 0,03125 0,0078125 0,0019531 0,1178079

29 696 100 352 100 352 29 696 1024 261 120

3 12 288 12 544 3 584 168 0 28 584 0,5 0,125 0,03125 0,0078125 - 0,1094669

24 576 100 352 114 688 21 504 0 261 120

4 10 752 13 568 3 392 168 2 27 882 0,5 0,125 0,03125 0,0078125 0,0019531 0,1067785

21 504 108 544 108 544 21 504 1024 261 120

5 10 240 14 080 3 200 200 0 27 720 0,5 0,125 0,03125 0,0078125 - 0,1061581

20 480 112 640 102 400 25 600 0 261 120

Т а б л и ц а 6

Характеристики К84(10,3)-кодов

t Число необнаруживаемых ошибок кратности d Ud

2 4 6 8 10 2-10 2 4 6 8 10 2-10

1 0 16 128 0 72 0 16 200 0 0,25 0 0,015625 - 0,1240809

18 432 64 512 43 008 4 608 0 130 560

2 0 12 544 0 232 0 12 776 0 0,25 0 0,015625 0 0,0978554

14 848 50 176 50 176 14 848 512 130 560

3 0 12 544 0 168 0 12 712 0 0,25 0 0,015625 - 0,0973652

12 288 50 176 57 344 10 752 0 130 560

4 0 13 568 0 168 0 13 736 0 0,25 0 0,015625 0 0,1052083

10 752 54 272 54 272 10 752 512 130 560

5 0 14 080 0 200 0 14 280 0 0,25 0 0,015625 - 0,109375

10 240 56 320 51 200 12 800 0 130 560

Утверждение 4. Л£М(т,к)-код не обнаруживает только те монотонные ошибки информационных векторов, которые имеют кратность й=М, 2М, ..., ¡М (¡М<т).

Утверждение 4 обобщает положение утверждения 1 на случай RSM(m,k)-кода. В соответствии с п. 3-6 алгоритма в одну контрольную группу RSM(m,k)-кода размещаются информационные векторы с одним и тем же значением веса, подсчитанным по модулю M. Поэтому в контрольных группах возможны только такие ошибочные переходы между информационными векторами, которые связаны с монотонными искажениями разрядов кратностей M, 2M, ..., iM (iM < т).

Сравнивая табл. 4 с табл. 5 и 6, отметим, что модульно модифицированные коды сохраняют важное свойство модифицированных кодов с суммированием. При установленном модуле M для RSM(m,k)-кодов значения величин ud (долей монотонных необнаруживаемых ошибок кратности d от общего числа необнаруживаемых ошибок той же кратности) при любом m являются постоянными величинами и не зависят от значения t.

Из утверждения 4 вытекают условия применения RSM(m,k)-кодов при организации систем функционального контроля устройств с МН-выходами.

Утверждение 5. Контроль схемы с МН-выходами может быть организован на основе применения RSM(m,k)-кода в том случае, если характеристика схемы

b < 2M.

Утверждение 5 доказывается аналогично утверждению 3.

Из утверждений 3 и 5 следует, что выбор RS(m,k)-кода (или RSM(m,k)-кода) определяется только параметром b схемы и не зависит от числа ее выходов.

Заключение

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

ЛИТЕРАТУРА

1. Nelson V.P. Fault-Tolerant Computing: Fundamental Concepts // Journal Computer. 1990. V. 23. Issue 7. P. 19-25.

2. Touba N.A., McCluskey E.J. Logic Synthesis of Multilevel Circuits with Concurrent Error Detection // IEEE Trans. Computer-

Aided Design of Integrated Circuits and System. 1997. V. 16. P. 783-789.

3. Nicolaidis M., Zorian Y. On-Line Testing for VLSI - А Compendium of Approaches // Journal of Electronic Testing: Theory and

Applications. 1998. No.12. P. 7-20.

4. Matrosova A., Lipsky V., Melnikov A., Singh V. Path Delay Faults and ENF // Proceedings of 8th IEEE East-West Design & Test

Symposium (EWDTS'2010), St. Petersburg, Russia, September 17-20. 2010. P. 164-167.

5. Матросова А.Ю., Останин С.А., Сингх В. Обнаружение несущественных путей логических схем на основе совместного

анализа И-ИЛИ деревьев и SSBDD-графов // Автоматика и телемеханика. 2013. № 7. C. 126-142.

6. Пархоменко П.П., Согомонян Е.С. Основы технической диагностики (оптимизация алгоритмов диагностирования, аппа-

ратурные средства). М. : Энергоатомиздат, 1981. 320 с.

7. Lo J.-C. An SFS Berger Check Prediction ALU and Its Application to Self-Checking Processor Designs // Computer-Aided De-

sign of Integrated Circuits and Systems. 1992. V. 11. Issue 4. P. 525-540.

8. Gorshe S.S. A Self-Checking ALU Design with Efficient Codes // Proceedings of 14th VLSI Test Symposium. Princeton, NJ,

USA, 1996. P. 157-161.

9. Das D., Touba N.A. Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes // Journal of Elec-

tronic Testing: Theory and Applications. 1999. V. 15. Issue 1-2. P. 145-155.

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

11. Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons, 2006. 720 p.

12. Berger J.M. А Note on Error Detecting Codes for Asymmetric Channels // Information and Control. 1961. V. 4. Issue 1. P. 68-73.

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

14. Сапожников В.В., Сапожников Вл.В, Ефанов Д.В. Предельные свойства кода с суммированием // Известия Петербургского университета путей сообщения. 2010. № 3. C. 290-299.

15. Блюдов А.А., Ефанов Д.В., Сапожников В.В., Сапожников Вл.В. Построение модифицированного кода Бергера с минимальным числом необнаруживаемых ошибок информационных разрядов // Электронное моделирование. 2012. Т. 34, № 6. C. 17-29.

16. Efanov D., Sapozhnikov V., Sapozhnikov Vl., Blyudov A. On the Problem of Selection of Code with Summation for Combinational Circuit Test Organization // Proceedings of 11th IEEE East-West Design & Test Symposium (EWDTS'2013). Rostov-on-Don, Russia, September 27-30, 2013. P. 261-266.

17. Freiman C.V. Optimal Error Detection Codes for Completely Asymmetric Binary Channels // Information and Control. 1962. V. 5. Issue 1. P. 64-71.

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

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

20. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. University of Arkansas, 2001. 216 p.

21. Saposhnikov V.V., Saposhnikov Vl.V., Morosov A., Goessel M. Design of Self-Checking Unidirectional Combinational Circuits with Low Area Overhead // Proceedings of 2nd IEEE International On-Line Testing Workshop (IOLTW). Biarritz, France, 1996. P. 56-67.

22. Morosow A., Saposhnikov V.V., Saposhnikov Vl.V., Goessel M. Self-Checking Combinational Circuits with Unidirectionally Independent Outputs // VLSI Design. 1998. V. 5. Issue 4. P. 333-345.

23. Saposhnikov V.V., Morosov A., Saposhnikov Vl.V., Goessel M. A New Design Method for Self-Checking Unidirectional Combinational Circuits // Journal of Electronic Testing: Theory and Applications. 1998. V. 12. Issue 1-2. P. 41-53.

24. Сапожников В.В., Сапожников Вл.В., Гёссель М., Морозов А.А. Метод построения комбинационных самопроверяемых устройств с обнаружением всех одиночных неисправностей // Электронное моделирование. 1998. Т. 20, № 6. C. 70-80.

Сапожников Валерий Владимирович, д-р техн. наук, профессор. E-mail: kat@pgups.edu Сапожников Владимир Владимирович, д-р техн. наук, профессор. E-mail: kat@pgups.edu Ефанов Дмитрий Викторович. E-mail: TrES-4b@yandex.ru

Петербургский государственный университет путей сообщения

Поступила в редакцию 2 апреля 2014 г.

Sapozhnikov Valery V., Sapozhnikov Vladimir V., Efanov Dmitry V. (Petersburg State Transport University, Petersburg, Russian Federation).

On the use of the properties of sum code for unidirectional error detection in concurrent error detection (CED) systems of combinational circuits

Keywords: concurrent error detection (CED); combinational circuit; circuits with unidirectionally-independent outputs; Berger code; modified Berger code; unit-modified sum codes; data bits; undetectable error; unidirectional undetectable error.

For the CED systems organization of logical units, codes with summation of one data bits are frequent in use. Sum code data vector is assigned to operating outputs of logical unit fx), and check vector - to the outputs of reference logic block g(x). A unique correspondence is set between the signals, formed at the outputs of fx) и g(x) blocks, and this correspondence is checked by self-checking checkers. The primal problem of on-line testing organization is to provide the operating accuracy control offx) block on a real time basis (without its disconnection from controlled object). It is also necessary to get the information about faults existence in any of CED system components at the checker outputs.

When all blocks of CED system are presented independently at any given time, the occurrence of one defect only (simultaneous occurrence of faults in several blocs is unlikely) is considered acceptable. If one logical element connects within f(x) block structure with the number of its outputs, the simultaneous distortion of several output values occurs while a single fault occurs of this component, that corresponds the distortion of the number of codeword data bits. Hence, it is possible to consider sum codes properties for distortion detection in data vectors under condition of nonexistence of distortions in check vectors, that defines CED system properties for error detection in f(x) block.

This article includes the analysis of classic, modified and unit-modified one data bits sum codes properties for error detection in the CED systems of combinational logic circuits. Special focus is put on sum codes capability for detection of unidirectional (one-directional) errors in codeword data bits. It has been known that classic sum code (Berger code) detects any unidirectional distortions in data vectors, that allows to make the best use of this code for combinational circuits checking, any single faults of components in it may result only to unidirectional distortions at the outputs. Modified and unit-modified sum codes can also be implemented for these purposes. This study shows that modified and unit-modified sum codes do not detect only such unidirectional distortions in codeword data vectors that has multiplicity d = M, 2M, ..., iM (iM<m, where m - data vector length). It has been established that for given M value the fraction of unidirectional undetectable errors of d multiplicity from the total number of undetectable error of the same multiplicity does not depend on m and is the same for all unit-modified codes. The results of this study allow to set the practical criteria of application of modified and unit-modified sum codes by organization of concurrent error detection of combinational circuits.

REFERENCES

1. Nelson V.P. Fault-tolerant computing: Fundamental concepts. J. Computer, 1990, vol. 23, issue 7, pp. 19-25. DOI:

10.1109/2.56849.

2. Touba N.A., McCluskey E.J. Logic synthesis of multilevel circuits with concurrent error detection. IEEE Trans. Computer-Aided

Design of Integrated Circuits and System, 1997, vol. 16, pp. 783-789. DOI: 10.1109/43.644041 .

3. Nicolaidis M., Zorian Y. On-line testing for VLSI - A compendium of approaches. J. of Electronic Testing: Theory and Applica-

tions., 1998, no.12, pp. 7-20. DOI: 10.1023/A:1008244815697.

4. Matrosova A., Lipsky V., Melnikov A., Singh V. Path Delay Faults and ENF. Proceedings of 8th IEEE East-West Design & Test

Symposium (EWDTS'2010). St. Petersburg, Russia, September 17-20, 2010, pp. 164-167.

5. Matrosova A.Yu., Ostanin S.A., Singh V. Detection of false paths in logical circuits by joint analysis of the AND/OR trees and

SSBDD-Graphs. Automation and Remote Control, 2013, vol. 74, issue 7, pp. 126-142. DOI: 10.1134/S0005117913070084.

6. Parkhomenko P.P., Sogomonyan E.S. Osnovy tekhnicheskoy diagnostiki (optimizatsiya algoritmov diagnostirovaniya, appa-

raturnye sredstva) [The foundation of technical diagnosis (optimization of diagnosis algorithms, hardware). Moscow: Ener-goatomizdat Publ, 1981. 320 p.

7. Lo J.-C. An SFS Berger check prediction ALU and its application to self-checking processor designs. Computer-Aided Design of

Integrated Circuits and Systems, 1992, vol. 11, issue 4, pp. 525-540. DOI: 10.1109/43.125100 .

8. Gorshe S.S. A self-checking ALU design with efficient codes. Proceedings of 14th VLSI Test Symposium. Princeton, NJ, USA,

1996, pp. 157-161.

9. Das D., Touba N.A. Synthesis of circuits with low-cost concurrent error detection based on Bose-Lin codes. J. of Electronic Test-

ing: Theory and Applications, 1999, vol. 15, issue 1-2, pp. 145-155. DOI: 10.1023/A:1008344603814.

10. Piestrak S.J. Design of self-testing checkers for unidirectional error detecting codes. Wroclaw: Oficyna Wydawnicza Politechniki Wroclavskiej, 1995. 111 p.

11. Fujiwara E. Code design for dependable systems: Theory and practical applications. John Wiley & Sons, 2006. 720 p.

12. Berger J.M. A note on error detecting codes for asymmetric channels. Information and Control. 1961, vol. 4, issue 1, pp. 68-73. DOI: 10.1016/S0019-9958(61)80037-5.

13. Efanov D.V., Sapozhnikov V.V., Sapozhnikov Vl.V. On summation code properties in functional control circuits. Automation and Remote Control, 2010, vol. 71, issue 6, pp. 155-162. DOI: 10.1134/S0005117910060123.

14. Sapozhnikov V.V., Sapozhnikov Vl.V., Efanov D.V. Predel'nye svoystva koda s summirovaniem [Berger Code limit properties]. Izvestiya Peterburgskogo universitetaputey soobshcheniya, 2010, issue 3, pp. 290-299.

15. Blyudov A.A., Efanov D.V., Sapozhnikov V.V., Sapozhnikov Vl.V. Formation of the Berger Modified Code with minimum number of undetectable errors of informational bits. Elektronnoe modelirovanie, 2012, vol. 34, issue 6, pp. 17-29. (In Russian).

16. Efanov D., Sapozhnikov V., Sapozhnikov Vl., Blyudov A. [On the problem of selection of code with summation for combinational circuit test organization]. Proceedings of 11th IEEE East-West Design & Test Symposium (EWDTS'2013). Rostov-on-Don, 2013, pp. 261-266. (In Russian).

17. Freiman C.V. Optimal error detection codes for completely asymmetric binary channels. Information and Control, 1962, vol. 5, issue 1, pp. 64-71. DOI: 10.1016/S0019-9958(62)90223-1.

18. Sogomonyan E.S., Slabakov E.V. Samoproveryaemye ustroystva i otkazoustoychivye sistemy [Self-checking devices and fault-tolerant systems]. Moscow: Radio & Communication Publ., 1989. 208 p.

19. Sapozhnikov V.V., Sapozhnikov Vl.V. Samoproveryaemye diskretnye ustroystva [Self-checking digital devices]. St. Petersburg: Energoatomizdat Publ., 1992. 224 p.

20. Lala P.K. Self-checking and fault-tolerant digital design. University of Arkansas, 2001. 216 p.

21. Saposhnikov V.V., Saposhnikov Vl.V., Morosov A., Goessel M. Design of self-checking unidirectional combinational circuits with low area overhead. Proceedings of 2nd IEEE International On-Line Testing Workshop (IOLTW). Biarritz, France, 1996, pp. 56-67.

22. Morosov A, Saposhnikov V.V., Saposhnikov Vl.V., Goessel M. Self-checking combinational circuits with unidirectionally independent outputs. VLSI Design, 1998, vol. 5, issue 4, pp. 333-345. DOI: 10.1155/1998/20389.

23. Saposhnikov V.V., Morosov A., Saposhnikov Vl.V., Goessel M. A new design method for self-checking unidirectional combinational circuits. J. of Electronic Testing: Theory and Applications, 1998, vol. 12, issue 1-2, pp. 41-53. DOI: 10.1023/A:1008257118423.

24. Sapozhnikov V.V., Sapozhnikov Vl.V., Goessel M., Morosov A.A. Metod postroeniya kombinatsionnykh samoproveryaemykh ustroystv s obnaruzheniem vsekh odinochnykh neispravnostey [Method of construction of combinational self-checking devices with detection of all single faults]. Elektronnoe modelirovanie, 1998, vol. 20, issue 6, pp. 70-80.