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

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

CC BY
361
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕХНИЧЕСКАЯ ДИАГНОСТИКА / ФУНКЦИОНАЛЬНЫЙ КОНТРОЛЬ / КОД БЕРГЕРА / ВЗВЕШЕННЫЙ КОД С СУММИРОВАНИЕМ / ИНФОРМАЦИОННЫЙ ВЕКТОР / НЕОБНАРУЖИВАЕМАЯ ОШИБКА / TECHNICAL DIAGNOSTICS / ON-LINE CONTROL / BERGER CODE / WEIGHT-BASED SUM CODE / DATA VECTOR / UNDETECTABLE ERROR

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

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

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

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

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

Analysis of characteristics of sum codes with weighted data bits for error detection in concurrent error detection systems of logic devices

The article covers sum codes with weighted data bits in concurrent error detection (CED) systems of logic devices of computer engineering and automation. It provides new features of the weight-based sum codes, the number of check bits of which is equal to the number of check bits of classic Berger codes. It shows that the weight-based sum codes are more efficient for detection of errors in CED systems than known sum codes. Also the analyzed weight-based sum codes perform a 100 % detection of any unidirectional (monotone) distortion in the data vectors, that allows their use for realization of of the logic devices control with unidirectional и unidirectionally-independent outputs.

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

114

Общетехнические задачи и пути их решения

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

1. Горная энциклопедия. Подземные сооружения. - URL : http://www.mming-enc.m/p/podzemnye-sooruzheniya (дата обращения 19.12.2014).

2. Защита от биоповреждений, вызываемых грибами / В. И. Сухаревич, И. Л. Кузикова, Н. Г. Медведева. - СПб. : ЭЛБИ-СПб, 2009. - 207 с.

3. Антропогенно-очаговые болезни жителей большого города / В. Б. Антонов // Журнал инфек-тологии. - 2009. - Т. 1, № 2/3. - С. 7-12.

4. Популярная медицинская энциклопедия. Пыль. - URL : http://medbooka.ru/pyl (дата обращения 21.12.2014).

5. Экобаланс. Углекислый газ : определения и свойства. - URL : http://ekobalans.ru/investigations/ uglekislyij-gaz-(co2) (дата обращения 21.12.2014).

УДК 681.518.5:004.052.32

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

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

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

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

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

Введение

Современные системы автоматического управления и контроля, в том числе и объекты железнодорожной автоматики и телемеханики, строятся с использованием микропроцессорной и микроэлектронной техники [1]. С каждым годом технологии создания элементов компьютерной техники совершенствуются, растет плотность интеграции транзисторов на кристалле, увеличивается быстродействие логических схем [2]. Задача обеспечения надеж-

ной работы компьютерной техники, особенно в системах управления, имеет фундаментальное значение. Для достижения высокого уровня надежности используются различные методы, включающие в себя применение высоконадежной элементной базы, резервирования, помехоустойчивого кодирования, а также технического диагностирования [3, 4].

Техническое диагностирование логических устройств позволяет определить состояние их функциональных узлов и впоследствии вы-

2015/1

Proceedings of Petersburg Transport University

Общетехнические задачи и пути их решения

115

работать стратегию дальнейшего применения объекта по назначению (в том числе выбрать вариант ремонта в случае возникновения дефекта). При организации систем технического диагностирования используются различные подходы, связанные с работой самого диагностируемого объекта. При тестовом диагностировании объект контроля кратковременно отключается от работы с целью подачи на его входы специальных проверочных воздействий. Противоположным подходом в диагностировании является функциональный контроль, или рабочий (on-line) контроль. Данный вид диагностирования проводится в режиме функционирования объекта (concurrent error detection system) [5, 6].

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

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

1 Коды с суммированием в системах

функционального контроля

