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

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

CC BY
182
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМБИНАЦИОННАЯ СХЕМА / СИСТЕМА ФУНКЦИОНАЛЬНОГО КОНТРОЛЯ / ПОЛИНОМИАЛЬНЫЙ КОД / ИНФОРМАЦИОННЫЙ ВЕКТОР / ОБНАРУЖЕНИЕ ОШИБОК / НЕОБНАРУЖИВАЕМАЯ ОШИБКА / COMBINATIONAL CIRCUIT / CONCURRENT ERROR DETECTION SYSTEM / POLYNOMIAL CODE / DATA VECTOR / ERROR DETECTION / UNDETECTED ERROR

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

Аннотация Цель: Исследование особенностей применения полиномиальных кодов при организации систем функционального контроля комбинационных логических схем автоматики и вычислительной техники. Методы: Применяются методы теории информации и кодирования, теории дискретных устройств и технической диагностики дискретных систем. Результаты: Проанализированы возможности использования при организации контроля комбинационных логических схем полиномиальных кодов. Отмечаются некоторые необходимые свойства, присущие образующим полиномам, которые позволяют синтезировать самопроверяемые структурные схемы систем функционального контроля. В частности, таким необходимым условием является наличие в образующем полиноме свободного члена (в противном случае не генерируются все необходимые для полной проверки кодера тестовые комбинации). Приведен пример реализации системы функционального контроля комбинационной схемы, а также описаны некоторые результаты экспериментов по обнаружению ошибок в контрольных комбинационных схемах LGSynth’89. Практическая значимость: Применение для контроля комбинационных схем полиномиальных кодов дает возможность синтезировать самопроверяемые дискретные устройства автоматики и вычислительной техники.

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

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

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

THE SPECIFICITIES OF ORGANIZATION OF CONCURRENT ERROR DETECTION SYSTEMS FOR COMBINATIONAL CIRCUITS BASED ON POLYNOMIAL CODES

Summary Objective: To study the specificities of polynomial codes application during the organization of concurrent error detection systems for combinational logic circuits of automation and computer engineering. Methods: The methods of information theory and coding, the theory of discrete devices and diagnostic engineering of discrete systems were applied. Results: The possibilities of using polynomial codes in the process of combinational logic circuits control organization were analyzed. Some essential properties, inherent in generator polynomials, which make it possible to synthesize self-checking circuits of concurrent error detection systems, were pointed out. Particularly, one of such essential properties is the presence of a constant term in a generator polynomial (otherwise, all the required test patterns are SHAPE \* MERGEFORMAT not generated for a complete check of a coding device). An example of concurrent error detection system implementation for a combinational circuit was given. Some experimental data on error detection in LGSynth’89 combinational benchmarks were described. Practical importance: The use of polynomial codes for combinational circuit control makes it possible to synthesize self-checking discrete devices of automation and computer engineering.

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

УДК 004.052.32+681.518.5

Вал. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов, R Б. Абдуллаев ОСОБЕННОСТИ ОРГАНИЗАЦИИ СИСТЕМ

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

Дата поступления: 28.12.2017 Решение о публикации: 29.12.2017

Аннотация

Цель: Исследование особенностей применения полиномиальных кодов при организации систем функционального контроля комбинационных логических схем автоматики и вычислительной техники. Методы: Применяются методы теории информации и кодирования, теории дискретных устройств и технической диагностики дискретных систем. Результаты: Проанализированы возможности использования при организации контроля комбинационных логических схем полиномиальных кодов. Отмечаются некоторые необходимые свойства, присущие образующим полиномам, которые позволяют синтезировать самопроверяемые структурные схемы систем функционального контроля. В частности, таким необходимым условием является наличие в образующем полиноме свободного члена (в противном случае не генерируются все необходимые для полной проверки кодера тестовые комбинации). Приведен пример реализации системы функционального контроля комбинационной схемы, а также описаны некоторые результаты экспериментов по обнаружению ошибок в контрольных комбинационных схемах LGSynth'89. Практическая значимость: Применение для контроля комбинационных схем полиномиальных кодов дает возможность синтезировать самопроверяемые дискретные устройства автоматики и вычислительной техники.

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

Valeriy V. Sapozhnikov, D. Eng. Sci., professor, [email protected]; Vladimir V. Sapozhnikov, D. Eng. Sci., professor, [email protected] (Emperor Alexander I Petersburg State Transport University); *Dmitriy V. Efanov, D. Eng. Sci., associate professor, [email protected] (Russian University of Transport (MIIT)); Ruslan B. Abdullaev, postgraduate student, [email protected] (Emperor Alexander I Petersburg State Transport University). THE SPECIFICITIES OF ORGANIZATION OF CONCURRENT ERROR DETECTION SYSTEMS FOR COMBINATIONAL CIRCUITS BASED ON POLYNOMIAL CODES

