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

Вопросы технической диагностики

81

Вопросы технической диагностики

УДК 681.518.5:004.052.32

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

В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов Кафедра «Автоматика и телемеханика на железных дорогах»

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

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

1 Введение

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

В общем случае система функционального контроля подразумевает наличие трех компонентов: блока основной логики fx), блока контрольной логики g(x) и блока тестера. Элементы системы контроля объединяются так, как это показано на рис. 1.

В контролируемом устройстве fx) возможно возникновение любых неисправно-

стей (как константных, так и неисправностей типа «временная задержка» [7-9]), но чаще всего объект рассматривается при потенциальном возникновении только однократных искажений во внутренних элементах структуры.

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

Сигнал

контроля

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

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

Как отмечается в [7], при построении систем функционального диагностирования комбинационных логических устройств далеко не всегда эффективно использовать именно принцип дублирования. Можно построить систему функционального контроля, обнаруживающую все однократные дефекты блока f(x) с уменьшенной сложностью. Для

82

Вопросы технической диагностики

решения этой задачи применяются свойства разделимых (систематических) кодов [10].

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

2 О кодах Бергера и их показателях в системах функционального контроля

При организации систем функционального контроля комбинационных логических устройств часто используются коды с суммированием. Данный класс кодов также принадлежит к разделимым кодам. Значения контрольных разрядов определяются по значениям информационных. Наиболее простой способ построения кода с суммированием заключается в подсчете суммы единичных информационных разрядов (веса r информационного вектора). Код, у которого в контрольном векторе записывается двоичное число, равное весу информационного вектора, называется классическим кодом Бергера [11]. Далее будем этот код обозначать как S(n, т)-код, где n = m + к - общая длина кодового вектора.

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

Необнаруживаемыми искажениями в информационных векторах S(n, т)-кодов являются разнонаправленные ошибки четных кратностей (рис. 2, в). Число таких искажений четной кратности d (d е {2,4,..., m -1},

если m - нечетное и d е {2,4,...,m} если m -четное) может быть подсчитано по формуле [12]:

d

m-2 d d

N = V Cr C 2 C 2

m,d m r m-r'

=d r = 2

a)

11

1101 001

б)

ft t

0110 001

в)

1000 001

Рис. 2 Ошибки в информационных векторах кодов: а - обнаруживаемые однонаправленные; б - обнаруживаемые разнонаправленные; в - необнаруживаемые

Зная выражение (1), нетрудно рассчитать и общее число искажений в коде Бергера как сумму всех величин Nm,d.

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

Pd =

N

N

m,d

d

m--

2

I

=d r = 2

d d CrC 2C 2

^ n/i ^ ^ n/i_

m,d

2mC

В знаменателе формулы (2) записано общее число необнаруживаемых искажений кратности d.

В [12] доказано, что для классических кодов Бергера значение величины pd постоянно и не зависит от длины информационного вектора:

d

P d = 2- dCd2.

Другими словами, процент необнаруживаемых искажений кратности d от общего числа искажений той же кратности в кодах Бергера является постоянным.

Вопросы технической диагностики

83

Пользуясь (2), нетрудно определить, что Р2 = 0,5; Р4 = 0,375; Рб = 0,3125; ... Р20 = 0,1762.

Классические коды Бергера имеют низкую эффективность обнаружения искажений в области малой кратности - ими не обнаруживается 50 % двукратных искажений и 37,5 % четырехкратных искажений.

Кроме приведенного показателя pd для оценки эффективности кода по обнаружению искажений, используется коэффициент Y - доля необнаруживаемых ошибок от общего числа ошибок в коде и £, - коэффициент эффективности кода при заданных длинах информационных и контрольных векторов. Коэффициент £, определяется как отношение числа необнаруживаемых ошибок в данном коде к числу необнаруживаемых ошибок в так называемом оптимальном коде при таких же значениях m и к [13]:

ъ, _NmL.

~ лгт1П 4 7

