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

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

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

УДК 681.518.5:004.052.32 Б01: 10.17223/19988605/41/9

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

СИНТЕЗ СИСТЕМ ФУНКЦИОНАЛЬНОГО КОНТРОЛЯ

МНОГОВЫХОДНЫХ КОМБИНАЦИОННЫХ СХЕМ НА ОСНОВЕ МЕТОДА ЛОГИЧЕСКОГО ДОПОЛНЕНИЯ

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

Ключевые слова: комбинационная схема; система контроля; метод логического дополнения; равновесные коды; код «1 из 3»; код «1 из 4»; код «2 из 4»; самопроверяемость.

При синтезе надежных дискретных систем автоматики и вычислительной техники используют разнообразные подходы, основанные на внесении аппаратной и программной избыточности [1-3]. Это позволяет на практике оперативно обнаруживать дефекты и неверные результаты вычислений, а также парировать их до реализации ответственных технологических процессов [4-6]. Например, указанными особенностями обладают управляющие комплексы систем обеспечения движения поездов на микропроцессорной основе [7-9].

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

При организации систем функционального контроля могут быть использованы две основные структурные схемы, основанные на применении помехоустойчивых кодов с высокой кодовой скоростью и ориентированные, как правило, на обнаружение искажений, а не на их исправление [12-14]. Первая структурная схема синтезируется на основе метода вычисления контрольных разрядов и позволяет дополнить информационный вектор, формируемый на выходах объекта диагностирования, до кодового слова заранее выбранного помехоустойчивого кода [15, 16]. Например, часто в задачах организации систем функционального контроля используют коды с повторением, коды Бергера, коды паритета и модифицированные коды с суммированием [17-22]. Характеристики системы функционального контроля полностью определяются свойствами кода, выбранного в качестве ее основы. Вторая структурная схема системы функционального контроля позволяет преобразовывать информационный вектор, формируемый на выходах объекта диагностирования, в кодовое слово заранее выбранного кода путем логического дополнения [23].

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

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

логического дополнения

В структурной схеме системы функционального контроля на основе метода логического дополнения выделяется четыре блока (рис. 1). Блок основной логики F(x), или исходная комбинационная схема, является объектом диагностирования и вычисляет значения разрядов информационного вектора </т /т-1 ... / /1>. В процессе эксплуатации системы функционального контроля неисправности в блоке основной логики F(x) проявляются в виде искажений разрядов информационного вектора, что фиксируется с помощью схемы контроля. В схему контроля входит три блока: блок контрольной логики G(x), блок логического дополнения и самопроверяемый тестер TSC. Блок контрольной логики вычисляет систему специальных контрольных функций g1, g2, ..., gm-1, gm, преобразовывающих в блоке логического дополнения значения разрядов информационного вектора </т /т-1 ... /2 /1> в значения разрядов кодового слова заранее выбранного кода. Блок логического дополнения образован линией сумматоров по модулю два, на выходе каждого из которых формируется значение функции hj = / © gj, j = 1, т. Тестер TSC

проверяет факт принадлежности поступающего кодового слова заранее выбранному коду и в случае наличия указанного соответствия формирует парафазный контрольный сигнал z°z1 = <01> или <10>. Нарушение парафазности на контрольных выходах свидетельствует о наличии неисправности в одном из блоков системы функционального контроля.

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

X /

Входы -т^—

/1

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

Контрольные выходы

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

В качестве неразделимого кода может быть использован любой равновесный код (код «г из т», или г/т-код, где г - вес кодового слова, а т - общее количество разрядов), но гораздо проще синтезировать самопроверяемую схему контроля при разбиении выходов схемы на подмножества и организации подсхем контроля групп выходов на основе равновесных кодов с небольшим количеством кодовых слов и простыми структурами тестеров. Более того, в блоке логического дополнения не потребуется преобразования всех рабочих функций. Широко известны базовые подходы, использующие в качестве основы такие равновесные коды, как 1/3-код, 1/4-код и 2/4-код [32-41]. Кроме этих кодов, как альтернатива может использоваться контроль групп выходов на основе модулей сжатия парафазных сигналов ТЕС [42, 43].

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

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

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

Р

0

А

А

А

А

Л

А

/в

А>

/ю

V н

.г 'V.

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

ЧГ > г_; г

И

/о

Рис. 2. Контроль схемы с т = 10 выходами на основе 2/5-кода

Нх)

0

Л

Л

л

Л