При организации систем функционального контроля (рис. 1) применяются свойства избыточных кодов. Наиболее простым способом организации системы функционального контроля является применение разделимых кодов. В этом случае выходы контролируемого устройства/(х) отождествляют с информационными разрядами </ / ... />, а выходы контрольного устройства g(x) - с контрольными разрядами <gt g2 ... gk>, получаемыми по заранее установленным правилам. Факт соответствия информационных и контрольных разрядов фиксируется тестером с парафазным выходом [9]. Тестер является самопроверяе-мым, т. е. в нем любые одиночные ошибки во внутренней структуре определяются хотя бы на одном входном наборе. В этом случае и при

xi

Х2

Xi

Рабочие

выходы

Контрольные

выходы

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

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

2015/1

116

Общетехнические задачи и пути их решения

наличии дефектов в блоках f (х) и g(x) на контрольных выходах тестера (z и z2) устанавливается непарафазный сигнал <00> или <11>.

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

Наиболее часто при организации систем функционального контроля используются классические коды с суммированием, или коды Бергера [11, 12]. Коды Бергера в контрольном векторе содержат двоичное число, равное сумме числа единичных информационных разрядов (число, равное весу r кодового слова). Таким образом, при длине информационного вектора, равной m, длина контрольного вектора составляет к = |~log2(m +1) ~|, где запись |" b "| обозначает ближайшее целое, не превосходящее значения b. Коды Бергера обозначим как £(т,к)-коды.

В [10] установлены свойства кодов Бергера по обнаружению искажений в информационных векторах. Доказано, что доля необнаруживаемых искажений кратности d в информационных векторах от общего числа искажений данной кратности не зависит от длины информационного вектора и является постоянной величиной:

d

Pd = 2-dCj. (1)

Из выражения (1), например, следует, что коды Бергера не обнаруживают 50 % двукратных искажений в информационных разрядах.

Одним из способов повышения эффективности обнаружения искажений в информаци-

онных векторах кодов является модификация кода по следующим правилам [13].

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

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