1 vm,k

В оптимальном коде, как показано в [13], все 2m информационных векторов распределяются по 2к контрольным векторам равномерно, что делает значение общего числа необнаруживаемых ошибок минимальным:

Nmk = 2m

В коде Бергера каждому контрольному вектору соответствуют Crm информационных

векторов, что определяет и низкое значение коэффициента ^: для большинства S(n, m)-кодов £, < 0,5.

В работе [11] предложен способ построения кодов с суммированием, позволяющий обнаруживать любые двукратные искажения в кодовых векторах. Он основан на приписывании каждому информационному разряду некоторого весового коэффициента wt. Джей Бергер (Jay M. Berger) предложил использовать последовательность натуральных чисел, за исключением степеней числа 2 в качестве значений весовых коэффициентов:

[3, 5, 6, 7, 9, 10, ...]. Данный код назовем взвешенным кодом Бергера и обозначим как WS(n, m)-код. Взвешенные коды с другими значениями весовых коэффициентов применительно к решению задач построения систем функционального диагностирования рассматривались в [14-17].

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

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

Рассмотрим классический и взвешенный коды Бергера при длине информационного вектора m = 3. Число контрольных разрядов S(n, m)-кода определяется величиной k = | log2 (m +1)], а во взвешенных кодах -

величиной к = |"log2 (Wmax + 1)] , где Wmax

является суммой весов информационных разрядов для информационного вектора <1,1,...,1> (запись |~b] обозначает целое

сверху от b). Таким образом, в классическом коде Бергера имеется к = 2 контрольных разрядов, а во взвешенном - к = 4 контрольных разрядов. В табл. 1 представлены кодовые векторы рассматриваемых S(5, 3) и WS(7, 3) кодов.

Анализируя табл. 1, отметим, что каждому информационному вектору WS(7, 3)-кода соответствует только один контрольный вектор, а в S(5, 3)-коде нескольким информационным векторам может соответствовать один контрольный, поэтому в WS(7, 3)-коде нет необнаруживаемых искажений, а в S(5, 3)-коде они есть. Отметим, что у WS(7, 3)-кода число к > m, поэтому он не является удачным выбором при организации систем функционального контроля - коды с повторением (double-codes) в этом имеют приоритет.

84

Вопросы технической диагностики

ТАБЛИЦА 1. Кодовые векторы S(5, 3) и WS(7, 3) кодов

№ Информационный вектор S(5, 3)-код WS(7, 3)-код

*1 *2 *3 У\ У2 У1 У2 У3 У4

0 0 0 0 0 0 0 0 0 0

1 0 0 1 0 1 0 1 1 0

2 0 1 0 0 1 0 1 0 1

3 0 1 1 1 0 1 0 1 1

4 1 0 0 0 1 0 0 1 1

5 1 0 1 1 0 1 0 0 1

6 1 1 0 1 0 1 0 0 0

7 1 1 1 1 1 1 0 0 1

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

Сравнивая значения количества необнаруживаемых искажений по кратностям для S(n, m) и WS(n, m) кодов, отметим следующие особенности кодов Бергера:

1. Любой WS(n, т)-код имеет меньшее количество необнаруживаемых искажений четной кратности d, чем соответствующий S(n, т)-код.

2. Любой WS(n, т)-код обнаруживает все двукратные искажения в информационных векторах.

3. Любой S(n, т)-код, в отличие от WS(n, т)-кода, обнаруживает все искажения нечетных кратностей.

4. Любой WS(n, т)-код обнаруживает на порядок больше ошибок в информационных векторах, чем S(n, т)-код.

На рис. 3 приводится график зависимо-

NS

сти величины А = ——г - отношения

ATWS (п,т) v т

числа необнаруживаемых ошибок в S(n, т)-кодах к числу необнаруживаемых искажений в WS(n, т)-кодах. Величина А достигает своего минимума при т = 8.

