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

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

CC BY
233
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОД С ОБНАРУЖЕНИЕМ ОШИБОК / СХЕМА КОНТРОЛЯ / ТЕСТЕР

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

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

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

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

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

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

126

Проблематика транспортных систем

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

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

1. Родес Д. Тенденции развития конструкции верхнего строения пути // Железные дороги мира. - 2002. - №1.

2. Вериго М. Ф., Коган А. Я. Взаимодействие пути и подвижного состава. - М.: Транспорт, 1986.

3. Савинов О. А. Сейсмоизоляция сооружений (концепция, принцип устройства, особенности расчета) // Динамические проблемы строительной техники: Избр. статьи и доклады. - СПб., 1993.

4. Кондратов В. В., Уздин А. М., Харина Ю. А. Основные дефекты конструкции безбалластного мостового полотна на железнодорожных мостах и их влияние на безопасность движения // Сейсмостойкое строительство. Безопасность сооружений. - 2004. - №1.

УДК 519.714.2

В. Б. Мехов, В. В. Сапожников, Вл. В. Сапожников

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

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

код с обнаружением ошибок, схема контроля, тестер.

Введение

На рисунке 1 приведена обобщенная структура функционального контроля комбинационной схемы. Заданная схема fx) реализует систему булевых функций f (x), f2(x), ...,fn(x) от m переменных Хц Х2,xm. Для организации контроля устанавливается блок дополнительной логики g(x), который вычисляет такие функции g1(x), g2(x),..., gk(x), что рабочие выходные векторы <f f2...f g1 g2... gk> являются кодовыми словами некоторого кода с обнаружением ошибок. Факт принадлежности этих векторов выбранному коду контролируется с помощью специального устройства - тестера [1], [2].

При возникновении неисправностей в блоках f(x) и g(x) происходит искажение выходного вектора <f f2...f g1 g2 -. gn>, что фиксируется тестером. В качестве кода, на основе которого организуется контроль, может быть использован любой код с обнаружением ошибок. Наиболее часто применяется разделимый код, у которого отдельно выделяются информационная и контрольная части кодовой комбинации. При этом контрольная часть строится по заданной информационной части. При контроле комбинационной схемы (см. рис. 1) ин-

2006/2

Proceedings of Petersburg Transport University

Проблематика транспортных систем

127

формационная часть кодовой комбинации формируется на выходах основного блокаfx), а контрольная часть - на выходах дополнительного блока g^x).

В качестве тестера в структуре контроля комбинационной схемы используется самопроверяемый тестер (СПТ), имеющий два выхода (Zi и Z2) и обладающий свойствами контроля входного вектора и самопроверки. Если на входе исправного тестера присутствует вектор заданного кода, то на выходах Zi и Z2

формируются противоположные сигналы (Zi = Z 2). При поступлении на вход тестера некодового вектора или при возникновении неисправности в структуре самого тестера на его выходах формируются одинаковые сигналы (Zi = Z2), чем и фиксируется отказ схемы. Теория построения СПТ для разных кодов достаточно хорошо разработана [1]- [3].

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

Zi

Z2

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

При построении структуры в соответствии с рисунком i решаются следующие задачи:

синтез схемы дополнительного блока g"(x) с минимальной сложностью; обеспечение обнаружения максимального числа неисправностей в основном блоке fx);

синтез схемы тестера с наименьшей сложностью;

формирование на входе СПТ проверяющего теста, обеспечивающего обнаружение всех одиночных неисправностей СПТ.

1 Традиционные структуры функционального контроля

ISSN i8i5-588 X. Известия ПГУПС

2006/2

128

Проблематика транспортных систем

Сложность дополнительного блока g(x) существенным образом определяется числом выходов gi(x), g2(x),gk(x), а следовательно, числом контрольных разрядов используемого разделимого кода.

На рисунке 2 приведена схема контроля на основе кода паритета (кода с контролем на четность), в которой дополнительный блок вычисляет только одну контрольную функцию (минимальное число контрольных функций):