2. Выбирается модуль М = 2[l°g2 (m+1)| 1;

3. Вес r представляется по выбранному модулю (r)modM;

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

5. Подсчитывается результирующий вес информационного слова W = (r)modM + аМ;

6. Число W представляется в двоичном виде.

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

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

содержит — информационных разрядов

(запись [b | обозначает ближайшее целое число, не превосходящее значения b). ЯБ(т,к)-коды, у которых поправочный коэффициент

т

вычисляется как сумма по модулю два

информационных разрядов, также имеют и минимум двукратных необнаруживаемых искажений [13].

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

2015/1

Proceedings of Petersburg Transport University

Общетехнические задачи и пути их решения

117

формационного вектора число контрольных разрядов фиксируется и становится постоянным при любой длине информационного вектора. Модульные коды, или 8М(т,к)-коды, также эффективно применяются при построении систем функционального контроля [14]. В [15] установлены свойства £М(т,к)-кодов по обнаружению искажений в информационных векторах, показано, что модуль может быть выбран из множества М е 21,22,...,

— Г log2 (m+1)1-1 „

21 1 . Это дает целое семейство модуль-

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

Используя алгоритм модификации, приведенный выше, а также выбирая модуль из т г л1 -|2 ,Jlog2(m+1)1-1

множества М е 2 ,2 ,...,2' v л , можно

получить целое семейство модульно-модифицированных кодов с суммированием (RSM (т,к)-кодов), которые также можно использовать при организации систем функционального контроля логических устройств [16].

Любые коды с суммированием, в которых вес информационного слова подсчитан по некоторому модулю М, имеют существенный недостаток, накладывающий ограничение на их использование в системах диагностирования. Модульный принцип подсчета веса приводит к возникновению однонаправленных (монотонных) искажений в информационных векторах кода, что, например, не дает гарантированного применения SM(m,k)-, RS(m,k)-или RSM(m,k)-кодов при организации системы контроля комбинационных логических устройств с монотонными и монотонно независимыми выходами [17].

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

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

2 Свойства взвешенных кодов

с суммированием

Во взвешенных кодах с суммированием (Ж^^кДкодах) в общем случае могут быть взвешены любые информационные разряды, последовательность весовых коэффициентов таким образом имеет вид [wl,w2,_,wm]. Ж^^ДДкод с последовательностью весовых

коэффициентов [1,1,_,1] есть классический

код Бергера. В контрольном векторе WS(m,k)-кода записывается двоичное число, равное величине

m

W = zxw,

i=1

где xi - значение информационного разряда (0 или 1).

В [20] сравниваются классические коды Бергера и взвешенные коды с последовательностями весовых коэффициентов [1,1,_,1,3],

т.е. кодов с одним взвешенным разрядом w. = 3. Там же показано, что взвешенные коды с суммированием обладают всеми особенностями кодов Бергера.

Будем рассматривать только те взвешенные коды, в которых число контрольных разрядов равно числу контрольных разрядов в классических кодах Бергера, т. е. k = |~ log2(W +1) ~|. Для таких WS(m,k)-кодов устанавливается следующее ограничение на значения весовых коэффициентов [21]:

m < w1 + w2 +... + wm < 2riog2(m+1)1 -1. (2)

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

2015/1

118

Общетехнические задачи и пути их решения

Чем ближе длина информационного векто-

— Г log2 (m+1)"| ,

ра к величине 21 2V л -1, тем меньшее ко-

личество различных взвешенных кодов можно построить. Например, если m = 6, то имеются две последовательности весовых коэффициентов: [1,1,1,1,1,1] и [1,1,1,1,1,2], а при m = 5 таких последовательностей четыре: [1,1,1,1,1], [1,1,1,1,2], [1,1,1,1,3], [1,1,1,2,2].

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

Контрольные векторы кодов с суммированием представляют собой суммы единичных информационных разрядов, умноженных на значение их весовых коэффициентов. Например, в табл. 1 приводятся кодовые слова <5(4,3)- и Ж5(4,3)-кодов с последовательностью весовых коэффициентов [1,1,2,2].

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

Для определения характеристик кодов по обнаружению ошибок в информационных векторах удобна табличная форма представления, где все информационные векторы распределены по контрольным векторам [10]. В табл. 2 и 3 приведены табличные формы представления 5(4,3)- и Ж5(4,3)-кодов. Код Бергера имеет в каждой контрольной группе С r информационных векторов (r - вес информационного вектора). Поскольку число r < m, три контрольные группы являются пустыми. Кроме того, заполнение занятых групп крайне неравномерно. Эти особенности кода Бергера определяют и его достаточно низкие возможности по обнаружению искажений в информационных векторах. Приписывание информационным разрядам весовых коэффициентов позволяет перераспределить информационные векторы по контрольным группам. Подбор значений весовых коэффициентов позволяет получать коды с различными распределениями информационных векторов по контрольным группам.

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

внутри одной контрольной группы. Из табл. 2 и 3 ясно, что имеются 54 таких перехода для 5(4,3)-кода и 28 - для Ж5(4,3)-кода. Для любого кода Бергера известна формула подсчета числа необнаруживаемых искажений [13]:

Nm = Z 2Cp, (3)

p^Q

где Q = (cm, cm,..., c;-1}.

Для кодов Бергера число информационных векторов в одной контрольной группе определяется только значениями m и r, что позволяет легко установить количество необнаруживаемых переходов. Взвешенные коды имеют перераспределение информационных векторов, а именно - сдвиг в правую часть таблицы некоторого количества информационных векторов. Например, если взвешен один информационный разряд, на величину w-1 сдвигается 2m-1 информационный вектор. При большем количестве взвешенных разрядов осуществляется большее количество «перемещений» информационных векторов в сравнении с классическим кодом Бергера. Подсчет числа необнаруживаемых искажений затрудняется.

Для WS(m,k)-кодов справедливо Утверждение 1. Любой WS(m,k)-код, контрольный вектор которого представляет собой двоичный эквивалент суммы весовых коэффициентов информационных разрядов, обнаруживает 100 % монотонных ошибок в информационных векторах. Утверждение 1 следует из того, что при взвешивании информационных векторов увеличивается суммарный вес W, т. е. смещается значение истинного веса в большую сторону. В группу с весом r, соответствующим весу невзвешенного кода, не попадает информационный вектор взвешенного кода с большим значением веса.

Также для W5(m,k)-кодов нетрудно доказать Утверждение 2: взвешенный код с суммированием, весовые коэффициенты которого являются нечетными числами, обнаруживает любые ошибки нечетных кратностей и все монотонные ошибки четных кратностей [21].

2015/1

Proceedings of Petersburg Transport University

Общетехнические задачи и пути их решения

119

ТАБЛИЦА 1. Кодовые векторы кодов с суммированием

№ Информационные разряды, вес информационных разрядов Контрольные разряды

*1 w1=1 *2 w2=1 *3 w3=2 *4 w4=2 5(4,3) WS(4,3)

0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 1 0 0 1 0 1 0

2 0 0 1 0 0 0 1 0 1 0

3 0 0 1 1 0 1 0 1 0 0

4 0 1 0 0 0 0 1 0 0 1

5 0 1 0 1 0 1 0 0 1 1

6 0 1 1 0 0 1 0 0 1 1

7 0 1 1 1 0 1 1 1 0 1

8 1 0 0 0 0 0 1 0 0 1

9 1 0 0 1 0 1 0 0 1 1

10 1 0 1 0 0 1 0 0 1 1

11 1 0 1 1 0 1 1 1 0 1

12 1 1 0 0 0 1 0 0 1 0

13 1 1 0 1 0 1 1 1 0 0

14 1 1 1 0 0 1 1 1 0 0

15 1 1 1 1 1 0 0 1 1 0

ТАБЛИЦА 2. 5(4,3)-код

000 001 010 011 100 101 110 111

0000 0001 0011 0111 1111

0010 0101 1011

0100 0110 1101

1000 1001 1110

1010

1100

ТАБЛИЦА 3. Ж£(4,3)-код c последовательностью весов [1,1,2,2]

000 001 010 011 100 101 110 111

0000 0001 0011 0101 0111 1101 1111

0010 0100 0110 1011 1110

1000 1001 1100

1010

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

2015/1

120

Общетехнические задачи и пути их решения

Для более глубокого анализа характеристик взвешенных кодов с суммированием был составлен алгоритм построения взвешенного кода с суммированием на основе анализа табличной формы представления делимого кода и реализован в программном виде. Это позволило рассчитать характеристики взвешенных кодов с суммированием при длине информационных векторов m = 2^20. Например, в табл. 4 приведены все взвешенные коды с суммированием, удовлетворяющие условию (2), при длине информационного вектора m = 8.

В табл. 4 в графах Nm, у, ^ записаны характеристики взвешенных кодов: N - общее число необнаруживаемых искажений в информационном векторе, у - доля необнаруживаемых искажений от общего числа искажений в информационном векторе, ^ - показатель эффективности кода при заданной длине информационных и контрольных векторов. Коэффициент ^ показывает, насколько данный код ближе к оптимальному коду при заданных значениях m и k [13]:

$ =

N min

m

N

(4)

где Nmin = 2m (2m-k -1) - число необнаруживаемых ошибок в оптимальном коде, имеющем равномерное распределение информационных векторов между контрольными векторами.

Чем ближе ^ к 1, тем эффективнее код при данных значениях m и k. По величине ^ в табл. 4 видно, насколько взвешивание информационных разрядов увеличивает эффективность обнаружения искажений в коде с суммированием. Для некоторых последовательностей весовых коэффициентов эффективность возрастает более чем в два раза.

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

1) любой взвешенный код с суммированием имеет меньшее количество необнару-

живаемых искажений, чем классический код Бергера, в том числе по каждой четной кратности;

2) любой взвешенный код из группы с постоянным значением весовых коэффициентов m - 1 информационного разряда имеет постоянное количество двукратных необнаруживаемых искажений, кроме первого кода группы. Это коды с последовательностями весовых коэффициентов [1,1,1,1,w5,w6,w7,w8], где w > w , w > w , w > w ;