Лб

л

Лв

л>

Ло

.г Г э

хг п

> г1 э

г!

V .г * > 'V.

4 'V.

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

2/4-таС

2/4-таС

^ >1г >г_;' >!г ^

^ >1г > г_; г

2/4-теС

Рис. 3. Контроль схемы с т = 10 выходами на основе 2/4-кода

В первом случае при организации контроля схемы с т = 10 выходами было выделено два подмножества выходов по пять элементов в каждом, а контроль каждой полученной группы осуществлен на основе 2/5-кода. Выходы двух тестеров 2/5-ТБС подключены ко входам одного модуля ТЯС. Блок логического дополнения при этом будет иметь 6 элементов сложения по модулю два. Во втором случае все выходы разбиты на три подмножества по четыре элемента в каждом, а контроль каждой группы осуществлен на основе 2/4-кода. Выходы трех тестеров 2/4-ТБС объединены на входах самопроверяемого компаратора, реализованного с помощью каскадного подключения двух модулей сжатия парафаз-ных сигналов. Блок логического дополнения включает в себя также 6 элементов сложения по модулю два. Таким образом, в обоих случаях блок контрольной логики О(х) имеет одинаковое количество выходов. Сложность технической реализации схемы контроля определяется сложностью реализации блока G(x) и сложностью реализации блока логического дополнения и системы тестеров (неизменяемой части схемы контроля).

Сложности реализации блоков контрольной логики в структурах рис. 2 и 3 могут существенно отличаться и определяются как топологией контролируемой схемы ^(х), так и способом доопределения функций логического дополнения с учетом обеспечения самопроверяемости блока логического дополнения [38, 39]. На сложность технической реализации системы функционального контроля влияет также и суммарная сложность тестеров и компаратора. Установим, какой из вариантов оказывается более предпочтительным.

На рис. 4 приведены структурные схемы функциональных элементов, с помощью которых реализовано контрольное оборудование систем функционального контроля из рассматриваемых примеров. Сложность технической реализации подобных структур принято оценивать количеством входов внутренних логических элементов - величиной Ь [44, 45]. Для тестеров равновесных кодов и стандартных элементов автоматики данные показатели сведены в табл. 1. Контрольная схема первой системы диагностирования (см. рис. 2) строится по формуле 2^2/5-ТБС+ТЯС, а второй (см. рис. 3) - по формуле 3*2/4-Т£С+2*ТЛС. В обоих случаях требуется по шесть элементов сложения по модулю два (6*ХОЛ) в блоке логического дополнения. Таким образом, реализация первой неизменяемой части схемы имеет

сложность 104, а второй неизменяемой части схемы - 60. Неизменяемая часть второй структурной схемы в 1,7 раза проще неизменяемой части первой схемы. Рассматривая другие показатели элементов автоматики (см. табл. 1), такие как быстродействие д, оцениваемое по количеству уровней внутренних логических элементов, а также контролепригодность, оцениваемую по количеству тестовых комбинаций, необходимых для полной проверки одиночных константных неисправностей устройства, отмечаем приоритет второй структурной схемы над первой: она имеет большее быстродействие и потребует меньшее количество тестовых комбинаций для полной проверки каждого тестера.

Рис. 4. Структурные схемы тестеров: а - 2/4-ТБС; б - ТЕС; в - 2/5-Т5С

Т а б л и ц а 1

Характеристики функциональных элементов

Функциональный элемент Тестовые комбинации Сложность реализации, Ь Быстродействие, q

XOR {00; 01; 10; 11} 6 2

1/3-TSC {001; 010; 100} 18 3

1/4-TSC {0001; 0010; 0100;1000} 14 3

2/4-TSC {0011;1100;1001;0110} 12 2

TRC {0101;0110; 1001; 1010} 12 2

1/5-TSC {00001;00010; 00100;01000; 10000} 22 3

2/5-TSC {10100;01010;01001;00101;11000;00110} 28 5

1/6-TSC {000001; 000010;000100;001000; 010000;100000} 24 3

Если бы при организации контроля схемы с т = 10 выходами были применены другие равновесные коды, например коды «1 из т», это бы только усложнило блоки контрольной логики и логического дополнения. На рис. 5 приведены структурные схемы наиболее простых тестеров для часто используемых при организации систем функционального контроля равновесных кодов. При этом тестеры приведенных кодов имеют не столь большую сложность, а также требуют для своей полной проверки небольшое количество тестовых комбинаций (см. табл. 1). Следует отметить, что равновесные 1/т-коды могут эффективно применяться при организации контроля комбинационных схем, особенно, при малом количестве выходов [38, 41].