g(x)= fl(x) ©J2(x) 0.. .0 fn(x).

Zi

Z2

Рис. 2. Схема контроля методом паритета

Тестер включает в себя схему из последовательно соединенных элементов М2, реализующих функцию «сложение по модулю 2», которая также вычисляет функцию g(x).

На рисунке 3 приведена схема контроля на основе кода с повторением (схема дублирования), в которой дополнительный блок (второй экземпляр основного блока) вычисляет максимальное число контрольных функций. Тестер включает в себя схему сравнения парафазных сигналов TRC (two-rail checker), которая составляется из элементарных модулей сравнения двух парафазных сигналов [2].

На рисунке 4 приведена схема контроля на основе разделимого кода, в которой дополнительный блок вычисляет k контрольных функций, причем 2 < k <n. Тестер содержит генератор G, который вычисляет значения контрольных разрядов через функцииfi(x),f2(x),fn(x), реализуемые на выходах основного блока.

2006/2

Proceedings of Petersburg Transport University

Проблематика транспортных систем

129

Рис. 3. Схема контроля методом дублирования

Zi

Z2

Zi

Z2

Рис. 4. Схема контроля на основе разделимого кода

ISSN 1815-588 X. Известия ПГУПС

2006/2

130

Проблематика транспортных систем

В статье [4] предложен разделимый код с суммированием S(n/k) (n - общее число разрядов кодовых слов, к - число информационных разрядов). В таблице 1 представлен S(5/3)-код. Образуется множество из 2к информационных слов. Каждому информационному слову присваивается контрольное слово из ]/og2(k+1)[ разрядов. Контрольное слово образуется как двоичное число, отражающее количество единиц (нулей), содержащихся среди k символов соответствующего информационного слова. Генератор G для S(n/k)-кода составляется из элементарных модулей: полных (FA) и полусумматоров (HA).

ТАБЛИЦА 1. Разделимые коды

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

во S(5/3)-код S1(6/3)-код S2(5/3)-код

*3 *2 *1 У2 У1 У3 У2 У1 У2 У1

0 0 0 0 0 0 0 0 0 0

0 0 1 0 1 0 0 1 0 1

0 1 0 0 1 0 1 0 1 1

0 1 1 1 0 0 1 1 1 0

1 0 0 0 1 0 1 1 1 0

1 0 1 1 0 1 0 0 1 1

1 1 0 1 0 1 0 1 0 1

1 1 1 1 1 1 1 0 0 0

В таблице 2 приведены характеристики схем контроля на основе кодов паритета (Д4/3)-код), дублирования (0(6/3)-код) и суммирования ^(5/3)-код). Во всех случаях применяется код с тремя информационными разрядами. Неисправности элементов внутри основного блока^(х) приводят к искажению сигналов на выходах блока, что соответствует возникновению ошибок (искажений разрядов) в информационных словах. Неисправности в дополнительном блоке и соответственно ошибки в контрольных словах не рассматриваются. Поэтому общее число ошибок и число ошибок каждой кратности (в данном случае кратности 1, 2, 3) для всех кодов одинаковы.

ТАБЛИЦА 2. Характеристики схем контроля

Коды Число/процент необнаруживаемых ошибок Q W

Кратность ошибки 1 2 3 Всего

Общее число ошибок 24 24 8 56

/>(4/3)-код 0 24/100 0 24/42,9 0,216 6

И(6/3)-код 0 0 0 0 0 12

S(5/3)-код 0 12/50 0 12/21,4 0,108 17

S1(6/3)-код 0 0 2/25 2/3,6 0,002 37

S2(5/3)-код 0 0 8/100 8/14,3 0,008 12

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

2006/2

Proceedings of Petersburg Transport University

Проблематика транспортных систем

131

P = 0,9. Например, для Р(4/3)-кода не обнаруживаются 24 ошибки кратности 2. Поэтому

Q = 24p(1 - p)2 = 24-0,9(1 - 0,9)2 = 0,216.

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

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