3) чем больше взвешено информационных разрядов, тем меньше двукратных необнаруживаемых искажений в коде, удовлетворяющем предыдущему свойству. К примеру, у кода с последовательностью информационных разрядов [1,1,1,1,1,1,2,6] 1920 двукратных необнаруживаемых ошибок, а у кода с последовательностью [1,1,1,1,2,2,3,4] - всего 896;

4) максимальное значение коэффициента ^ имеет каждый последний код каждой группы - он имеет суммарное значение веса информационного слова W, максимально близ-

4log2 (m+1)"l

кое к пороговому 21 v м -1, после превышения которого добавляется еще один контрольный разряд (см. условие 2);

5) для кодов из первой группы (коды с одним взвешенным разрядом) число необнаруживаемых ошибок четных кратностей d постоянно при w. > d;

6) для данной длины информационного вектора m коды с одним взвешенным разрядом с четными значениями w . имеют одинаковое количество искажений четных кратностей d.

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

3 О синтезе тестеров кодов с суммированием

Важным блоком системы функционального контроля является тестер: он отвечает за контроль технического состояния всех состав-

2015/1

Proceedings of Petersburg Transport University

Общетехнические задачи и пути их решения

121

ТАБЛИЦА 4. Характеристики Ж5(8,4)-кодов

