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

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

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

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

УДК 681.518.5:004.052.32 DOI: 10.17223/19988605/43/10

Д.В. Ефанов

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

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

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

В системе функционального контроля (рис. 1) контролируемая логическая схема F(x), имеющая m выходов, снабжается специальной схемой контроля, позволяющей косвенно по результатам анализа значений вычисляемых ею функций определять возникающие в ее структуре неисправности [1, 2]. В составе схемы контроля выделяются блок контрольной логики G(x) и тестер (TSC). Блок G(x) вычисляет значения k контрольных функций, а тестер в процессе эксплуатации системы функционального контроля проверяет соответствие между значениями рабочих и контрольных функций.

Как правило, в основе системы функционального контроля лежит заранее выбранный код с небольшой избыточностью, ориентированный на обнаружение ошибок в информационных векторах. Наиболее часто используются коды с суммированием, или (m, kl-коды (m и k - длины информационного и контрольного векторов кода) [3-7]. В этом случае выходам контролируемой схемыf\,f2, • ••,fm в соответствие ставится информационный вектор, а выходам блока контрольной логики g1, g2, •.., gk -контрольный вектор. Тестер в системе функционального контроля представляет собой устройство, осуществляющее контроль принадлежности поступающих на его входы кодовых слов заданному (m, ^-коду [8, 9].

Наиболее простым среди всех кодов с суммированием является классический код Бергера, или S(m, kl-код [10]. При его построении подсчитывается количество единичных информационных разрядов (определяется вес информационного вектора), полученная сумма, представленная в двоичном виде, записывается в разряды контрольного вектора. Такие правила построения S(m, kl-кодов определяют невозможность обнаружения ими любых симметричных ошибок (при таких ошибках одновременно искажается одинаковое количество нулевых и единичных разрядов [11]). К необнаруживаемым

5(т, к)-кодами ошибкам относятся = 2т т С]- Стт ошибок четной кратностью й, что составляет, например, 50% двукратных и 37,5% четырехкратных ошибок в информационных векторах [12]. Любые другие виды ошибок (монотонные и асимметричные) любых кратностей кодами Бергера обнаруживаются .

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

21 [ Контрольные

22 I выходы

Схема контроля

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

Недостатком кода Бергера, проявляющимся при организации систем функционального контроля, является то, что с его использованием для данного логического устройства может быть построена только единственная структура системы контроля. Для возможности реализации нескольких вариантов структур систем функционального контроля с возможностью выбора наилучших показателей обнаружения ошибок и структурной избыточности системы правила построения кода модифицируются [13-15]. Одной из перспективных модификаций является построение взвешенного кода с суммированием, в котором т - 1 разряду информационного вектора приписаны единичные весовые коэффициенты, а одному - весовой коэффициент ^ Ф 1 [16, 17]. Данная работа освещает результаты использования таких кодов в системах функционального контроля контрольных комбинационных логических схем.

1. Коды с суммированием единичных и одного взвешенного разрядов

Значения разрядов контрольных векторов Ж5(т, к, мг)-кодов (^ - значение веса 7-го разряда информационного вектора) определяются по следующим правилам.

Алгоритм 1. Вычисление значений разрядов Ж5(т, к, м^-кодов:

1. Среди разрядов информационного вектора выбирается разряд, которому приписывается весовой коэффициент Ф 1; остальным разрядам приписываются единичные весовые коэффициенты.

2. Для каждого информационного вектора определяется суммарный вес единичных информационных разрядов - число Ж

3. Вес Ж представляется в бинарной форме и записывается в разряды контрольного вектора.

Алгоритм 1 иллюстрируется примером построения Ж5(4, 3, 2)-кода (табл. 1). Данный код с суммированием не обнаруживает 36 ошибок в информационных векторах (24 двукратных симметричных ошибки и 12 трехкратных асимметричных ошибок). Для сравнения, классический 5(4, 3)-код не обнаруживает 54 ошибки в информационных векторах (48 двукратных и 6 четырехкратных симметричных ошибок). Таким образом, при взвешивании одного информационного разряда эффективность обнаружения ошибок кодом с суммированием существенно возрастает, в том числе в области малой кратности,

что немаловажно для систем функционального контроля. Например, WS(4, 3, 2)-код обнаруживает в два раза большее количество двукратных ошибок, чем S(4, 3)-код.

Таблица 1

Кодовые слова №3(4, 3, 2)-кода

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

№ f4 f3 fi f1 W

Весовые коэффициенты g3 g2 g1

W4 = 1 W3 = 1 W2 = 1 W1 = 2

0 0 0 0 0 0 0 0 0

1 0 0 0 1 2 0 1 0

2 0 0 1 0 1 0 0 1

3 0 0 1 1 3 0 1 1

4 0 1 0 0 2 0 1 0

5 0 1 0 1 4 1 0 0

6 0 1 1 0 3 0 1 1

7 0 1 1 1 5 1 0 1

8 1 0 0 0 1 0 0 1

9 1 0 0 1 3 0 1 1

10 1 0 1 0 2 0 1 0

11 1 0 1 1 4 1 0 0

12 1 1 0 0 3 0 1 1

13 1 1 0 1 5 1 0 1

14 1 1 1 0 4 1 0 0

15 1 1 1 1 6 1 1 0

Свойства WS(m, k, ^г)-кодов по обнаружению ошибок в информационных векторах достаточно хорошо исследованы с учетом формирования всех возможных информационных векторов для данной их длины. В [18] установлены особенности WS(m, k, 3)-кодов по обнаружению ошибок в информационных векторах, показано, что данный код обладает всеми ключевыми особенностями классических кодов Бергера. Работы [19-21] посвящены изложению результатов исследований WS(m, k, ^г)-кодов с произвольными значениями весового коэффициента. Описываются результаты исследований распределений необнаруживаемых ошибок по кратностям. В [19, 21] детально изучены особенности WS(m, k, ^г)-кодов по обнаружению ошибок различных видов (монотонных, симметричных и асимметричных), что может быть эффективно использовано при синтезе систем функционального контроля.

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

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

Приведем пример использования WS(m, k, ^г)-кодов при организации контроля контрольной комбинационной схемы «alu2» из набора контрольных примеров LGSyntK 89 Benchmarks, разработанных в Университете Калифорнии для оценки эффективности вновь разрабатываемых методов технической диагностики [22].

Схема «alu2» имеет 10 входов и 6 выходов. В наборе контрольных примеров LGSyntK 89 Benchmarks схемы представлены в том числе в формате *.netblif, который фактически описывает структуру

схемы в списочной форме. Каждая строка файла-описания схемы в данном формате содержит информацию о внутреннем логическом элементе: количество аргументов и саму функцию, реализуемую элементом, элементы, с выходами и входами которых связан данный элемент (или же с конкретными входами и выходами самой схемы). Рассматриваемая схема «а1и2» содержит 360 внутренних логических элементов. Моделирование одиночных константных неисправностей на выходах внутренних элементов показало, что одиночные константные неисправности на всех входных наборах вызывают на выходах схемы 62 838 искажений с различными кратностями, в том числе 46 424 одиночные ошибки. В табл. 2 представлены характеристики ошибок на выходах схемы «а/и2»: количество ошибок данного вида с данной кратностью и общее количество ошибок данной кратностью, а также доли ошибок от общего количества ошибок за вычетом одиночных (такие ошибки идентифицируются (т, к)-кодами). Одиночные неисправности на выходах внутренних логических элементов схемы «а/и2» вызывают 16 414 ошибок с кратностями й = 2 ^ 5. При этом 97,8% данных ошибок составляют двукратные и трехкратные ошибки различных видов.

Классическими кодами Бергера не будут обнаружены только 100% симметричных ошибок на выходах контролируемой схемы: для «а/и2», например, это составит 7 691 двукратную симметричную ошибку (46,86% возможных ошибок). Этот показатель может быть существенно уменьшен за счет использования WS(m, к, ^г)-кода с установленным для взвешивания разрядом и конкретным значением веса. Для реальных схем взвешенным может быть любой из разрядов Wi, i е [1; т ], что даст возможность построения большого количества систем функционального контроля с различными характеристиками как обнаружения ошибок в контролируемой схеме, так и с различными показателями структурной избыточности.

Таблица 2

Характеристики ошибок на выходах контрольной схемы

Кратность ошибки

2 3 4 5

Общее количество ошибок данной кратностью

12347 3707 316 44

75,22% 22,58% 1,93% 0,27%

Монотонные ошибки

4656 1236 142 2

28,37% 7,53% 0,87% 0,01%

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

7691 31

46,86% 0,19%

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

2471 143 42

15,05% 0,87% 0,26%

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

весового коэффициента Wi может быть выбрано из множества щ е[2;3;...; т] (характеристики кодов со

значением Wi > т неизменны). Таким образом, один разряд может быть взвешен т - 1 количеством способов, что при взвешивании поочередно каждого из разрядов даст следующее количество кодов:

~NWS

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

) = т2 - т +1.

В табл. 3 приводится количество способов выбора кода для контроля схем с различным количеством выходов. Для схемы «о/и2», имеющей т = 6 выходов получаем: Ы(тку = 62 — 6 +1 = 31 способ построения системы функционального контроля.

Таблица 3

Числа ^ в зависимости от значения т

m 2 3 4 5 6 7 8 9 10 20 50 100

^(т,к) 3 7 13 21 31 43 57 73 91 381 2451 9901

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

Следует отметить, что эксперименты с контрольными комбинационными схемами подтверждают ряд важных свойств WS(m, к, wг)-кодов по обнаружению ошибок, установленных теоретически. Кроме того, в силу невозможности формирования всех возможных информационных векторов на выходах реальных схем, многие важные свойства WS(m, к, wг)-кодов обеспечиваются при меньших значениях весового коэффициента, чем установленное «пороговое» значение [21].

Таблица 4

Показатели обнаружения ошибок на выходах контрольной схемы

к)-код Количество необнаруживаемых ошибок Доли необнаруживаемых ошибок от общего количества ошибок кратностями < = 2 ^ 5, %

Симметричные Асимметричные Симметричные Асимметричные

2 4 3 4 5 2 4 3 4 5

S(m, к) 7 691 31 0 0 0 46,856 0,189 0 0 0

WS(m, к, W1 = 2) 7 621 8 0 0 0 46,43 0,049 0 0 0

WS(m, к, W1 = 3) 7 621 8 0 7 0 46,43 0,049 0 0,043 0

WS(m, к, W1 > 4) 7 621 8 0 0 0 46,43 0,049 0 0 0

WS(m, к, W2 = 2) 2 601 0 2121 0 4 15,846 0 12,922 0 0,024

WS(m, к, W2 = 3) 2 601 0 0 73 0 15,846 0 0 0,445 0

WS(m, к, W2 = 4) 2 601 0 0 0 16 15,846 0 0 0 0,097

WS(m, к, W2 > 5) 2 601 0 0 0 0 15,846 0 0 0 0

WS(m, к, wз > 2) 7 691 23 0 0 0 46,856 0,14 0 0 0

WS(m, к, W4 = 2) 7 643 20 6 0 0 46,564 0,122 0,037 0 0

WS(m, к, W4 > 3) 7 643 20 0 0 0 46,564 0,122 0 0 0

WS(m, к, W5 = 2) 1 040 0 238 0 4 6,336 0 1,45 0 0,024

WS(m, к, W5 = 3) 1 040 0 0 63 0 6,336 0 0 0,384 0

WS(m, к, W5 = 4) 1 040 0 0 0 22 6,336 0 0 0 0,134

WS(m, к, W5 > 5) 1 040 0 0 0 0 6,336 0 0 0 0

WS(m, к, W6 = 2) 4 168 11 106 0 0 25,393 0,067 0,646 0 0

WS(m, к, W6 > 3) 4 168 11 0 0 0 25,393 0,067 0 0 0

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

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

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

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

Из табл. 4 следует, что при контроле схемы «а1и2» с помощью кода Бергера не будет обнаружено 47,045% ошибок (это 7 691 двукратная симметричная ошибка и 31 четырехкратная симметричная ошибка). С использованием кода с суммированием единичных и одного взвешенного информационного разряда удается уменьшить данный показатель, причем наилучший результат в 6,336% ошибок (1 040 двукратных симметричных ошибок) достигается при выборе любого из WS(m, к, > 5)-кодов. Таким образом, путем взвешивания одного информационного разряда удалось повысить количество обнаруживаемых ошибок в 7,425 раза по сравнению с кодом Бергера.

Свойства WS(m, к, мг)-кодов подтверждаются экспериментами со всеми контрольными комбинационными схемами. Например, в табл. 5 дается сравнение WS(m, к, мг)-кодов с классическими кодами Бергера по обнаружению ошибок на выходах контрольных комбинационных схем. Для сравнения выбирались коды Бергера и взвешенные коды, обладающие наилучшими характеристиками обнаружения ошибок. Так как минимум общего количества необнаруживаемых ошибок достигается уже при определенном значении веса взвешенного разряда < т, в таблице указано, для каких выходов и при каких значениях весового коэффициента получаются лучшие результаты (столбцы <«» и «мг»). Следует отметить, что более чем для половины контрольных комбинационных схем достаточно взвесить один из разрядов значением м = 2 для достижения наилучших характеристик обнаружения ошибок.

Таблица 5

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

Контрольная схема Количество выходов Количество необнаруживаемых ошибок i Wi Общее количество немонотонных ошибок П, %

При использовании S

cm\5\a 2 14 592 0 1, 2 > 2 14 592 100 0

c17 2 2 0 1, 2 > 2 2 100 0

cm85a 3 176 48 2 > 2 176 100 27,273

cm 82a 3 68 0 2 > 2 68 100 0

z4ml 4 128 16 3 > 2 160 80 10

cmb 4 6 0 2 > 2 6 100 0

b1 4 2 0 2, 3 > 2 2 100 0

cm 162a 5 1 920 0 4 > 2 3 264 58,824 0

cm 163a 5 10 368 256 4 > 3 17 664 58,696 1,449

alu2 6 7 722 1 040 5 > 5 10 378 74,407 10,021

x7 7 104 0 6 > 4 224 46,429 0

alu4 8 187 274 97 368 7 > 5 328 263 57,05 29,662

f51m 8 123 63 5 > 3 209 58,852 30,144

pcle 9 188 416 113 664 8 > 6 327 168 57,59 34,742

cm42a 10 8 6 3, 4, ..., 8 > 2 270 2,963 2,222

cu 11 34 048 0 10, 11 > 4 34 048 100 0

pm1 13 27 392 14 176 6 > 4 47 616 57,527 29,772

Средние значения 73,667 10,311

Так как рассматриваемые коды обнаруживают любые монотонные ошибки, целесообразно сравнить их по способности идентификации немонотонных искажений. В последних двух столбцах табл. 5 приводятся значения долей необнаруживаемых ошибок от общего количества немонотонных ошибок на выходах контрольных схем для каждого кода (величины п, %). S(m, к)-кодами не обнаруживается существенная доля немонотонных ошибок: для 7 комбинационных схем данная величина равна 100%, а в среднем для представленной выборки - 73,667%. WS(m, к, wг)-коды обладают улучшенными характеристиками обнаружения ошибок: для 8 комбинационных схем получено обнаружение любых немонотонных ошибок, а в среднем - снижение доли необнаруживаемых ошибок по сравнению с кодами Бергера до величины 10,311%. На рис. 2 отображаются статистические данные, характеризующие улучшение свойств обнаружения ошибок кодами при взвешивании одного из разрядов по сравнению с кодами Бергера (в %). Практически для всех комбинационных схем получено обнаружение вдвое большего количества ошибок на выходах, чем при использовании кодов Бергера; средний же показатель составил 20,353% (увеличение количества идентифицируемых искажений в пять раз). Полученные результаты говорят о хороших перспективах приложения WS(m, к, wг)-кодов в задачах технической диагностики и, прежде всего, в организации систем функционального контроля.

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

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

С использованием специально разработанного комплекса программ по анализу свойств кодов с суммированием в системах функционального контроля были получены файлы-описания блоков основной и контрольной логики, генератора и тестера (см. рис. 1). Данные файлы получаются путем применения правил построения WS(m, к, ^г)-кодов ко всем информационным векторам, формируемым для рассматриваемой схемы и последующем сохранении соответствующих представлений в *.pla формате. Данный формат фактически содержит таблицы истинности логических устройств и в дальнейшем с целью определения показателей сложности технической реализации обрабатывается с использованием известного интерпретатора SIS [23, 24]. Сложность технической реализации логического устройства в SIS оценивается по показателю площади (в условных единицах) на основании выбранной библиотеки функциональных элементов. В ходе экспериментов была выбрана стандартная библиотека stdcell2_2.genlib. Результаты расчетов сведены в табл. 6.

Таблица 6

Показатели структурной избыточности систем функционального контроля

(т, к)-код ^СЕБ 5„, ь % ^ (х)' ) , % ТС 8<С(х), % 8С(т,к), %

Б(т, к) ¡7 920 246,696 100 15 000 206,498 83,705

ШБ(т, к, wl = 2) ¡8 408 253,4X4 102,723 14 088 193,943 78,6X6

ШБ(т, к, wl = 3) 19 600 269,824 109,375 15 440 2X2,555 86,161

ШБ(т, к, wl = 4) 19 792 272,467 110,446 14 064 193,612 78,482

ШБ(т, к, wl = 5) 20 064 276,2П 111,964 15 864 2X8,392 88,527

ШБ(т, к, wl = 6) 18 928 260,573 105,625 14 656 201,762 81,786

ШБ(т, к, wl = 7) 19 680 270,925 109,821 15 944 2X9,493 88,973

ШБ(т, к, wl = 8) 16 878 232,35Х 94,185 13 736 189,097 76,652

ШБ(т, к, W2 = 2) ^ 7г2 230,066 93,259 16 032 220,705 89,464

ШБ(т, к, W2 = 3) 2! 2X6 292,07 118,393 17 424 239,868 97,232

ШБ(т, к, W2 = 4) 20 392 280,727 113,795 16 736 230,396 93,393

ШБ(т, к, W2 = 5) 2Х 376 294,273 119,286 17 288 237,996 96,473

ШБ(т, к, W2 = 6) 20 728 285,352 115,67 18 168 250,11 101,384

ШБ(т, к, W2 = 7) 22 288 306,828 124,375 18 960 261,013 105,804

ШБ(т, к, W2 = 8) 2Х 448 295,264 119,688 16 224 223,348 90,536

ШБ(т, к, wз = 2) П 752 244,383 99,063 14 176 195,154 79,107

ШБ(т, к, wз = 3) Х9 760 272,026 110,268 15 128 208,26 84,42

ШБ(т, к, wз = 4) Х9 Ю4 262,996 106,607 15 136 208,37 84,464

ШБ(т, к, wз = 5) Х9 480 268Д72 108,705 15 880 2X8,6X2 88,6X6

ШБ(т, к, wз = 6) Х7 896 246,366 99,866 14 208 195,595 79,286

ШБ(т, к, wз = 7) Х8 488 254,5X5 103,17 14 728 202,753 82,188

ШБ(т, к, wз = 8) Х9 424 267,40Х 108,393 14 424 198,568 80,491

ШБ(т, к, W4 = 2) Х8 456 254,075 102,991 14 864 204,626 82,946

ШБ(т, к, W4 = 3) Х8 904 260,242 105,491 15 200 209,251 84,821

ШБ(т, к, W4 = 4) Х8 272 251,542 101,964 15 384 211,784 85,848

ШБ(т, к, W4 = 5) Х8 272 251,542 101,964 16 304 224,449 90,982

ШБ(т, к, W4 = 6) Х8 632 256,498 103,973 15 7X2 2X6,3 87,679

ШБ(т, к, W4 = 7) 20 г20 276,982 112,277 14 768 203,304 82,411

ШБ(т, к, W4 = 8) Х9 760 272,026 110,268 14 184 195,264 79,152

ШБ(т, к, W5 = 2) Х9 576 269,493 109,241 15 952 2X9,604 89,0X8

ШБ(т, к, W5 = 3) 22 488 309,581 125,491 17 944 247,026 100,134

ШБ(т, к, W5 = 4) 22 632 3X1,564 126,295 17 008 234,141 94,911

ШБ(т, к, W5 = 5) 22 872 3X4,868 127,634 18 848 259,471 105,179

ШБ(т, к, W5 = 6) 23 336 321,256 130,223 18 744 258,04 104,598

ШБ(т, к, W5 = 7) 2Х 944 302,093 122,455 17 856 245,8X5 99,643

ШБ(т, к, W5 = 8) 20 640 284,141 115,179 15 472 2X2,996 86,339

ШБ(т, к, W6 = 2) Х8 г68 250,1 X 101,384 14 456 199,009 80,67

ШБ(т, к, W6 = 3) 2Х 720 299,009 121,205 15 872 2X8,502 88,571

ШБ(т, к, W6 = 4) Х7 888 246,256 99,821 14 544 200,22 81,161

ШБ(т, к, W6 = 5) 20 904 287,775 116,652 15 896 2X8,833 88,705

ШБ(т, к, W6 = 6) 20 480 281,938 114,286 15 496 2X3,326 86,473

ШБ(т, к, W6 = 7) Х9 384 266,85 108,17 15 072 207,489 84,107

ШБ(т, к, W6 = 8) Т8 640 256,608 104,018 12 8X6 176,432 71,518

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

1) с раздельной реализацией блоков основной и контрольной логики (величина LCED);

2) с совместной реализацией блоков основной и контрольной логики (величина L¿ed ).

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

8f

LF

8, ы )=yCD -100°%,

LS

LC

8CP

LF

JC

8C

LS

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

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

W = 2 Г log2 ml _

Это справедливо, поскольку при суммировании значений m - 1 информационного разряда будут заполнены |"log2 (m —1)"| младших разрядов двоичного числа, соответствующего контрольному вектору WS(m, к, wг)-кода, а значение старшего разряда будет определяться значением разряда с приписанным весом согласно формуле (7). Тем не менее в указанном случае количество разрядов в контрольном векторе будет увеличено по сравнению с классическим кодом Бергера, что повлияет на сложность блока G(x) системы функционального контроля и компаратора в составе тестера. Наименьшие значения площадей систем функционального контроля для контрольной схемы «alu2», как следует из табл. 6, получаются при взвешивании разряда весом w, = 2. Взвешенные коды с таким значением веса имеют три контрольных разряда, а остальные коды из представленных в таблице - четыре контрольных разряда. Данное обстоятельство и повлияло на суммарные показатели площадей систем функционального контроля. Тем не менее, как следует из табл. 4, любые WS(m, к, 2)-коды имеют в классе необна-руживаемых большее количество ошибок, чем WS(m, к, w, > 2)-коды (за исключением случая взвешивания разряда w3). Для уменьшения количества необнаруживаемых ошибок потребуется увеличить значение весового коэффициента, что приведет к появлению еще одного контрольного разряда в кодовом слове WS(m, к, wг)-кода. С учетом характеристик обнаружения ошибок взвешенным кодом с суммированием в каждом из семейств кодов с установленным взвешиваемым разрядом должно выбираться и наименьшее значение площади технической реализации. Например, поскольку минимумом общего количества необнаруживаемых ошибок в семействе кодов с взвешенным пятым разрядом информационного вектора обладают все WS(m, к, w5 > 5)-коды, целесообразно выбрать значение весового коэффициента из значений w5 > 5. Минимум площади среди указанных кодов дает использование WS(m, к, w5 = 8)-кода. Построенная система функционального контроля будет иметь площадь, составляющую 115,179% от площади системы контроля по классическому коду Бергера. Другими словами, «новая» система контроля характеризуется усложнением по сравнению со «старой». Но в системе контроля по взвешенному коду с суммированием идентифицируется гораздо большее количество ошибок

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

Следует отметить также возможность дополнительного уменьшения площади при совместной реализации блоков ^(х) и О(х) в системе функционального контроля. В этом случае происходит «сжатие» структур за счет использования части подсхем для реализации как основных, так и контрольных функций. При использовании WS(m, к, W5 = 8)-кода со сжатием блоков основной и контрольной логики удается достичь уменьшения площади системы функционального контроля до значения 86,339% от площади системы контроля по коду Бергера. Однако в этом случае расчеты относительно количества обнаруживаемых ошибок становятся некорректными, а количество необнаруживаемых ошибок возрастает. Это следует считать ценой за уменьшение площади системы функционального контроля.

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

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

Алгоритм 2. Правила выбора WS(m, к, wг)-кода с учетом характеристик получаемых систем функционального контроля:

1. Выходы контрольной схемы объединяются в информационный вектор длиной m.

2. Устанавливаются номер разряда и значение весового коэффициента - числа  иу:  = 1, у = m.

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

4. Значение у уменьшается на единицу: у = у - 1.

5. Повторяются действия п. 3 данного алгоритма.

6. Проверяется следующее условие: есть ли в классе необнаруживаемых асимметричные ошибки?

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

8. Выбирается следующий разряд:  =  + 1.

9. Проверяется условие  = m?

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

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

^ еЦтт;+"!}.

12. Определяются значения wг, при которых достигается минимум значения площади.

Использование алгоритма 2, например, применительно к выбору WS(m, к, wг)-кода для организации контроля рассмотренной выше схемы «а1и2» привело бы к следующему результату. Анализировать характеристики обнаружения ошибок S(m, к), WS(m, к, Wl = 2), WS(m, к, W2 = 2), WS(m, к, W2 = 3), WS(m, к, W5 = 2) и WS(m, к, W5 = 3) кодов не потребовалось бы. Среди оставшихся кодов с суммированием наилучшими характеристиками обнаружения ошибок будут обладать все WS(m, к, W5 > 5)-коды.

Для данных кодов при значениях W5 = 5 ^ 8 потребовалось бы определить площади систем функционального контроля и выбрать код, дающий минимальную по площади систему функционального контроля. В качестве наилучшего был бы установлен WS(m, к, W5 = 8)-код.

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

Заключение

Установленные в ходе экспериментов с набором контрольных комбинационных схем новые свойства WS(m, к, w^-кодов позволяют эффективно использовать их при построении систем функционального контроля. В статье впервые показано, что для реальных логических схем позиция взвешенного разряда в информационном векторе WS(m, к, w^-кода имеет существенное значение. Минимальное же количество необнаруживаемых ошибок достигается во многих случаях при меньшем значении весового коэффициента для конкретного разряда кода, чем установленное «пороговое» значение w = m. Остальные же особенности обнаружения различных видов ошибок на выходах контролируемых схем сохраняются. Предложенный алгоритм выбора WS(m, к, w^-кода для выбранной логической схемы позволяет минимизировать действия разработчика системы функционального контроля.

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

ЛИТЕРАТУРА

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

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

2. Mitra S., McCluskey E.J. Which Concurrent Error Detection Scheme to Choose? // Proceedings of International Test Conference.

03-05 October 2000. Atlantic City, NJ, 2000. P. 985-994.

3. McCluskey E.J. Logic Design Principles: With Emphasis on Testable Semicustom Circuits. Upper Saddle River, NJ : Prentice Hall

PTR, 1986. 549 p.

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

5. Das D., Touba N.A. 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. 1999. P. 370-376.

6. Matrosova A., Levin I., Ostanin S.A. Self-Checking Synchronous FSM Network Design with Low Overhead // VLSI Design. 2000.

V. 11, is. 1. P. 47-58.

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

8. Piestrak S.J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw : Oficyna Wydawnicza

Politechniki Wroclavskiej, 1995. 111 p.

9. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco : Morgan Kaufmann Publishers, 2001. 216 p.

10. Berger J.M. A Note on Error Detection Codes for Asymmetric Channels // Information and Control. 1961. Vol. 4, is. 1. P. 68-73.

11. Jha N.K., Vora M.B. A t-Unidirectional Errors-Detecting Systematic Code // Computers & Mathematics with Applications. 1988. Vol. 16, No. 9. P. 705-714.

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

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

14. Das D., Touba N.A., Seuring M., Gossel M. 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. P. 171-176.

15. Блюдов А.А., Ефанов Д.В., Сапожников В.В., Сапожников Вл.В. О кодах с суммированием единичных разрядов в системах функционального контроля // Автоматика и телемеханика. 2014. № 8. С. 131-145.

16. Sapozhnikov V., Sapozhnikov Vl., Efanov D., Nikitin D. 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. P. 126-136.

17. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Никитин Д.А. Исследование свойств кодов с суммированием с одним взвешенным информационным разрядом в системах функционального контроля // Электронное моделирование. 2015. Т. 37, №1. С. 25-48.

18. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Никитин Д.А. Метод построения кода Бергера с повышенной эффективностью обнаружения ошибок в информационных разрядах // Электронное моделирование. 2013. Т. 35, № 4. С. 21-34.

19. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Построение кодов с суммированием с наименьшим количеством необ-наруживаемых симметричных ошибок в информационных векторах // Радиоэлектроника и информатика. 2014. № 4. С. 46-55.

20. Ефанов Д.В. Анализ способов построения кодов с суммированием с улучшенными характеристиками обнаружения симметричных ошибок в информационных векторах // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2015. № 4. С. 69-81.

21. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Контроль комбинационных схем на основе кодов с суммированием с одним взвешенным информационным разрядом // Автоматика на транспорте. 2016. Т. 2, № 4. С. 564-597.

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

23. Yang S. Logic Synthesis and Optimization Benchmarks: User Guide: Version 3.0. Microelectronics Center of North Carolina (MCNC), 1991. 88 p.

24. 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, A. Sangiovanni-Vincentelli // Electronics Research Laboratory, Department of Electrical Engineering and Computer Science, University of California, Berkeley, 4 May 1992. 45 p.

Поступила в редакцию 27 сентября 2017 г.

Efanov D.V. (2018) EXPERIMENTAL STUDIES OF ONE-BIT AND ONE WEIGHTED BIT SUM CODES WITHIN CONCURRENT ERROR DETECTION SYSTEMS. Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie vychislitelnaja tehnika i in-formatika [Tomsk State University Journal of Control and Computer Science]. 43. pp. 81-94.

DOI: 10.17223/19988605/43/10

In concurrent error detection (CED) system tested logic circuit F(x) with m outputs are equipped with special check circuit, that allows indirectly to determine its structure faults by the results of analysis of calculated function values. There are reference logic block G(x) and totally self-checking checker within the structure of check circuit. Block G(x) calculates k values of reference functions, and checker registers the conformance of operational and reference functions values during the CED system operation. In general, CED system bases on pre-selected code with small redundancy, focused on error detection in data vectors. Typically the sum codes, or (m,k)-codes (with m and k - lengths of data and check vectors of the code) are used.

One of the promising modifications is building the (m,k)-code, where single weight factors are assigned to m-1 bit of data vector, and to one of them - the weight factor w,>2. The author refers to them as WS(m,k,Wi)-code. This paper highlights the results of using these codes within CED systems of reference combinational logic circuits.

This article provides the results of experimental studies of WS(m,k,Wi)-code within CED systems with the set of reference combinational circuits LGSynth'89. It demonstrates the analysis of features of this class of codes by error detection at the outputs of tested units, as well as the assessment of weighted bit position weight factor value influences on the performances of CED system equipment redundancy.

From the error detection performance perspective at the outputs of tested circuits the value of weight factor w, can be selected from the set wt e [2;3;...;m] (characteristics of codes with w, > m are unchanged). Thus, one bit can be weighted m - 1 number of ways, that during the weighting one by one each of the bits will give the following number of codes:

NWS(m,k,w) =(m - 1)m = m2 " m. Therefore, taking into account the famous Berger code, we get that the circuit with m outputs is possible to control by using this number of sum codes with the different error detection performances:

2

N(m,k) = m - m + 1

The article also refines the well-known characteristics of weight-based sum codes in the case of forming the nonregular number of data vectors at the outputs of real logic circuits. The key characteristics among others of WS(m,k,Wi)-codes, registration of which is reasonable during the synthesis of CED systems of real combinational circuits, are the following:

I. WS(m,k,Wi)-codes, regardless of weighted bit in data vector and the weight factor value, detect any unidirectional errors in data vectors.

2. With the certain value of weight factor, regardless of weighted bit in data vector, WS(m,k,Wi)-codes detect all asymmetrical errors in data vectors (this characteristic provided for sure when wi>m, however for real circuits the exclusion of asymmetrical errors from the undetectable ones can be achieved also under the lower values of w,).

3. When weight factor w,>2 the minimum number of undetectable symmetrical errors are achieved for the given weighted bit of data vector, and for the different weighted bits this minimum number is different.

The author obtained the following basic experimental results. Since codes under consideration detect any unidirectional errors, it is reasonable to make its comparison based on its ability to detect non-unidirectional distortions. Berger codes do not detect the significant part of non-unidirectional errors: for 7 combinational circuits this value is 100%, and the average value for the sample - 73.667%. WS(m,k,w,)-codes have improved characteristics for error detection: for 8 combinational circuits any non-unidirectional errors were detected, and at average - the fraction of undetectable errors was decreased in comparison with Berger codes to 10.311%. For about all combinational circuits the doubled number of errors at the outputs was obtained, in comparison with Berger codes; the average is 20.353% (5 times increasing the number of detectable distortions). The results obtained provide good prospects for implementation of WS(m,k,w,)-codes within technical diagnostics problem solving, and, first of all, for CED systems organization.

The article offers an algorithm of sum code selection considering the maximum error detection at the outputs of tested unit and the possibility of decreasing the equipment redundancy of CED system for the specific weighted bit.

Using of WS(m,k,w,)-codes for CED systems synthesis allows to increase the number of ways for its technical implementation and to provide the systems structure, that will meet pre-determined requirements for error detection and equipment redundancy.

Keywords: concurrent error-detection system; combinational circuit; Berger code; weight-based code; one weighted bit.

EFANOV Dmitry Viktorovich (Candidate of Technical Sciences, Associate Professor, Emperor Alexander I St. Petersburg State Transport University, St. Petersburg, Russian Federation). E-mail: TrES-4b@yandex.ru

REFERENCES

1. Nicolaidis, M. & Zorian, Y. (1998) On-Line Testing for VLSI - А Compendium of Approaches. Journal of Electronic Testing:

Theory and Application. 12(1-2). pp. 7-20. DOI: 10.1023/A:1008244815697

2. Mitra, S. & McCluskey, E.J. (2000) Which Concurrent Error Detection Scheme to Choose? Proceedings of International Test

Conference. USA. Atlantic City. NJ. October 3-5, 2000. pp. 985-994. DOI: 10.1109/TEST.2000.894311

3. McCluskey, E.J. (1986) Logic Design Principles: With Emphasis on Testable Semicustom Circuits. New Jersey: Prentice Hall PTR.

4. Sogomonyan, E.S. & Slabakov, E.V. (1989) Samoproveryayemyye ustroystva i otkazoustoychivyye sistemy [Self-Checking Devices

and Fault-Tolerant Systems]. Moscow: Radio & Communication.

5. Das, D. & Touba, N.A. (1999) Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits.

Proceedings of 17th IEEE Test Symposium, California. USA. pp. 370-376. DOI: 10.1109/VTEST.1999.766691

6. Matrosova, A.Yu., Levin, I. & Ostanin, S.A. (2000) Self-Checking Synchronous FSM Network Design with Low Overhead. VLSI

Design. 11(1). pp. 47-58. DOI:10.1155/2000/46578

7. Fujiwara, E. (2006) Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons.

8. Piestrak, S.J. (1995) Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw: Oficyna Wydawnicza

Politechniki Wroclavskiej.

9. Lala, P.K. (2001) Self-Checking and Fault-Tolerant Digital Design. San Francisco: Morgan Kaufmann Publishers.

10. Berger, J.M. (1961) А Note on Error Detecting Codes for Asymmetric Channels. Information and Control. 4(1). pp. 68-73. DOI: 10.1016/S0019-9958(61)80037-5

11. Jha, N.K. & Vora, M.B. (1988) A t-Unidirectional Errors-Detecting Systematic Code. Computers & Mathematics with Applications. 16(9). pp. 705-714. DOI: 10.1016/0898-1221(88)90006-5

12. Efanov, D.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2010) On Summation Code Properties in Functional Control Circuits. Automation and Remote Control. 71(6). pp. 1117-1123. DOI: 10.1134/S0005117910060123

13. 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. 15(1-2). pp. 145-155. DOI: 10.1023/A:1008344603814

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

15. Blyudov, A.A., Efanov, D.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2014) On Summation Code of Unit Bits in Concurrent Error Detection Systems. Automation and Remote Control. 75(8). pp. 1460-1470. DOI: 10.1134/S0005117914080098

16. Sapozhnikov, V., 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. pp. 126-136. DOI: 10.1109/EWDTS.2014.7027064

17. Sapozhnikov, V.V., Sapozhnikov, Vl.V., Efanov, D.V. & Nikitin, D.A. (2015) Research of Properties of Codes With Summation With One Weighted Data Bit in Concurrent Error Detection Systems. Elektronnoye modelirovaniye - Electronic Modeling. 37(1). pp. 25-48. (In Russian).

18. Sapozhnikov, V.V., Sapozhnikov, Vl.V., Efanov, D.V. & Nikitin, D.A. (2013) Method of Berger Code Generation With Improved Efficiency of Error-Detection in Data Bits. Elektronnoye modelirovaniye - Electronic Modeling. 35(4). pp. 21-34. (In Russian).

19. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2014) Formation of Codes with Summation with the Smallest Number of Undetectable Errors of Data Bits. Radioelektronika i informatika - Radioelectronics & Informatics. 4. pp. 46-55. (In Russian).

20. Efanov, D.V. (2015) Analysis of Formation Methods of Sum Codes with Improved Characteristics of Detection of Symmetrical Errors in Data Vectors. Vestnik Tomskogo gosudarstvennogo universiteta. Upravleniye, vychislitel'naya tekhnika i informatika -Tomsk State University Journal of Control and Computer Science. 4(33). pp. 69-81. DOI: 10.17223/19988605/32/9. (In Russian).

21. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2016) Checking of Combinational Circuits, Based on Sum Codes with One Weighted Data Bit. Avtomatika na transporte - Automation on Transport. 2(4). pp. 564-597. (In Russian).

22. Yang, S. (1991) Logic Synthesis and Optimization Benchmarks: User Guide: Version 3.0. Microelectronics Center of North Carolina (MCNC).

23. Sentovich, E.M., Singh, K.J., Lavagno, L., Moon, C., Murgai, R., Saldanha, A., Savoj, H., Stephan, P.R., Brayton, R.K.& Sangio-vanni-Vincentelli, A. (1992) SIS: A System for Sequential Circuit Synthesis. Electronics Research Laboratory, Department of Electrical Engineering and Computer Science, University of California. Berkeley.