б

Рис. 5. Структурные схемы тестеров: а - 1/3-ТБС; б - 1/4-ТБС; в - 1/5-ТБС; г - 1/6-ТБС

В табл. 2 приведены описания разнообразных способов реализации неизменяемых частей схем контроля дискретных устройств с т = 3^6 выходами. Для каждого способа указана формула реализации, сложность неизменяемой части (с учетом сложности блока логического дополнения), а также доля сложности технической реализации неизменяемой части схемы от наилучшего способа (коэффициент у, %).

Т а б л и ц а 2

Способы реализации неизменяемых частей схемы контроля

т Формула реализации схемы контроля Количество выходов блока О(х) Ь у, %

3 1/3-тес 2 30 100

4 1/4-тес 3 32 228,571

4 2/4-тес 2 24 100

4 ТЯС 2 24 100

4 2 х 1/3-тес+ткс 4 60 250

5 1/5-тес 4 46 100

5 2/5-тес 3 46 100

5 3 х ТЯс 4 60 130,435

5 2 х 2/4-тес + ТЯс 4 60 130,435

5 1/4-тес+2/4-тес + тяс 5 68 147,826

5 2 х 1/4-тес + ТЯс 6 76 165,217

5 2 х 1/3-тес+тяс 4 72 156,522

6 1/6-тес 5 54 100

6 3 х ТЯс 4 60 111,111

6 2 х 2/4-тес + тяс 4 60 111,111

6 1/4-тес+2/4-тес + тяс 5 68 125,926

6 2 х 1/4-тес + тяс 6 76 140,741

6 2 х 1/3-тес+тяс 4 72 133,333

При малых значениях т эффективен контроль схем в виде полной группы выходов и одного тестера равновесного г/т-кода. Однако с увеличением длины информационного вектора приоритетнее оказывается использование контроля выходов по группам. Это возникает потому, что с увеличением значения т растет сложность тестера равновесного кода для контроля всех выходов, а также увеличивается количество выходов блока контрольной логики и количество элементов ХОЯ в блоке логического дополнения.

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

Т а б л и ц а 3

Варианты реализации неизменяемых частей схемы контроля с наименьшей сложностью

т Формула тестера Количество выходов блока О

3 1/3-тес 2

4 2/4-тес, тяс 2

5 2/5-тес 3

6 1/6-тес 5

7 3 х ТЯс, 2 х 2/4-тес + ТЯс, 2/4-тес + 2 х ТЯс 4

8 3 х ТЯс, 2 х 2/4-тес + ТЯс, 2/4-тес + 2 х ТЯс 4

9 2/5-тес + 2/4-тес + ТЯс, 2/5-тес + 2 х ТЯс 5

>10 -4 X2/4-ТЯс + ^ -4 -ЦхТЯс, ..., ^2 т -ЦхТЯс 2 Г т 1 4

Оказывается, наилучшим вариантом при количестве выходов т > 10 является разбиение их на группы по четыре выхода в каждой и контроль каждой группы либо на основе 2/4-кода, либо на основе модуля ТЯС. Сложности реализации для случаев количества выходов схем т = р + 1, р + 2, р + 3 и р + 4, где р - число, кратное четырем, равны. При каждом увеличении на «четверку» сложность реализации возрастает на величину сложности подсхемы реализации 2/4-ТБС + ТЯС + 2 х ХОЯ = 36 (рис. 6).

~ Сложность реализации тестера

• • • Сложность реализации блока логического дополнения Сложность неизменяемой части схемы контроля

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

Заключение

При организации контроля многовыходных комбинационных схем на основе метода логического дополнения с точки зрения сложности технической реализации схем контроля и простоты обеспечения свойства полной самопроверяемости их структур эффективно использовать равновесные коды с малой длиной кодовых слов (m < 6). Для схем с небольшим количеством выходов удобно применять коды r/m и контролировать все выходы как одну группу. Для многовыходных схем целесообразно при организации контроля разбивать выходы на четырехэлементные подмножества и контролировать каждую полученную группу на основе 2/4-кода или модуля сжатия парафазных сигналов, выходы же тестеров при этом следует объединять на входах самопроверяемого компаратора.

ЛИТЕРАТУРА