Последовательность весовых коэффициентов Распределения необнаруживаемых ошибок по кратностям d N m Y

1 2 3 4 5 6 7 8

1,1,1,1,1,1,1,1 0 3584 0 6720 0 2240 0 70 12614 0,1932 0,3044

1,1,1,1,1,1,1,2 0 2688 1344 3360 2240 560 420 0 10612 0,1626 0,3619

1,1,1,1,1,1,1,3 0 2688 0 4480 0 1400 0 42 8610 0,1319 0,446

0 2688 0 3360 560 560 168 0 7336 0,1124 0,5234

0 2688 0 3360 728 0 14 0 6790 0,104 0,5655

1,1,1,1,1,1,1,6 0 2688 0 3360 0 560 28 0 6636 0,1017 0,5787

1,1,1,1,1,1,1,7 0 2688 0 3360 0 560 0 2 6610 0,1013 0,5809

1,1,1,1,1,1,1,8 0 2688 0 3360 0 560 0 0 6608 0,1012 0,5811

1,1,1,1,1,1,2,2 0 2048 1920 2400 1920 920 120 52 9380 0,1437 0,4094

1,1,1,1,1,1,2,3 0 1920 1344 2080 1920 320 324 0 7908 0,1211 0,4856

1,1,1,1,1,1,2,4 0 1920 960 1920 1200 560 84 32 6676 0,1023 0,5752

1,1,1,1,1,1,2,5 0 1920 960 1440 1280 128 180 0 5908 0,0905 0,65

1,1,1,1,1,1,2,6 0 1920 960 1440 960 200 64 12 5556 0,0851 0,6911

1,1,1,1,1,1,2,7 0 1920 960 1440 960 80 84 0 5444 0,0834 0,7054

1,1,1,1,1,1,3,3 0 2048 0 3680 0 1280 0 42 7050 0,108 0,5447

1,1,1,1,1,1,3,4 0 1920 384 2080 1200 320 264 0 6168 0,0945 0,6226

1,1,1,1,1,1,3,5 0 1920 0 2560 0 848 0 30 5358 0,0821 0,7167

1,1,1,1,1,1,3,6 0 1920 0 2080 320 320 124 0 4764 0,073 0,806