На практике наиболее часто используется 8(п/К)-код, т. к. он обеспечивает сравнительно небольшое число выходов дополнительного блока при достаточно высокой обнаруживающей способности.

В работе [5] предложен модифицированный код с суммированием S1(n/k), который строится следующим образом. Каждому разряду xj информационных слов присваивается вес Uj = i, как это показано в таблицы 3. Для данного информационного слова подсчитывается число а по формуле:

a = YuUj, (1)

ieR

где R - множество индексов разрядов, принимающих единичное значение в рассматриваемом информационном слове.

ТАБЛИЦА 3. Веса разрядов

Код Веса разрядов

*3 Х2 Х1

S1(6/3) 3 2 1

S2(5/3) 2 1

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

Контрольное слово является двоичным представлением числа а. В соответствии с правилом построения S1(n/k)-код получил название «код с суммированием весов разрядов».

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

Рассмотрим новый код с суммированием взвешенных переходов S2(n/k), который строится следующим образом. Рассматривается каждый переход между информационными разрядами xj и X+1, которому присваивается вес U +1 = i (см. табл. 3). Для данного информационного слова подсчитывается число b по формуле:

ISSN 1815-588 X. Известия ПГУПС

2006/2

132

Проблематика транспортных систем

b = ZUi J+1, (2)

ieR

где R - множество переходов xi — xi+1, для которых xi Ф xi+i.

Контрольное слово является двоичным представлением числа b. В таблице 1 для значения к = 3 приведены коды 51(6/3) и 52(5/3). На рисунках 5 и 6 представлены тестеры, а в таблице 2 - характеристики схем контроля на основе этих кодов. Из таблице 2 видно, что модифицированные коды имеют лучшие характеристики по обнаружению ошибок, чем 5(п/к)-код. Однако модифицированные коды имеют большее число контрольных разрядов h = n — к. В таблице 4 приведены значения h для некоторых значений к.

Xi

X2

X3

У3

У2

У1

Zi

Z2

Рис. 5. Тестер кода 51 (6/3)

2006/2

Proceedings of Petersburg Transport University

Проблематика транспортных систем

133

Xi

X2

X3

У1

У2

Zi

Z2

Рис. 6. Тестер кода 52(5/3)

ТАБЛИЦА 4. Число контрольных разрядов

k 3 4 5 6 7 8 9 17 50 100

h S(n/k)-код 2 3 3 3 4 4 4 5 6 7

S1(n/k)-код 3 4 4 5 5 6 6 8 11 13

S2(n/k)-код 2 3 4 4 5 5 6 7 11 13

Число контрольных разрядов определяется по формулам:

- 8(п/к)-код: h=]log2 k+1[;

- 51(п/к)-код: h=]log2k(k +1 [;

2

- 52(п/к)-код: h=]log2k(k -1 [.

2

С целью уменьшения числа контрольных разрядов изменим правила построения кода S2(n/k). Код S3(n/k) строится так же, как и код S2(n/k), но каждому переходу между информационными разрядами xj и x+i присваивается вес Ui, j+1 = 2j 1 (см. табл. 5). В таблице 6 представлен код S3(9/5).

ТАБЛИЦА 5. Веса переходов S3(n/k)-кода

Код Веса переходов

х5 х4 Х3 Х2 Х1

S3(n/k) 23 22 21 20

ISSN 1815-588 X. Известия ПГУПС

2006/2

134

Проблематика транспортных систем ТАБЛИЦА 6. Коды 53(9/5) и S4(8/5)

Информационное слово Контрольное слово Информационное слово Контрольное слово

S3(9/5)-код S4(8/5)- код S3(9/5)-код S4(8/5)- код

Х5 Х4 X3 X2 X1 у 4 у3 у2 у1 у3 у2 у1 Х5 Х4 Х3 Х2 Х1 у 4 у3 у2 у1 у3 у2 у1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Код S3(n/k) обладает следующими свойствами. Число контрольных разрядов кода h = k—1. Два кодовых слова, имеющих взаимно инверсные информационные векторы, включают в себя одинаковые контрольные части. Например, в 53(9/5)-коде (см. табл. 6) такими являются слова <Х5 Х4 Х3 Х2 Xi у4 уз У2 yi>= 000000000 и <Х5 Х4 Х3 Х2 Х1 у4 у3 у2 у1>= 111110000 и т. д. Поэтому код обнаруживает все ошибки 1, 2,..., k-1 кратности и не обнаруживает только 2k ошибок кратности k. Контрольные функции вычисляются по формуле: у1 = Х Ф Х+1 (ie{1,2,...,k-1}). Из этих свойств следует, что схема контроля

на основе S3(n/k)-кода по своим характеристикам близка к схеме дублирования.

Далее рассмотрим код S4(n/k), который является модификацией кода S3(n/k) и требует того же числа контрольных разрядов, что и код S(n/k). В таблице 6 представлен код S4(8/5).

Строится код следующим образом. Определяются параметры кода t=]log2k[ и q=2t-1. Для каждого информационного слова по формуле (2) вычисляется число b по правилу: если сумма разрядов информационного слова Xk

* *

Ф х^(х) Ф...Ф xt+1=0, то b = b(q), в противном случае b = b(q)+q.

Здесь b(q) означает число b, рассчитанное по модулю q. Контрольное слово

*

является двоичным представлением числа b . Для кода S4(8/5) имеем: t = 3,

q = 4. В таблице 6 рассмотрим информационное слово 00111. В соответствии с

*

(2) b = 4. Так как Х5 Ф Х4 = 0, то b = 4(4) = 0. Поэтому контрольным для данного информационного слова является вектор 000.

2006/2

Proceedings of Petersburg Transport University

Проблематика транспортных систем

135

Рассмотрим информационное слово 01111. В соответствии с (2) b= 8. Так как X5 © х4 = 1, то b = 8(4) + 4 = 0 + 4 = 4. Поэтому контрольным является вектор 100.

Контрольные функции для кода S4(n/k) вычисляются по формулам:

У1= Х1 © Х2;

У2= Х2 © Хз; yt-1= Xt-1 © Xt; y t= Xt+1 ©...© Xk-1 © Xk.

Для S4(8/5) получаем:

У1= X1 © X2;

y2= X2 © X3;

Уз= X4 © X5.

На рисунке 7 представлена структура контроля комбинационной схемы на основе кода S4(8/5). Генератор в схеме контроля для кода S4(n/k) реализуется при помощи k-2 элементов М2. В таблице 7 проведено сравнение характеристик схем контроля на основе кодов S(8/5) и S4(8/5). Предложенный код дает возможность построить схему контроля, которая по сравнению с кодом S(n/k) позволяет уменьшить общее число необнаруживаемых ошибок в 2,29 раза, число необнаруживаемых двойных ошибок - в 2,5 раза, вероятность возникновения необнаруживаемых ошибок - в 2,26 раза, сложность тестера - в 2 раза.

ТАБЛИЦА 7. Характеристики схем контроля для k = 5

Коды Число/процент необнаруживаемых ошибок б W

Кратность ошибки 1 2 3 4 5 Всего

Общее число ошибок 160 320 320 160 32 992

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

S(8/5)-код 0 80/25 0 40/25 0 220/22,2 0,5868 42

S4(8/5)-код 0 32/10 32/10 0 32/100 96/9,7 0,25962 21

ISSN 1815-588 X. Известия ПГУПС

2006/2

136

Проблематика транспортных систем

Zi

Z2

Рис. 7. Схема контроля на основе кода £4(8/5)

Заключение

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

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

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

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

3. Piestrak S.J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. -Wroclaw: Technical University, 1995.

4. Berger J.M. A note on error detecting codes for asymmetric channels // Information and Control. - 1961. - Vol. 4. - №3.

5. Das D.,Touba N.A., Seuring M., Gossel M. Low Cost Concurrent error detection based on modulo weight-base codes // Proc. 6th IEEE Int. On-Line Testing Workshop, Palma de Mallorca, Spain. - 2000.

2006/2

Proceedings of Petersburg Transport University

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