1. Каравай М.Ф., Согомонян Е.С. Анализ надежностных характеристик самопроверяемых избыточных структур // Автоматика

и телемеханика. 1979. № 8. С. 105-119.

2. Гавзов Д.В., Сапожников В.В., Сапожников Вл.В. Методы обеспечения безопасности дискретных систем // Автоматика и

телемеханика. 1994. № 8. С. 3-50.

3. Скляр В.В., Харченко В.С. Отказоустойчивые компьютерные системы управления с версионно-пороговой адаптацией: спо-

собы адаптации, оценка надежности, выбор архитектур // Автоматика и телемеханика. 2002. № 6. С. 131-145.

4. Дрозд А.В. Нетрадиционный взгляд на рабочее диагностирование вычислительных устройств // Проблемы управления. 2008.

№ 2. С. 48-56.

5. Рабочее диагностирование безопасных информационно-управляющих систем / А.В. Дрозд, В.С. Харченко, С.Г. Антощук,

Ю.В. Дрозд, М.А. Дрозд, Ю.Ю. Сулима ; под ред. А.В. Дрозда, В.С. Харченко. Харьков : Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ», 2012. 614 с.

6. Kharchenko V., Kondratenko Yu., Kacprzyk J. Green IT Engineering: Concepts, Models, Complex Systems Architectures // Springer

Book series "Studies in Systems, Decision and Control". 2017. V. 74. 305 p. DOI: 10.1007/978-3-319-44162-7.

7. Сапожников В.В., Сапожников Вл.В., Христов Х.А., Гавзов Д.В. Методы построения безопасных микроэлектронных систем

железнодорожной автоматики / под ред. Вл.В. Сапожникова. М. : Транспорт, 1995. 272 с.

8. Микропроцессорная централизация стрелок и сигналов EBILock 950 / Г.А. Казимов, В.Н. Алешин, А.Е. Деревянко,

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

9. Theeg G., Vlasenko S. Railway Signalling & Interlocking - International Compendium. Eurailpress, 2009. 448 p.

10. Пархоменко П.П., Согомонян Е.С. Основы технической диагностики (оптимизация алгоритмов диагностирования, аппаратурные средства). М. : Энергоатомиздат, 1981. 320 с.

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

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

13. Das D., Touba N.A. Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits // Proceedings of the 17th IEEE VLSI Test Symposium, USA, CA, Dana Point. 1999. April 25-29. Р. 370-376.

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

15. Nicolaidis M., Zorian Y. On-Line Testing for VLSI - а Compendium of Approaches // Journal of Electronic Testing: Theory and Applications. 1998. V. 12. Issue 1-2. P. 7-20.

16. Mitra S., McCluskey E.J. Which Concurrent Error Detection Scheme to Choose? // Proceedings of International Test Conference, 2000, USA, Atlantic City, NJ. 2000. 03-05 October. Р. 985-994. DOI: 10.1109/TEST.2000.894311.

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

18. Слабаков Е.В., Согомонян Е.С. Самопроверяемые вычислительные устройства и системы (обзор) // Автоматика и телемеханика. 1981. № 11. С. 147-167.

19. Аксёнова Г.П. О функциональном диагностировании дискретных устройств в условиях работы с неточными данными // Проблемы управления. 2008. № 5. С. 62-66.

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

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

22. Ефанов Д.В., Сапожников В.В., Сапожников Вл.В. Условия обнаружения неисправности логического элемента в комбинационном устройстве при функциональном контроле на основе кода Бергера // Автоматика и телемеханика. 2017. № 5. С. 152-165.

23. Гессель М., Морозов А.В., Сапожников В.В., Сапожников Вл.В. Логическое дополнение - новый метод контроля комбинационных схем // Автоматика и телемеханика. 2003. № 1. С. 167-176.

24. Freiman C.V. Optimal Error Detection Codes for Completely Asymmetric Binary Channels // Information and Control. 1962. V. 5, Issue 1. P. 64-71. DOI: 10.1016/S0019-9958(62)90223-1.

25. Гессель М., Мошанин В.И., Сапожников В.В., Сапожников Вл.В. Обнаружение неисправностей в самопроверяемых комбинационных схемах с использованием свойств самодвойственных функций // Автоматика и телемеханика. 1997. № 12. С. 193-200.

26. Saposhnikov Vl.V., Dmitriev A., Goessel M., Saposhnikov V.V. Self-Dual Parity Checking - a New Method for on Line Testing // Proceedings of 14th IEEE VLSI Test Symposium. USA, Princeton, 1996. P. 162-168.