1,1,1,1,1,1,4,4 0 2048 0 2400 480 800 48 40 5816 0,0891 0,6602

1,1,1,1,1,1,4,5 0 1920 384 1440 1200 128 264 0 5336 0,0817 0,7196

1,1,1,1,1,2,2,2 0 1664 1920 2400 1440 840 240 0 8504 0,1303 0,4516

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

1,1,1,1,1,2,2,3 0 1408 1920 1600 1600 720 88 40 7376 0,113 0,5206

1,1,1,1,1,2,2,4 0 1408 1344 1760 1040 600 160 0 6312 0,0967 0,6084

1,1,1,1,1,2,2,5 0 1408 1280 1280 960 528 40 24 5520 0,0846 0,6957

1,1,1,1,1,2,2,6 0 1408 1280 1120 800 360 80 0 5048 0,0773 0,7607

1,1,1,1,1,2,3,3 0 1408 1280 1760 1600 320 268 0 6636 0,1017 0,5787

1,1,1,1,1,2,3,4 0 1280 1280 1280 1360 520 84 32 5836 0,0894 0,658

1,1,1,1,1,2,3,5 0 1280 1024 1120 1280 208 204 0 5116 0,0784 0,7506

1,1,1,1,1,2,4,4 0 1408 640 1760 800 560 160 0 5328 0,0816 0,7207

1,1,1,1,2,2,2,2 0 1536 1536 2496 1408 624 192 44 7836 0,12 0,49

1,1,1,1,2,2,2,3 0 1152 1920 1760 1248 648 208 0 6936 0,1063 0,5536

1,1,1,1,2,2,2,4 0 1152 1344 1824 1072 456 144 32 6024 0,0923 0,6375

1,1,1,1,2,2,2,5 0 1152 1152 1632 736 456 144 0 5272 0,0808 0,7284

1,1,1,1,2,2,3,3 0 1024 1792 1440 1280 664 72 36 6308 0,0966 0,6088

1,1,1,1,2,2,3,4 0 896 1600 1376 1040 536 160 0 5608 0,0859 0,6847

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

2015/1

122

Общетехнические задачи и пути их решения

ляющих системы диагностирования. Теория синтеза тестеров кодов с суммированием разработана достаточно хорошо [3, 9, 22]. Тестер любого разделимого кода удобно строить по структуре, включающей в себя два модуля: генератор и компаратор [9]. Генератор по значениям рабочих функций блока/(х) вычисляет контрольный вектор <g1' g2' ... gk'>, а компаратор сравнивает его с контрольным вектором от блока g(x) (рис. 2).

а

б

в

Х1 Х2 Хз

Х1 Х2

С S

С S

Х1 Х2

У

Рис. 3. Типовые функциональные элементы: а) сумматор; б) полусумматор; в) сумматор по модулю два

gl g2 " • gk / Я •• •/m

Генератор

gi

|6-6—6

g2 gk

r "• ЛГ

Компаратор

▼ ▼

Zl Z2

Рис. 2. Структура тестера

Компараторы строятся по каскадному принципу соединения модулей сравнения парафазных сигналов, что подробно описано в [9]. Кроме того, все компараторы одинаковы для кодов с одинаковым количеством контрольных разрядов.

Генератор представляет собой сумматор весовых коэффициентов. Его целесообразно строить на базе стандартных модулей сложения двоичных чисел: сумматора (FA), полусумматора (HA) и сумматора по модулю два (XOR) [22]. На рис. 3 показаны условные обозначения функциональных блоков, из которых строится генератор.

Сумматор имеет три входа - х1, х2, Х3 - и два выхода - S (сумма) и C (перенос). Сумматор вычисляет сумму единичных значений на входах в соответствии с уравнениями: S = x1 © x2 © х3 и C = x1 x2 v x1 x3 v x2 х3. В отличие от полного сумматора полусумматор имеет два входа - x1, х2 - и два выхода - S и C. Функции S и C вычисляются по правилам:

S = x1 © х2 и C = x1 х2. Используя только эту элементную базу, можно синтезировать любые генераторы взвешенных кодов.

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

Например, на рис. 4 приводится схема генератора Ж^(8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,2,2,3,4]. На рис. 4 показаны сигналы каждой линии генератора при поступлении входного вектора <10010111>.

Генераторы взвешенных кодов с суммированием, построенные по описанному методу, более сложны в технической реализации, чем генераторы классических кодов с суммированием при одинаковой длине информационных векторов. Для построения генератора WS(8,4)-кода потребовалось 10 полных сумматоров, 5 полусумматоров и 1 сумматор по модулю два. Для сравнения: структура генератора классического S(8,4)-кода содержит 4 полных сумматора и 4 полусумматора.

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

2015/1

Proceedings of Petersburg Transport University

Общетехнические задачи и пути их решения

123

/i Л /3 /4 /5 J5 Л /б fi fi /i Л Л Л Л

gl g2 g3 g4

Рис. 4. Генератор тестера WS (12,8)-кода

Ж^(8,4)-кода с последовательностью весовых коэффициентов [1,1,1,1,2,2,3,4]. При упрощении структуры генератора мы воспользовались следующими соображениями:

1) седьмой разряд в суммарный вес может давать либо 0, либо 3 (в двоичном виде - 000 или 011),

2) восьмой разряд в суммарный вес может давать либо 0, либо 4 (в двоичном виде - 000, либо 100);

3) сумма веса седьмого и восьмого разрядов может быть равна 0, 3, 4 или 1;

4) из п. 3 следует, что двоичное число, ха-растеризующее сумму весов седьмого и восьмого разрядов, будет иметь вид: </ /1 />.

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

Возможна и дальнейшая минимизация числа элементов в структуре генератора: учет того, что вес пятого и шестого разрядов вносят в суммарный вес либо 0, либо 2 (рис. б).

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

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

2015/1

124

Общетехнические задачи и пути их решения

1 1 1

FA

2 1

О 1

f4 f 5 f

О О

1 1

FA

2 1

2 2 2 FA 4 2

О 1

f 6 f 6

1 1

1 1 1

HA

1

1 1

HA

2 1

1

1

f8 f7 1

О 1 1

4 4 4 FA 8 4

1 О

О О

44

111

2

FA

4 2

1 1

Го

Ф

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

2 2 2

FA

4 2

f7

HA 2 1

1 1

HA

2 1

g2

g3

g4

Рис. 5. Генератор тестера WS (8,4)-кода с упрощенной структурой

1

1

1

1

О

1

О

О

f1 f2 f5 f6 f3 f4

g1 g2 g3 g4

Рис. 6. Генератор тестера WS (8,4)-кода с оптимизированной структурой

2015/1

Proceedings of Petersburg Transport University

Общетехнические задачи и пути их решения

125

Алгоритм 2. Минимизация числа элементов в структуре генератора WS(m,k)-кода.

1. Строится генератор WS{m,k)-кода как сумматор Wmax единиц, где Wmax - суммарный вес всех информационных разрядов;

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

3. Упрощается структура генератора.

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

Заключение

Показано, что взвешенные коды с суммированием обладают улучшенными характеристиками по обнаружению ошибок в информационных векторах в сравнении с классическими кодами с суммированием единичных информационных разрядов [3, 9, 22]. Особенно важна возможность обнаружения большего количества двукратных искажений, так как в практических задачах такие искажения более вероятны, чем искажения больших кратностей. Кроме того, взвешенные коды с суммированием обнаруживают 100 % монотонных ошибок в информационных векторах, что позволяет применять их во многих практических задачах, где используются классические коды Бергера. Например, известные модульные и модифицированные коды с суммированием единичных информационных разрядов не обнаруживают часть монотонных искажений, что ограничивает их применение в задачах построения надежных дискретных устройств [23, 24].

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

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

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