Summary

Objective: To study the specificities of polynomial codes application during the organization of concurrent error detection systems for combinational logic circuits of automation and computer engineering. Methods: The methods of information theory and coding, the theory of discrete devices and diagnostic engineering of discrete systems were applied. Results: The possibilities of using polynomial codes in the process of combinational logic circuits control organization were analyzed. Some essential properties, inherent in generator polynomials, which make it possible to synthesize self-checking circuits of concurrent error detection systems, were pointed out. Particularly, one of such essential properties is the presence of a constant term in a generator polynomial (otherwise, all the required test patterns are

not generated for a complete check of a coding device). An example of concurrent error detection system implementation for a combinational circuit was given. Some experimental data on error detection in LGSynth'89 combinational benchmarks were described. Practical importance: The use of polynomial codes for combinational circuit control makes it possible to synthesize self-checking discrete devices of automation and computer engineering.

Keywords: Combinational circuit, concurrent error detection system, polynomial code, data vector, error detection, undetected error.

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

Внедрение того или иного устройства в область автоматики и телемеханики железнодорожного транспорта всегда затрагивает вопрос надежности в аспекте безопасного и бесперебойного функционирования системы [3]. Формирование неверной или некорректной информации в каком-либо из компонентов системы управления должно обнаруживаться и блокироваться. Для этих целей используются методы технической диагностики, а именно тестовое и функциональное диагностирование блоков и компонентов [4]. Тестовое диагностирование подразумевает кратковременное отключение объекта от реализации своих функций с целью подачи на его входы специальных проверяющих воздействий (оно может проводиться в моменты времени, когда устройство не применяется по назначению) [5]. Для оценки технического состояния устройства в реальном масштабе времени используют системы функционального контроля [6], в которых рабочие воздействия одновременно являются и проверяющими.

Системы функционального контроля могут быть реализованы по разным методам и в соответствии с различными структурными схемами [6-9]. Как отмечается в классической работе Е. С. Согомоняна и Е. В. Слабакова [10], эффективные решения на практике может давать использование равномерных избыточных кодов с небольшим количеством контрольных разрядов. Системы функционального контроля, построенные на основе таких кодов, в большинстве реализаций получаются более простыми, чем согласно структуре дублирования, что проявляется в конечном итоге в более низкой стоимости их разработки, конструирования и эксплуатации.

Имеется большое количество равномерных разделимых кодов, применяющихся на различных уровнях систем управления, в разных технических решениях для контроля передаваемой информации [11, 12]. Широко распространены циклические избыточные коды (Cyclic Redundancy Codes - CRC), или так называемые полиномиальные коды. Они участвуют в таких протоколах передачи информации как ModBus, Ethernet, FlexRay, HDLC (авиация), в устройствах обработки и хранения информации с форматами MPEG-2, OpenPGP, PNG, SCSI, в форматах карт памяти типа MMC, SD, в интерфейсах USB, Bluetooth и т. д. [13, 14]. В области железнодорожной автоматики и телемеханики полиномиальные коды применяют, например, при передаче данных от измерительных контроллеров к концентраторам диагностической информации в системах непрерывного мониторинга технического состояния [15].

Рассмотрим еще одно приложение полиномиальных кодов - при организации систем

функционального контроля комбинационных составляющих в логических устройствах автоматики и вычислительной техники.

Принципы построения полиномиальных кодов

Как отмечалось выше, полиномиальные коды являются разделимыми равномерными кодами, или (т,к)-кодами, где т - длина информационного вектора, а к - контрольного вектора (т + к = п - длина информационного вектора). В таких кодах получаем контрольные разряды по значениям информационных разрядов. При построении полиномиальных кодов используется алгебраическая форма записи каждого информационного или контрольного вектора в виде полинома. Каждому разряду кодового вектора присваивается переменная х со степенью j, которая соответствует расположению разряда: младшему разряду присваивается значение j = 0, следующему -j = 1 и т. д. Алгебраическая запись кодового вектора получается путем умножения величины X на значение соответствующего разряда. Например, кодовое слово 1011 можно представить в виде полинома следующим образом:

1-х3 + 0 • х2 +1-х1 +1-х0.

Удалив нулевые слагаемые, получаем полином вида

X3 + X + 1.

Над полиномами можно выполнять различные алгебраические действия в кольце вычетов по модулю 2 [16].

Для образования кодового слова У(х) полиномиального кода определяют остаточный полином Я(х), получаемый при делении полинома М(х), умноженного на величину хп-т, на образующий полином [17]:

xn-mM (x) = G (x)Q (x) + R (x

где Q (х) - частное, а R (х) - остаток от деления хп-тМ (х) на в (х).

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

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

2/3

x ! x

(x3 + x + l)

= x

Разделим его на образующий полином х 2 + 1 (рис. 1).

пМ(х)

( х5 + х3 +х2

x5 +х3

X +1

ад

х3+1 -> Q(x)

х2+1

1 = 01 ->Л(х)

Рис. 1. Пример получения остатка от деления полиномов

Полином, соответствующий кодовому слову, получается как сумма полиномов хп-кМ (х) и R(x): х5 + х3 + х2 +1. Таким образом, зашифрованное сообщение примет такой вид: 101101 (вместо исходной комбинации 1011).

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

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

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

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

Сдвиговые регистры включают в себя элементы памяти (^-триггеры), которые не могут

быть использованы при организации систем функционального контроля комбинационных схем. Однако для решения задач синтеза систем функционального контроля можно построить кодирующие схемы также в виде комбинационных схем. Для этого нужно получить для всех информационных векторов заданной длины т все контрольные векторы длиной к, а затем минимизировать их функции. Например, в табл. 1 приведены контрольные векторы для всех информационных векторов длиной т = 2 для образующего полинома х 2 + 1.

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

ТАБЛИЦА 1. Разряды контрольных векторов

Информационный вектор М(х) х2 ■ M(х) Контрольные разряды остатка Я(х) при делении на полином х 2 + 1 и кодовый полином У(х)

х3, х2, Х1, Х0 К(х), УР Уо У(х)

0000 0 00 000000

0001 2 х 01 000101

0010 х3 10 001010

0011 х3 + х2 11 001111

0100 4 х 01 010001

0101 х4 + х 2 00 010100

0110 х4 + х3 11 011011

0111 4,3. 2 х + х + х 10 011110

1000 5 х 10 100010

1001 х5 + х2 11 100111

1010 х5 + х3 00 101000

1011 5,3.2 х + х + х 01 101101

1100 5 I 4 х + х 11 110011

1101 х5 + х4 + х2 10 110110

1110 х5 + х4 + х3 01 111001

1111 5 I 4 , 3 , 2 х + х + х + х 00 111100

^0 — х0 х2 // х0 х2 — х0 СО х2 ,

^0 — х1 хз // х1 хз — х1 ф хз.

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

Пример построения системы функционального контроля на основе полиномиального кода

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

х 2 + 1. Для этого вычислим значения функций, реализуемых заданной комбинационной схемой, и занесем их в табл. 2. Далее, используя приведенную ранее методику, по значениям информационного вектора/ ^ /3 определим контрольные функции gl и g0.

На основании табл. 2 логика работы контрольной схемы описывается следующими

функциями: _ _

gl — х1 х2 хз // х1 х2 хз —

— х2 (х1 хз // х1 хз)— х2 х1 СО хз, go — х1 х2 хз // х1 х2 хз // х1 х2 хз //

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

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

Y& —О

/1

х2

Хз

Х\

Хъ

&

-<5

&

-h

Х2 —(¿_

Х\ -

х2 -хъ —<2

&

— /4

Рис. 2. Заданная комбинационная схема

ТАБЛИЦА 2. Разряды контрольных векторов

Входные комбинации Значения выходов схемы Значения контрольных разрядов

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

*3 f1 /2 /з /4

0 0 0 1 1 1 0 0 1

0 0 1 1 1 1 0 0 1

0 1 0 0 0 1 0 1 0

0 1 1 1 1 1 1 0 0

1 0 0 1 1 1 0 0 1

1 0 1 1 1 1 0 0 1

1 1 0 1 0 1 1 0 1

1 1 1 1 1 0 1 1 0

*2

х3

gO

Xi

©

}

&

gl

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

схемы приведена на рис. 4. В ней блок Г(х) представляет собой заданное устройство; блок в(х) - блок контрольной логики, вырабатывающий контрольные разряды g0, g1 в зависимости от значений входных переменных; блок в(/) - генератор контрольных разрядов g0, g1 по величинам рабочих функций блока ^(х); блок TRC - компаратор, осуществляющий сравнение одноименных контрольных разрядов. Блок TRC представляет собой модуль сжатия парафазных сигналов, на входы которого подаются парафазные сигналы вида gi . При наличии на входах парафазных сигналов на выходах формируется также пара-фазный сигнал г 0г1. Нарушение же парафаз-

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

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

G<J)

-fx

-/2 -/з -/4

TRC

9

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

ционной схемы (см. рис. 2). В ней неисправности только одного элемента в* могут вызывать ошибки с кратностями d > 2. Идентифицируются любые ошибки в информационном векторе, за исключением ошибки, вызываемой неисправностью вида «константа 1» на выходе элемента в* на входном наборе 010. В данном случае информационный вектор 0010 в результате четырехкратной асимметричной ошибки переходит в информационный вектор 1101. Оба информационных вектора имеют одинаковые контрольные векторы, что не позволяет обнаружить ошибку. Тем не менее обозначенная неисправность обнаруживается на других входных наборах. Следует отметить, что при контроле схемы на основе классического кода Бергера [20] или кода с суммированием по модулю М = 4 [21] не обнаруженными окажутся сразу же четыре двукратные симметричные ошибки в информационном векторе, вызванные неисправностью типа «константа 1» на выходе элемента в* на входных наборах 000, 100, 101, 110.

Выбор образующего полинома

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

именно образующего полинома. Рассмотрим эту задачу для образующих полиномов, дающих коды с двумя контрольными разрядами. Имеются четыре таких образующих полинома: х , х ' +1, х + х, х + х + 1.

Для определения характеристик обнаружения ошибок полиномиальными кодами с указанными полиномами составим таблицу, содержащую все их контрольные векторы. Таблица 3 наглядно демонстрирует, что использование полиномов без свободного члена сказывается на невозможности формирования части контрольных векторов. Это, в свою очередь, говорит о низкой эффективности использования кодом разрядов контрольных векторов, а также о невозможности обеспечения самопроверяемости генераторов кодов (для полного тестирования любого элемента XOR требуется подать на его входы все комбинации 00, 01, 10 и 11 [22]). Код с образующим полиномом х2, вообще, не является помехоустойчивым, а все контрольные векторы имеют одинаковые значения разрядов. Таким образом, для систем функционального контроля актуальным становится применение только полиномиальных кодов, имеющих свободный член в образующем полиноме.

Анализируя распределения информационных векторов между всеми контрольными векторами для кодов с т = 4, отмечаем, что для полиномиальных кодов с образующими полиномами х2 +1 и х2 + х + 1 характерно

ТАБЛИЦА 3. Разряды контрольных векторов различных полиномиальных кодов

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

Информационный вектор М(х) х 2M (х) Контрольные разряды остатка Я(х) при делении на полиномы

2 х х2 +1 2 х + х х2 + х + 1

Х3, Х2, х\, Х0 Ум Уо У1> У0 У1> У0 У1> У0

0000 0 00 00 00 00

0001 2 х 00 01 10 11

0010 х3 00 10 10 01

0011 з 1 2 х + х 00 11 00 10

0100 4 х 00 01 10 10

0101 х4 + х 2 00 00 00 01

0110 4 I 3 х + х 00 11 00 11

0111 4,3. 2 х + х + х 00 10 10 00

1000 х5 00 10 10 11

1001 5 , 2 х + х 00 11 00 00

1010 х5 + х3 00 00 00 10

1011 х5 + х3 + х2 00 01 10 01

1100 5 I 4 х + х 00 11 00 01

1101 х5 + х4 + х2 00 10 10 10

1110 х5 + х4 + х3 00 01 10 00

1111 5 I 4 . 3 . 2 х + х + х + х 00 00 00 11

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

Из табл. 4 следует, что полиномиальный код с образующим полиномом x2 + x +1 содержит меньшее количество двукратных необнаружи-ваемых ошибок, чем полиномиальный код с образующим полиномом x2 +1. Указанное обстоятельство является важным, так как количество ошибок малых кратностей, в особен-

ности одно- и двукратных ошибок, на выходах комбинационных схем значительно больше, чем ошибок с кратностями d > 2 [24].

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

На рис. 5 демонстрируются графики изменения долей необнаруживаемых двукратных ошибок от общего количества двукратных ошибок для двух семейств полиномиальных кодов - с образующими полиномами x2 +1 и x2 + x +1. Коды с образующим полиномом x2 + x + 1 обнаруживают большее количество двукратных ошибок, чем коды с образующим

ТАБЛИЦА 4. Характеристики необнаруживаемых ошибок различными полиномиальными

кодами с т = 4

Полиномы Количество необнаруживаемых ошибок кратностью Общее количество необнаруживаемых ошибок

1 2 3 4

X 2 64 48 16 2 130

x2 +1 0 32 0 16 48

X2 + X 0 96 0 16 112

X X + X + 1 0 16 32 0 48

и

£ X

s lg Я M

и s

0 a ^

ш Й Й S 3 Й

Mo

л H e

» g S

S ^ «

^

Й ч 3

â te к

5 « к (U H о й Я к и й & s ^ Э

I* I

^ О л

6 Й О te дть

к о s

ю и « <з !" S

s а «

к ю

M °

к г

ч й

О О

П

50 45 40 35 30 25 20 15 10 5

j> ——< - —— >—— < >

- —- Г >—< г

/ / л

< f

,—< уа с=» ^ > = =( >=■ = < > = =( >«а«< )_.■_> Ч

у

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

( У

9 10 11 12 13 14 15 16 17 18 19 20 Длина информационного вектора т

0

— Ч>— Полином х2 + 1 = 0= Полином х2 + х + 1

Рис. 5. Доли необнаруживаемых двукратных ошибок полиномиальными кодами с двумя контрольными разрядами и свободными членами в образующих полиномах

полиномом х2 +1, при любой длине информационного вектора. Следует отметить, что для обоих семейств полиномиальных кодов рассматриваемая величина меньше, чем, например, для классических и модульных кодов с суммированием единичных информационных разрядов (для них она составляет 50 % [25, 26]).

Экспериментальные результаты

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

« х

о

л I I

0 S

й

1 S vo

S §

л I

л

Ц

0 &

н

1 §

«

о S

h О

S о

и

0 h

1

«

5

5

6

С

о и

со

л

£

Й

£

м

<

S

ä £

(N + к + (М к О о 0 1,907 1,661 9,763 2,283 4,019 0 1,493 0,437 0 0,186 1,974 2,054

к + (N К 4,348 13,692 3,071 11,939 10,816 19,649 12,32 15,326 0 6,461 2,827 2,878 44,063 4,966 9,347

+ (N К о 0,002 0,384 3,825 3,343 2,23 3,369 2,533 0 3,574 0,896 0 16,651 1,59 5,374

* + К + (N К о о 0,768 5,875 5,167 10,182 2,77 8,98 0 1,945 2,642 0 0,719 2,069 7,276

К + (N К 4,348 13,692 3,071 14,106 12,603 20,152 12,807 18,816 0 6,687 5,83 2,878 44,852 5,777 15,947

+ CN о 0,002 0,384 5,851 5,125 2,497 3,856 5,604 0 3,694 2,436 0 16,651 2,033 9,701

+ н + (N к <4 о 0 0 6 053 20 288 6135 0 5 4 79 594 0 8 9 76 391 0 6 5 2 14 960 0 2 6

Nm о 0 2 3 18 643 63 104 6398 6 4 5 177839 0 8 5 2 461655 0 2 9 9 15 680 2196

к + (N К ** СМ 39 462 8 2 37 886 132096 12 347 2428 303511 0 7 5 8 493 977 8 60 800 37 632 2821

Nm СМ 39 462 8 2 44 763 153920 12 663 2524 372633 0 7 8 8 1 018580 8 61 888 43 776 4813

+ (N К ** О 6 6 12 138 40 832 1401 4 6 6 50 157 0 4 7 4 156556 0 22 976 12 048 1622

Nm о 6 6 18 567 62 592 1569 0 6 7 110989 0 0 9 4 425623 0 22 976 1 5408 2928

Количество ошибок, N 4 288218 4168 317331 1 221312 62 838 19 708 1 980377 0 8 6 13 264 17 472 087 8 7 2 137984 757760 30 182

Количество выходов 4 4 4 5 5 6 7 8 8 8 9 0 11 3 9

Количество входов 3 6 7 4 6 0 0 4 6 8 9 4 4 6 9

Контрольная схема -о cmb е 4 N cm162a cm163a 2 2 X 4 cm138a 1m £ pcle a 2 4 m4 c cu pm1 ldd

схем из известного набора LGSynth'89 [27]. Эти схемы описаны, в том числе в формате *.netblif, что дает возможность оценить эффективность обнаружения ошибок на их выходах с помощью полиномиальных кодов. Формат *.netblif описывает структуру комбинационной схемы с использованием двух-, трех- и четы-рехвходовых логических элементов ИЛИ-НЕ. В эксперименте в схему последовательно вносились все одиночные константные неисправности (stuck-at faults) внутренних логических элементов, а затем на всех входных комбинациях проверялась возможность обнаружения ошибок с помощью полиномиальных кодов с двумя контрольными разрядами с образующими полиномами x 2 +1, x 2 + x , x 2 + x + 1.

Результаты экспериментов представлены в табл. 5, в которой приведены рассчитанные данные об общем количестве необнаруживае-мых соответствующим полиномиальным кодом ошибок на выходах контрольных комбинационных схем (столбцы Nm) и о количестве необнаруживаемых двукратных ошибок (столбцы Nm 2). Для удобства анализа этих результатов введены коэффициенты Nm/N и Nm 2 /N. Полученные данные еще раз подчеркивают преимущество применения в системах функционального контроля полиномов X2 +1 и x2 + x +1. Практически для всех комбинационных схем использование указанных кодов позволяет обнаружить свыше 95 % ошибок, а для некоторых комбинационных схем - достичь 100 %.

Заключение

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

линомиальных кодов может оказаться эффективным по следующим причинам:

- генераторы контрольных разрядов полиномиальных кодов имеют простые структуры, реализуемые за счет использования ряда сверток по модулю два;

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

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

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

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

1. Казимов Г. А. Микропроцессорная централизация стрелок и сигналов EBILock 950 / Г. А. Казимов, В. Н. Алешин, А. Е. Деревянко, С. В. Золотарева, Г. Ф. Лекута, С. Б. Платунов, А. В. Сураев, С. А. Хохлов, К. Д. Хромушкин ; под ред. Г. Д. Ка-зиева. - М. : ТРАНСИЗДАТ, 2008. - 368 с.

2. Малиновский М. Л. Перспективы использования FPGA-технологий в системах железнодорожной автоматики / М. Л. Малиновский, Д. А. Аленин, В. И. Барсов, Н. В. Коноваленко // Вюник Харив. нац. техшч. ун-та сшьського господарства iменi Петра Василенка. Техшчш науки. Вип. 130. Пробле-ми енергозабезпечення та енергозбереження в АПК Украши. - Харкв : ХНТУСГ, 2012. - С. 79-81.

3. Сапожников В. В. Методы построения безопасных микроэлектронных систем железнодорожной автоматики / В. В. Сапожников, Вл. В. Сапожников, Х. А. Христов, Д. В. Гавзов ; под ред. Вл. В. Са-пожникова. - М. : Транспорт, 1995. - 272 с.

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

вания, аппаратурные средства) / П. П. Пархоменко, Е. С. Согомонян. - М. : Энергоатомиздат, 1981.— 320 с.

5. Матросова А. Ю. Алгоритмические методы синтеза тестов / А. Ю. Матросова. — Томск : Изд-во Томск. гос. ун-та, 1990. — 206 с.

6. Дрозд А. В. Рабочее диагностирование безопасных информационно-управляющих систем / А. В. Дрозд, В. С. Харченко, С. Г. Антощук, Ю. В. Дрозд, М. А. Дрозд, Ю. Ю. Сулима ; под ред. А. В. Дрозда, В. С. Харченко.—Харьков : Нац. аэро-космич. ун-т им. Н. Е. Жуковского (ХАИ), 2012. — 614 с.

7. Mitra S. Which concurrent error detection scheme to ^oose? / S. Mitra, E. J. McCluskey // Proceedings of International Test Conference.—Atlantic City ; New York, USA, 03—05 October, 2000. — P. 985—994. DOI : 10.1109/TEST.2000.894311

8. Nicolaidis M. On-line testing for VLSI — а compendium of approaches / M. Nicolaidis, Y. Zorian // Journal ofElectronic Testing : Theory and Applications. — 1998. — N 12.—P. 7—20. DOI : 10.1023/A:1008244815697

9. Saposhnikov Vl. V. Experimental results for self-dual multi-output combinational circuits / Vl. V. Saposhnikov, V. Moshanin, V. V. Saposhnikov, M. Goessel // Journal of Electronic Testing : Theory and Applications. — 1999. — Vol. 14, issue 3. — P. 295—300.

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

11. Fujiwara E. Code design for dependable systems : theory and practical applications / E. Fujiwara. — New-Jersey : John Wiley & Sons, 2006. — 720 p.

12. Lala P. K. Principles of modern digital design / P. K. Lala. — New-Jersey : John Wiley & Sons, 2007. — 436 p.

13. Castagnoli G. Optimization of cyclic redundancy-check codes with 24 and 32 parity bits / G. Cas-tagnoli, S. Brauer, M. Herrmann // IEEE Transactions on Communications. — 1993.—Vol. 41, issue 6.—P. 883— 892. DOI : 10.1109/26.231911

14. Koopman P. Cyclic Redundancy Code (CRC) polynomial selection for embedded networks / P. Koop-man, T. Chakravarty // The Intern. Conference on Dependable Systems and Networks, DSN-2004, 28 June—1 July 2004. — Florence, Italy, 2004. — P. 145— 154. DOI : 10.1109/DSN.2004.1311885

15. Ефанов Д. В. Функциональный контроль и мониторинг устройств железнодорожной автоматики и телемеханики : монография / Д. В. Ефанов. -СПб. : ПГУПС, 2016. - 171 с.

16. Сагалович Ю. Л. Введение в алгебраические коды / Ю. Л. Сагалович. - М. : Ин-т проблем передачи информации им. А. А. Харкевича РАН, 2010. -302 с.

17. Sellers F. F. Error detecting logic for digital computers / F. F. Sellers, M.-Y. Hsiao, L. W. Bearnson. -New York : McGraw-Hill, 1968. - XXI + 295 p.

18. Goessel M. Error detection circuits / M. Goessel, S. Graf. - London : McGraw-Hill, 1994. - 261 p.

19. Сапожников В. В. Новые структуры систем функционального контроля логических схем / В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов, В. В. Дмитриев // Автоматика и телемеханика. -2017. - № 2. - С. 127-143.

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

21. Bose B. Systematic unidirectional error-detection codes / B. Bode, D. J. Lin // IEEE Transaction on Computers. - Nov. 1985. - Vol. C-34. - P. 1026-1032.

22. Аксёнова Г. П. Необходимые и достаточные условия построения полностью проверяемых схем свертки по модулю 2 / Г. П. Аксёнова // Автоматика и телемеханика. - 1979. - № 9. - С. 126-135.

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

24. Sapozhnikov V. Method of combinational circuits testing by dividing its outputs into groups and using codes, that effectively detect double errors / V. Sapozhnikov, D. Efanov, Vl. Sapozhnikov, V. Dmitriev // Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017). - Novi Sad, Serbia. -2017. - September 29-October 2. - P. 129-136. DOI : 10.1109/EWDTS.2017.8110123

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

26. Ефанов Д. В. Применение модульных кодов с суммированием для построения систем функционального контроля комбинационных логических схем / Д. В. Ефанов, В. В. Сапожников, Вл. В. Сапожников // Автоматика и телемеханика. — 2015. — № 10. — С. 152—169.

27. Collection of Digital Design Benchmarks. — URL : http://ddd.fit.cvut.cz/prj/Benchmarks (дата обращения: 20.12.2017).

References

1. Kazimov G. А., Aleshin V. N., Derevyanko A. E., Zolotareva S. V., Lekuta G. F., Platunov S. B., Suraev A. V., Khokhlov S. A. & Khromushkin K. D. Microprotsessornaya tsentralizatsiya strelok i sig-nalov EBILock 950 [Computer-based interlocking of points and signals EBILock 950]. Ed. by G. D. Kazieva. Moscow, "TRANSIZDAT" Publ., 2008, 368 p. (In Russian)

2. Malinovskiy M. L., Alenin D. A., Barsov V. I. & Konovalenko N. V. Perspektivy ispolzovaniya FPGA-tekhnologiy v sistemakh zheleznodorozhnoy avtomatiky [The prospects of using technologies in the systems of railroad automation]. Vestnik Kharkovskogo Natsio-nalno tekhnicheskogo selskokhozyaistvennogo Univer-siteta imeny Petra Vasilenko. Tekhnicheskiye nauky. Vyp. 130. Problemy energoobespecheniya i energos-berezheniya vAPK "Ukraina" [Bulletin of KharkivNational Technical University of Agriculture named after Petr Vasilenko. Engineering sciences. Issue 130. Problems of power supply and power saving in AIC "Ukraina"]. Kharkiv, Kharkiv National Technical University of Agriculture Publ., 2012, pp. 79—81. (In Russian)

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

3. Sapozhnikov V. V., Sapozhnikov Vl. V., Khris-tov Kh. A. & Gavzov D. V. Metody postroeniya be-zopasnykh mikroelektronnykh system zheleznodorozh-noy avtomatiky [The methods of building safe microelectronic systems of railroad automation]. Moscow, Transport Publ., 1995, 272 p. (In Russian)

4. Parkhomenko P. P. & Sogomonyan E. S. Osnovy tekhnicheskoy diagnostiky (optimizatsiya algoritmov diagnostirovaniya, apparaturniye sredstva) [The foundations of technical diagnostics (optimization of diagnosis algorithms, hardware equipment)]. Moscow, Energoatomizdat Publ., 1981, 320 p. (In Russian)

5. Matrosova A. Y. Algoritmicheskiye metody sin-teza testov [Algorithmic methods of test synthesis]. Tomsk, Tomsk State University Publ., 1990, 206 p. (In Russian)

6. Drozd A. V., Kharchenko V. S., Antonshchuk S. G., Drozd Yu. V., Drozd M.A. & Sulima Yu. Yu. Rabocheye diagnostirovaniye bezopasnykh informatsionno-uprav-lyayushchykh system [Operational diagnosis of safe information management systems]. Eds by A. V. Drozd, V. S. Kharchenko. Kharkov, N. E. Zhukovskiy National Aerospace University (KhAI) Publ., 2012, 614 p. (In Russian)

7. Mitra S. & McCluskey E. J. Which concurrent error detection scheme to choose. Proceedings of International Test Conference. Atlantic City, New York, USA, 03-05 October, 2000, pp. 985-994. DOI: 10.1109/TEST.2000.894311

8. Nicolaidis M. & Zorian Y. On-line testing for VLSI - a compendium of approaches. Journal of Electronic Testing: Theory and Applications, 1998, no. 12, pp. 7-20. DOI: 10.1023/A:1008244815697

9. Saposhnikov Vl. V., Moshanin V., Saposhnikov V. V. & Goessel M. Experimental results for self-dual multi-output combinational circuits. Journal of Electronic Testing: Theory and Applications,1999, vol. 14, issue 3, pp. 295-300.

10. Sogomonyan E. S. & Slabakov E. V. Samopro-veryayemiye ustroistva i otkazoustoichiviye sistemy [Self-testing checkers and fail-safe systems]. Moscow, Radio and communication Publ., 1989, 208 p. (In Russian)

11. Fujiwara E. Code design for dependable systems: theory and practical applications. New-Jersey, John Wiley & Sons Press, 2006, 720 p.

12. Lala P. K. Principles of modern digital design. New-Jersey, John Wiley & Sons Press, 2007, 436 p.

13. Castagnoli G., Brauer S. & Herrmann M. Optimization of cyclic redundancy-check codes with 24 and 32 parity bits. IEEE Transactions on Communications, 1993, vol. 41, issue 6, pp. 883-892. DOI: 10.1109/26.231911

14. Koopman P. & Chakravarty T. Cyclic Redundancy Code (CRC) polynomial selection for embedded networks. The Intern. Conference on Dependable Systems and Networks, DSN-2004, 28 June-1 July 2004. Florence, Italy, 2004, pp. 145-154. DOI: 10.1109/DSN.2004.1311885

15. Efanov D. V. Funktsionalniy control i monitoring ustroistv zheleznodorozhnoy avtomatiky i tele-mekhaniky: monografiya [Concurrent error detection and monitoring of devices of railroad automation and telemechanics: monograph]. Saint Petersburg, PGUPS Publ., 2016, 171 p. (In Russian)

16. Sagalovich Yu. L. Vvedeniye v algebraiches-kiye kody [Introduction to algebraic codes]. Moscow, A. A. Kharkevich Institute for Information Transmission Problems RAS Publ., 2010, 302 p. (In Russian)

17. Sellers F. F., Hsiao M.-Y. & Bearnson L. W. Error detecting logic for digital computers. New York, McGraw-Hill Press, 1968, XXI + 295 p.

18. Goessel M. & Graf S. Error detection circuits. London, McGraw-Hill Press, 1994, 261 p.

19. Sapozhnikov V. V., Sapozhnikov Vl. V., Efanov D. V., Dmitriyev V. V. Noviye struktury system funktsionalnogo kontrolya logicheskykh skhem [The new structures for concurrent error detection of logical circuits]. Automation and telemechanics, 2017, no. 2, pp. 127-143. (In Russian)

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

21. Bose B. & Lin D. J. Systematic unidirectional error-detection codes. IEEE Transaction on Computers, 1985, vol. C-34, Nov., pp. 1026-1032.

22. Aksenova G. P. Neobkhodimiye i dostatochniye usloviya dlya postroyeniya polnostyu proveryaemykh shkem svertky po modulyu 2 [The necessary and sufficient conditions for building totally self-checking circuits of modulo 2 convolution]. Automation and

telemechanics, 1979, no. 9, pp. 126-135. (In Russian)

23. Blyudov А. А., Efanov D. V., Sapozhnikov V. V. & Sapozhnikov Vl. V. Postroyeniye modifitsirovan-nogo koda Bergera s minimalnym chislom neobnaru-zhyvayemykh oshibok informatsionnykh razryadov [The design of a modified Berger code with minimum number of undetected errors of data bits]. Electronic modeling, 2012, vol. 34, no. 6, pp. 17-29. (In Russian)

24. Sapozhnikov V., Efanov D., Sapozhnikov Vl. & Dmitriev V. Method of combinational circuits testing by dividing its outputs into groups and using codes, that effectively detect double errors. Proceedings ofl5th IEEE East-West Design & Test Symposium (EWDTS'2017). Novi Sad, Serbia, 2017, September 29-October 2, pp. 129-136. DOI: 10.1109/EWDTS.2017.8110123

25. Efanov D. V., Sapozhnikov V. V. & Sapozh-nikov Vl. V. O svoistvakh koda s summirovaniyem v skhemakh funktsionalnogo kontrolya [On the properties of a summation code in concurrent error detection circuits]. Automation and telemechanics, 2010, no. 6, pp. 155-162. (In Russian)

26. Efanov D. V., Sapozhnikov V. V. & Sapozhni-kov Vl. V. Primeneniye modulnykh kodov s summiro-vaniyem dlya postroyeniya system funktsionalnogo kontrolya kombinatsionnykh logicheskykh skhem [Application of module summation codes for building concurrent error detection systems of combinational logic circuits]. Automation and telemechanics, 2015, no. 10, pp. 152-169. (In Russian)

27. Collection of Digital Design Benchmarks. URL: http://ddd.fit.cvut.cz/prj/Benchmarks (accessed: 20.12.2017).

САПОЖНИКОВ Валерий Владимирович — д-р техн. наук, профессор, port.at.pgups1@gmail. com; САПОЖНИКОВ Владимир Владимирович — д-р техн. наук, профессор, at.pgups@gmail. com (Петербургский государственный университет путей сообщения Императора Александра I); *ЕФАНОВ Дмитрий Викторович — д-р техн. наук, доцент, [email protected] (Российский университет транспорта (МИИТ)); АБДУЛЛАЕВ Руслан Борисович — аспирант, [email protected] (Петербургский государственный университет путей сообщения Императора Александра I).

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