27. Saposhnikov Vl.V., Moshanin V., Saposhnikov V.V., Goessel M. Self-Dual Multi-Output Combinational Circuits with Output Data Compaction // Compendium of Papers IEEE European Test Workshop (ETW'97). Cagliari, Italy. 1997. May 28-30. P. 107-111.

28. Saposhnikov Vl.V., Saposhnikov V.V., Dmitriev A., Goessel M. Self-Dual Duplication for Error Detection // Proceedings of 7th Asian Test Symposium. Singapore, 1998. P. 296-300.

29. 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. V. 14. Issue 3. P. 295-300.

30. Гессель М., Дмитриев А.В., Сапожников В.В., Сапожников Вл.В. Самотестируемая структура для функционального обнаружения отказов в комбинационных схемах // Автоматика и телемеханика. 1999. № 11. С. 162-174.

31. Сапожников В.В., Сапожников Вл.В., Гёссель М. Самодвойственные дискретные устройства. СПб. : Энергоатомиздат (Санкт-Петербургское отделение), 2001. 331 с.

32. Goessel M., Saposhnikov Vl., Saposhnikov V., Dmitriev A. A New Method for Concurrent Checking by Use of a 1-out-of-4 Code // Proceedings of the 6th IEEE International On-line Testing Workshop. 3-5 July. Palma de Mallorca, Spain, 2000. P. 147-152.

33. Сапожников В.В., Сапожников Вл.В., Дмитриев А.В., Морозов А.В., Гессель М. Организация функционального контроля комбинационных схем методом логического дополнения // Электронное моделирование. 2002. Т. 24, № 6. С. 51-66.

34. Saposhnikov V.V., Saposhnikov Vl.V., Morozov A., Osadtchi G., Gossel M. Design of Totally Self-Checking Combinational Circuits by Use of Complementary Circuits // Proceedings of East-West Design & Test Workshop. Yalta, Ukraine, 2004. P. 83-87.

35. Гессель М., Морозов А.В., Сапожников В.В., Сапожников Вл.В. Контроль комбинационных схем методом логического дополнения // Автоматика и телемеханика. 2005. № 8. С. 161-172.

36. Göessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking. Ed. 1. Dordrecht : Springer Science + Business Media B.V., 2008. 184 p.

37. Das D.K., Roy S.S., Dmitiriev A., Morozov A., Gössel M. Constraint Don't Cares for Optimizing Designs for Concurrent Checking by 1-out-of-3 Codes // Proceedings of the 10th International Workshops on Boolean Problems. Freiberg, Germany, September, 2012. P. 33-40.

38. Efanov D., Sapozhnikov V., Sapozhnikov Vl. Methods of Organization of Totally Self-Checking Concurrent Error Detection System on the Basis of Constant-Weight «1-out-of-3»-Code // Proceedings of 14th IEEE East-West Design & Test Symposium (EWDTS'2016). Yerevan, Armenia, 2016. October 14-17. P. 117-125.

39. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Метод функционального контроля комбинационных логических устройств на основе кода «2 из 4» // Известия вузов. Приборостроение. 2016. Т. 59, № 7. С. 524-533. DOI: 10.17586/00213454-2016-59-7-524-533.

40. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Построение самопроверяемых структур систем функционального контроля на основе равновесного кода «2 из 4» // Проблемы управления. 2017. № 1. С. 57-64.

41. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Пивоваров Д.В. Метод логического дополнения на основе равновесного кода «1 из 4» для построения полностью самопроверяемых структур систем функционального контроля // Электронное моделирование. 2017. Т. 39, № 2. С. 15-34.

42. Huches J.L.A., McCluskey E.J., Lu D.J. Design of Totally Self-Checking Comparators with an Arbitrary Number of Inputs // IEEE Transactions on Computers. 1984. V. C-33, No. 6. P. 546-550.

43. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Организация систем функционального контроля с обеспечением полной самопроверяемости структуры на основе модулей сжатия парафазных сигналов // Известия вузов. Приборостроение. 2017. Т. 60, № 5. С. 404-411. DOI: 10.17586/0021-3454-2017-60-5-404-411.

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

45. Сапожников В.В., Сапожников Вл.В. Самопроверяемые тестеры для равновесных кодов // Автоматика и телемеханика. 1992. № 3. С. 3-35.