1. Theeg G., Vlasenko S. Railway Signalling & Interlocking // DW Media Group GmbH. - 1st ed. -Eurailpress, Hamburg, 2009. - 448 p.

2. Kharchenko V. Evolution of von Neumann's Paradigm: Safe and Green Computing // Proceedings of 11th IEEE East-West Design & Test Symposium (EWDTS'2013), Rostov-on-Don, Sept. 27-30. - Rostov-on-Don, 2013. - P. 493-494.

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

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

5. Nicolaidis M., Zorian Y. On-Line Testing for VLSI - А Compendium of Approaches // J. Electronic Testing : Theory and Applications. - 1998. -N 12. - P. 7-20.

6. Dutta A., Touba N. A. Synthesis of Non-Intrusive Concurrent Error Detection Using an Even Error Detection Function // Int. test conf. (ITC). - 2005. -

P. 1059-1066.

7. Обеспечение тестируемости задержек путей при синтезе схем покрытием BDD-графов /

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

8. Синтез логических схем, контролепригодных относительно неисправностей задержек путей / А. Ю. Матросова, Е. А. Николаева, Е. В. Румянцева // Изв. вузов. Физика. - 2012. - Т. 55, № 11. -С. 114-116.

9. Самопроверяемые дискретные устройства /

B. В. Сапожников, Вл. В. Сапожников. - СПб. : Энергоатомиздат, 1992. - 224 с.

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

2015/1

126

Общетехнические задачи и пути их решения

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

11. Berger J. M. А Note on Error Detecting Codes for Asymmetric Channels // Inf. and Control. - 1961. -Vol. 4, N 1. - P. 68-73.

12. Freiman C. V. Optimal Error Detection Codes for Completely Asymmetric Binary // Inf. and Control. - 1962. - Vol. 5, is. 1. - P. 64-71.

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

14. Das D., Touba N.A. Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes // J. of Electronic Testing : Theory and Applications. - 1999. - Vol. 15, is. 1/2 (Aug.-Oct.). -P. 145-155.

15. Коды с суммированием для организации контроля комбинационных схем / А. А. Блюдов, Д. В. Ефанов, В. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. - 2013. - № 6. -

С. 153-164.

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

17. Morosow A., Saposhnikov V. V., Saposhni-kov Vl. V., Goessel M. Self-Checking Combinational Circuits with Unidirectionally Independent Outputs // VLSI Design. - 1998. - Vol. 5, is. 4. - P. 333-345.

18. Das D., Touba N. A., Seuring M., Gossel M. Low Cost Concurrent Error Detection Based on Mod-

ulo Weight-Based Codes // Proceedings of IEEE 6th Int. On-Line Testing Workshop (IOLTW), Spain, Palma de Mallorca, July 3-5, 2000. - Palma de Mallorca, 2010. - P. 171-176.

19. Das D., Touba N.A. Weight-Based Codes and their Application to Concurrent Error Detection of Multilevel Circuits // Proc. 17th IEEE Test Symp., California, USA. - California, 1999. - P. 370-376.

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

21. Взвешенные коды с суммированием для организации контроля логических устройств / В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефа-нов // Электронное моделирование. - 2014. - Т. 36, № 1. - С. 59-80.

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

- 111 p.

23. Sapozhnikov V., Sapozhnikov Vl., Efanov D., Blyudov A. On the Synthesis of Unidirectional Combinational Circuits Detecting All Single Faults // Proceedings of 12th IEEE East-West Design & Test Symp. (EWDTS'2014), Kyev, Ukraine, Sept. 26-29, 2014. -Kyev, 2014. - P. 116-125.

24. Об использовании свойств кодов с суммированием по обнаружению монотонных ошибок в системах функционального контроля комбинационных схем / В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов // Вестн. Томск. гос. ун-та. Управление, вычислительная техника и информатика. -2014. - № 3. - С. 76-88.

2015/1

Proceedings of Petersburg Transport University

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