Для сравнения на рис. 4 и 5 приводятся графики изменения величин у и £, при изменении длины информационного вектора соответственно для S(n, т)-кодов и WS(n, т)-кодов.

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

Для WS(n, т)-кодов по графикам на рис. 5 можно также установить следующее свойство. Для кодов с постоянным значением числа контрольных разрядов к увеличиваются значения коэффициента £, от кода с числом информационных разрядов т = 2к—1 к коду с числом информационных разрядов т = 2к , где к = |"log2 (Wmax +1)]. Подобным

свойством обладают и классические коды Бергера с той лишь разницей, что в них к = |"log2(rn +1)] [13, 18].

ТАБЛИЦА 2. Необнаруживаемые ошибки в кодах Бергера

m Необнаруживаемые ошибки кратностей d Nm %

К 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 У

4 0 0 0 0 —

2 0 2 2 0,1667 0

3 5 0 0 0 0 0 _

2 0 12 0 12 022143 0,6667

5 0 0 0 0 0 0 —

3 0 48 0 6 54 0,225 0,2963

5 0 0 8 4 2 14 0,0141 0

3 0 160 0 60 0 220 022218 0,4364

6 0 0 32 32 8 2 74 0,0184 0

3 0 480 0 360 0 20 860 0,2133 0,5209

7 6 0 0 96 128 72 24 0 320 0,0197 0,4

3 0 1344 0 1680 0 280 0 3304 0,2032 0,5811

8 6 0 0 320 480 304 136 40 0 1280 0,0196 0,6

4 0 3584 0 6720 0 2240 0 70 12614 0,1932 03044

7 0 0 896 1600 1280 736 280 48 14 4854 0,0186 03164

4 0 9216 0 24192 0 13440 0 1260 0 48108 0,1839 03299

7 0 0 2304 5120 4800 3232 1856 600 108 26 18046 0,0172 03972

1U 4 0 23040 0 80640 0 67200 0 12600 0 252 183732 0,1754 03511

7 0 0 6144 14848 16384 13696 9312 4272 1480 332 0 66468 0,0159 0,4622

11 4 0 56320 0 253440 0 295680 0 92400 0 5544 0 703384 0,1678 03698

7 0 0 16384 39936 51456 52480 41792 24448 11136 3088 352 82 241154 0,0144 0,5265

\1 4 0 135168 0 760320 0 1182720 0 554324 0 66528 0 924 2699984 0,161 03868

8 0 0 40960 108544 154624 182016 174720 121280 64288 25648 6184 796 150 879210 0,0131 0,2888

4 0 319488 0 2196480 0 4392960 0 2882880 0 576576 0 24024 0 10392408 0,1549 0,4028

14 8 0 0 98304 282624 458752 609280 654080 536832 346048 165312 53872 13400 2560 0 3221064 0,012 03205

4 0 745472 0 6150144 0 15375360 0 13453440 0 4036032 0 336336 0 3432 40100216 0,1494 0,418

8 0 0 237568 729088 1294336 1927168 2353664 2200832 1619072 937472 402048 123584 29352 4708 0 11858892 0,011 03509

4 0 1720320 0 16773120 0 51251200 0 57657600 0 24216192 0 3363360 0 102960 0 155084752 0,1444 0,4325

со