Сапожников Валерий Владимирович, д-р техн. наук, профессор. E-mail: port.at.pgups1@gmail.com Сапожников Владимир Владимирович, д-р техн. наук, профессор. E-mail: at.pgups@gmail.com Ефанов Дмитрий Викторович, канд. техн. наук, доцент. E-mail: TrES-4b@yandex.ru Пивоваров Дмитрий Вячеславович. E-mail: pivovarov.d.v.spb@gmail.com

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

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

Sapozhnikov Valery V., Sapozhnikov Vladimir V., Efanov Dmitry V., Pivovarov Dmitry V. (Emperor Alexander I St. Petersburg State Transport University, St. Petersburg, Russian Federation).

Synthesis of concurrent error detection systems of multioutput combinational circuits based on Boolean complement method. Keywords: combinational circuit; concurrent error detection system; Boolean complement method; constant-weight code; «1-out-of-3»-code; «1-out-of-4»-code; «2-out-of-4»-code; self-checking.

DOI: 10.17223/19988605/41/9

One of approaches to the logical combinational circuits reliability increase is addition of fault detection means and organization of concurrent error detection systems. Two basic structures are often used for this purpose. First, one realizes the idea of check bits calculation: outputs of diagnostic object correspond to the data vector; test circuit is built by the principle to add the data vector with the check vector of previously chosen error detection code. Second, one realizes the idea of logical complement of the vector formed on the outputs of diagnostic object to the code word of previously chosen non-separable code. The second structure has an advantage: it allows transformation of any number of the original vector bits; thereby it gives the possibility to minimize the structural redundancy of diagnostic system and achieve the self-checking property simpler.

The paper is devoted to the features of synthesis of concurrent error detection systems of multioutput combinational circuits based on Boolean complement method. The features of technical implementation of unchangeable test circuit parts are analyzed; they are synthesized using Boolean complement method for combinational circuits with any number of outputs. It is shown that the most effective approach for the circuits with lot of outputs is distribution of them by groups with subsequent check using constant-weight codes with small code vector lengths (m < 6). It is determined that the way of technical implementation with minimal redundancy of unchangeable test circuit part is the distribution of outputs on four-element subsets; every subset is checked using constant-weight code "2-out-of-4" or self-checking two-rail checker. Features of technical implementation of concurrent error detection system based on constant-weight codes are stated.

REFERENCES

1. Karavai, M.F. & Sogomonyan, E.S. (1979) Analysis of Reliability Characteristics of Self-Checkable Redundant Structures. Automa-

tion and Remote Control. 40(8). pp. 1186-1197.

2. Gavzov, D.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1994) Methods for Providing Safety in Discrete Systems. Automation and

Remote Control. 55(8). pp. 3-50.

3. Sklyar, V.V. & Kharchenko, V.S. (2002) Fault-Tolerant Computer-Aided Control Systems with Multiversion-Threshold Adaptation:

Adaptation Methods, Reliability Estimation, and Choice of an Architecture. Automation and Remote Control. 63(6). pp. 991-1003.

4. Drozd, A.V. (2008) An Untraditional View on Operational Diagnostics of Computing Devices. Control Sciences. 2. pp. 48-56. (In

Russian).

5. Drozd, A.V., Kharchenko, V.S., Antoshchuk, S.G., Drozd, Ju.V., Drozd, M.A. & Sulima, Yu.Yu. (2012) Rabochee diagnostirovanie

bezopasnykh informatsionno-upravlyayushchikh sistem [Objects and Methods of On-Line Testing for Safe Instrumentation and Control Systems]. Kharkov: National Aerospace University.

6. Kharchenko, V., Kondratenko, Yu. & Kacprzyk, J. (2017) Green IT Engineering: Concepts, Models, Complex Systems Architectures.

Studies in Systems, Decision and Control. 74. DOI: 10.1007/978-3-319-44162-7.

7. Sapozhnikov, V.V., Sapozhnikov, Vl.V., Khristov, H.A. & Gavzov, D.V. (1995) Metodypostroeniya bezopasnykh mikroelektronnykh

sistem zheleznodorozhnoy avtomatiki [Methods for Constructing Safe Microelectronic Systems for Railway Automation]. Moscow: Transport.

8. Kazimov, G.A., Aleshin, V.N., Derevyanko, A.E., Zolotarev, S.V., Lekuta, G.F., Platunov, S.B., Suraev, A.V., Khokhlov, S.A.,

Khromushkin, K.D. (2008) Mikroprotsessornaya tsentralizatsiya strelok i signalov EBILock 950 [Microprocessor Interlocking System EBILock 950]. Moscow: TRANSIZDAT.

9. Theeg, G. & Vlasenko, S. (2009) Railway Signalling & Interlocking - International Compendium. Eurailpress in DVV Media Group.

10. Parkhomenko, P.P. & Sogomonyan, E.S. (1981) Osnovy tekhnicheskoy diagnostiki (optimizatsiya algoritmov diagnostirovaniya, apparaturnye sredstva) [Technical Diagnosis Fundamentals (Diagnostic Algorithm Optimization, Apparatus Means)]. Moscow: En-ergoatomizdat.

11. Sogomonyan, E.S. & Slabakov, E.V. (1989) Samoproveryaemye ustroystva i otkazoustoychivye sistemy [Self-Checking Devices and Fault-Tolerant Systems]. Moscow: Radio i svyaz'.

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

13. Das, D. & Touba, N.A. (1999) Weight-Based Codes and Their Application to Concurrent Error Detection of Multilevel Circuits. Proceedings of the 17th IEEE VLSI Test Symposium. USA, CA, Dana Point. April 25-29, 1999. pp. 370-376.

14. Das, D. & Touba, N.A. (1999) Synthesis of Circuits with Low-Cost Concurrent Error Detection Based on Bose-Lin Codes. Journal of Electronic Testing: Theory and Applications. 15(1-2). pp. 145-155. DOI: 10.1023/A:1008344603814

15. Nicolaidis, M. & Zorian, Y.(1998) On-Line Testing for VLSI - А Compendium of Approaches. Journal of Electronic Testing: Theory and Applications. 12(1-2). pp. 7-20.

16. Mitra, S. & McCluskey, E.J. (2000) Which Concurrent Error Detection Scheme to Choose? Proceedings of International Test Conference. USA, Atlantic City, NJ. October 3-5, 2000. pp. 985-994. DOI: 10.1109/TEST.2000.894311.

17. Aksyonova, G.P. (1979) Necessary and Sufficient Conditions for Design of Completely Checkable Modulo 2 Convolution Circuits. Automation and Remote Control. 40(9). pp. 1362-1369.

18. Slabakov, E.V. & Sogomonyan, E.S. (1981) Self-Checking Computing Devices and Systems (Review). Automation and Remote Control. 11. pp. 147-167.

19. Aksyonova, G.P. (2008) On Functional Diagnosis of Discrete Devices under Imperfect Data Processing Conditions. Control Sciences. 5. pp. 62-66.

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

21. Efanov, D.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2015) Application of Modular Summation Codes to Concurrent Error Detection Systems for Combinational Boolean Circuits. Automation and Remote Control. 76(10). pp. 1834-1848. DOI: 10.1134/S0005117915100112

22. Efanov, D.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2017) Conditions for Detecting a Logical Element Fault in a Combination Device under Concurrent Checking Based on Berger's Code. Automation and Remote Control. 78(5). pp. 892-902. DOI: 10.1134/S0005117917050113

23. Goessel, M., Morozov, A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2003) Logic Complement, a New Method of Checking the Combinational Circuits. Automation and Remote Control. 64(1). pp. 153-161. DOI: 10.1023/A:1021884727370

24. Freiman, C.V. (1962) Optimal Error Detection Codes for Completely Asymmetric Binary Channels. Information and Control. 5(1). pp. 64-71. DOI: 10.1016/S0019-9958(62)90223-1

25. Gössel, M., Moshanin, V.I., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1997) Fault Detection in Self-Test Combination Circuits Using the Properties of Self-Dual Functions. Automation and Remote Control. 12. pp. 193-200.

26. Sapozhnikov, Vl.V., Dmitriev, A., Gössel, M. & Sapozhnikov, V.V. (1996) Self-Dual Parity Checking - a New Method for on Line Testing. Proceedings of 14th IEEE VLSI Test Symposium. USA, Princeton. pp. 162-168.

27. Sapozhnikov, Vl.V., Moshanin, V., Sapozhnikov, V.V. & Gössel, M. (1997) Self-Dual Multi-Output Combinational Circuits with Output Data Compaction. Compendium of Papers IEEE European Test Workshop (ETW97). Cagliari, Italy. May 28-30, 1997. pp. 107-111.