(Л

Вопросы технической диагностики

86

Вопросы технической диагностики

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 m

Рис. 3 График зависимости величины Д от m

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 m

Рис. 4 Графики зависимостей величины у от m

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 m

Рис. 5 Графики зависимостей величины £ от m

4 Заключение

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

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

Вопросы технической диагностики

87

формационных разрядах. Это определяет возможности кодов с суммированием в решении задач организации контроля комбинационных схем, в которых любая одиночная неисправность может привести только к монотонным искажениям выходов [21-25].

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

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

1. 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, vol. 16, Jul. 1997, pp.783-789.

2. Nicolaidis M., Zorian Y. On-Line Testing for VLSI - А Compendium of Approaches // Journal of Electronic Testing: Theory and Applications. -№ 12.- 1998. - Pp. 7-20.

3. Dutta A., Touba N. A. Synthesis of NonIntrusive Concurrent Error Detection Using an Even Error Detection Function // International test conference (ITC). - 2005. - Pp. 1059-1066.

4. New Methods of Concurrent Checking: Edition 1 / M. Goessel, V. Ocheretny, E. Sogomonyan, D. Ma-rienfeld. - Dordrecht: Springer Science + Business Media B. V., 2008. - 184 p. - ISBN 978-1-4020-8419-5.

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

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

хоменко, Е. С. Согомонян. - Москва : Энерго-атомиздат, 1981. - 320 с.

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

8. Path Delay Faults and ENF / A. Matrosova,

V. Lipsky, A. Melnikov, V. Singh // Proceedings of IEEE East-West Design & Test Symposium (EWDTS'2010), St. Petersburg, Russia, September 17-20, 2010, pp.164-167.

9. Обеспечение тестируемости задержек путей при синтезе схем покрытием BDD-графов / А. Ю. Матросова, Д. В. Кудин, Е. А. Николаева, Е. В. Румянцева // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. - 2013. - № 2 (23). - С. 130-139.

10. Hall J. I. Notes on Coding Theory // Dep. Of Mathematics Michigan State University East Lansing, MI 48824 USA, 3 January 2003. - 193 p.

11. Berger, J. M. A note on error detection codes for asymmetric channels // Information and Control. - 1961. - Vol. 4. - Issue 1. - Pp. 68-73.

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

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

14. Das D., Touba N.A. Weight-Based Codes and their Application to concurrent error detection of multilevel circuits // Proc. 17th IEEE Test Symposium, California, USA, 1999, pp. 370-376.

15. Favalli M., Metra C. Optimization of error detecting codes for the detection of crosstalk originated errors // Design, Automation and Test in Europe (DATE), March 13-16, 2001, pp. 290-296.

16. Low cost concurrent error detection based on modulo weight-based codes / D. Das, N. A. Touba, M. Seuring, M. Gossel // Proceedings of IEEE 6th International On-line Testing Workshop (IOLTW), Spain, Palma de Mallorca, July 3-5, 2000, pp. 171176.

17. Scan chain fault identification using weight-based codes for SoC circuits / S. Ghosh, K. W. Lai,

W. B. Jone, S. C. Chang // Proceedings of the 13th Asian Test Symposium (ATS'2004), 2004, pp. 210-215.

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

88

Вопросы технической диагностики

Электронное моделирование. - 2013. - Т. 35. -№ 4. - С. 21-34.

19. Дианов, В. Н. Концептуальные особенности построения бессбойной аппаратуры / В. Н. Дианов // Автоматика и телемеханика. - 2012. -№ 7. - С. 119-138.

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

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

22. Метод построения комбинационных са-мопроверяемых устройств с обнаружением всех одиночных неисправностей / В. В. Сапожников,

Вл. В. Сапожников, М. Гессель, А. А. Морозов // Электронное моделирование. - 1998. - Т. 20. -№ 6. - С. 70-80.

23. Morozov A. Entwurf von selbstprufenden digitalen Schaltungen mit monoton unabhangigen Ausgangen: Dissertation Dr. Rer. nat. // Universitat Potsdam, 1996. - P. 85.

24. Self-Checking Combinational Circuits with Unidirectionally Independent Outputs / A. Morosow, V. V. Saposhnikov, Vl. V. Saposhnikov, M. Goessel // VLSI Design. - 1998. - V. 5. - Issue 4. - Pp. 333345.

25. A New Design Method for Self-Checking Unidirectional Combinational Circuits / Saposhnikov V. V., Morosov A., Saposhnikov Vl. V., Goessel M. // Journal of Electronic Testing: Theory and Applications (JETTA). - 1998. - V. 12. - Issue 1-2 (February /April). - Pp. 41-53.