28. Sapozhnikov, Vl.V., Sapozhnikov, V.V., Dmitriev, A. & Gössel, M. (1998) Self-Dual Duplication for Error Detection. Proceedings of 7th Asian Test Symposium, Singapore. pp. 296-300.

29. Sapozhnikov, Vl.V., Moshanin, V., Sapozhnikov, V.V. & Gössel, M. (1999) Experimental Results for Self-Dual Multi-Output Combinational Circuits. Journal of Electronic Testing: Theory and Applications. 14(3). pp. 295-300. DOI: 10.1023/A:1008370405607

30. Göessel, M., Dmitriev, A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1999) A Functional Fault-Detection Self-Test for Combinational Circuits. Automation and Remote Control. 60(11). pp. 1653-1663.

31. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Göessel, M. (2001) Self-Dual Discrete Devises. St. Petersburg: Energoatomizdat.

32. Göessel, M., Sapozhnikov, Vl., Sapozhnikov, V. & Dmitriev, A. (2000) A New Method for Concurrent Checking by Use of a 1-out-of-4 Code. Proceedings of the 6th IEEE International On-line Testing Workshop. July 3-5, 2001. Palma de Mallorca. pp. 147-152.

33. Sapozhnikov, V.V., Sapozhnikov, Vl.V., Dmitriev, A.V., Morozov, A.V. & Göessel, M. (2002) Organization of Functional Checking of Combinational Circuits by the Logic Complement Method. Electronic Modeling. 24(6). pp. 51-66.

34. Sapozhnikov, V.V., Sapozhnikov, Vl.V., Morozov, A., Osadtchi, G. & Göessel, M. (2004) Design of Totally Self-Checking Combinational Circuits by Use of Complementary Circuits. Proceedings of East-West Design & Test Workshop. Yalta, Ukraine. pp. 83-87.

35. Göessel, M., Morozov, A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2005) Checking Combinational Circuits by the Method of Logic Complement. Automation and Remote Control. 66(8). pp. 1336-1346. DOI: 10.1007/s10513-005-0174-2

36. Göessel, M., Ocheretny, V., Sogomonyan, E. & Marienfeld, D. (2008) New Methods of Concurrent Checking: Edition 1. Dordrecht: Springer Science+Business Media B. V.

37. Das, D.K., Roy, S.S., Dmitiriev, A., Morozov, A. & Gössel, M. (2012) Constraint Don't Cares for Optimizing Designs for Concurrent Checking by 1-out-of-3 Codes. Proceedings of the 10th International Workshops on Boolean Problems. Freiberg, Germany. September. pp. 33-40.

38. Efanov, D., Sapozhnikov, V. & Sapozhnikov, Vl. (2016) Methods of Organization of Totally Self-Checking Concurrent Error Detection System on the Basis of Constant-Weight "1-out-of-3"-Code. Proceedings of 14th IEEE East-West Design & Test Symposium (EWDTS2016). Yerevan, Armenia. October 14-17, 2016. pp. 117-125.

39. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2016) Method of Operation Control Over Combinatory Logic Device Based on 2-out-of-4 Code. Journal of Instrument Engineering. 59(7). pp. 524-533. DOI 10.17586/0021-3454-2016-59-7-524-533

40. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2017) Design of Self-Checking Concurrent Error Detection Systems Based on "2-out-of-4" Constant-Weight Code. Control Sciences. 1. pp. 57-64.

41. Sapozhnikov, V.V., Sapozhnikov, Vl.V. Efanov, D.V. & Pivovarov, D.V. (2017) Boolean Complement Method Based on Constant-Weight Code "1-Out-Of-4" for Formation of Totally Self-Checking Concurrent Error Detection Systems. Electronic Modeling. 39(2). pp. 15-34.

42. Huches, J.L.A., McCluskey, E.J. & Lu, D.J. (1984) Design of Totally Self-Checking Comparators with an Arbitrary Number of Inputs. IEEE Transactions on Computers. C-33(6). pp. 546-550.

43. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2017) Organization of Concurrent Error Detection System Ensuring Totally Self-Checking of Structure Based on Two-Rail Checkers. Journal of Instrument Engineering. 60(5). pp. 404-411. DOI: 10.17586/0021-3454-2017-60-5-404-411.

44. Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1992) Self-Checking Digital Devices. St. Petersburg: Energoatomizdat.

45. Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1992) Self-Checking Checkers for Constant-Weight Codes. Automation and Remote Control. 53(3). pp. 321-348.