Обнаружение неисправностей в комбинационных схемах на основе самодвойственного дополнения до равновесных кодов
1 2 Д.В. Ефанов <[email protected]> 3 В.В. Сапожников <[email protected]>
3 Вл.В. Сапожников <[email protected]> 3Д. В. Пивоваров <[email protected]> 1 ООО «ЛокоТех-Сигнал», 107113, Россия, г. Москва, 3-я Рыбинская ул., д. 18, стр. 22, 2 Российский университет транспорта (МИИТ), 127994, РФ, Москва, ул. Образцова, д. 9 3 Петербургский государственный университет путей сообщения Императора Александра I, 190031, Россия, г. Санкт-Петербург, Московский пр., д. 9
Аннотация. Рассматривается новый метод контроля комбинационных логических схем на основе дополнения рабочих функций объекта диагностирования до кодовых слов равновесных кодов с параллельным преобразованием функций их разрядов к виду самодвойственных функций и последующим контролем по данному признаку. Такой подход к организации систем функционального контроля позволяет повысить обнаруживающую способность по сравнению с традиционным контролем по равновесным кодам. При этом не обнаруживаемой может быть только такая ошибка, которая приведет к сохранению веса кодового слова, формируемого на выходах блока логического дополнения, при совпадении искажений всех функций разрядов на противоположных входных наборах. Данное условие более жесткое, чем контроль принадлежности вектора заранее выбранному коду, что дает большую вероятность обнаружения возникающего при неисправностях искажения. Представленный метод позволяет осуществлять контроль комбинационных схем на основе равновесных кодов с одинаковым числом единичных и нулевых разрядов. Приоритет в таком случае оказывается у широко используемого кода «2 из 4», структура тестера которого является наиболее простой из всех тестеров равновесных кодов. Приведено подробное описание новой структуры системы контроля, даны алгоритмы доопределения значений контрольных функций, обеспечивающие контролепригодность технических средств диагностирования.
Ключевые слова: комбинационная схема; обнаружение неисправностей; самодвойственное дополнение; равновесные коды; код «2 из 4».
Б01: 10Л5514ЛSPRAS-2019-31(1>8
Для цитирования: Ефанов Д.В., Сапожников В.В., Сапожников Вл.В., Пивоваров Д.В. Обнаружение неисправностей в комбинационных схемах на основе самодвойственного дополнения до равновесных кодов. Труды ИСП РАН, том 31, вып. 1, 2019 г., стр. 115-132. DOI: 10Л5514ЛSPRAS-2019-31(1>8
1. Введение
При работе современных микроэлектронных систем автоматики не исключены сбои, которые не должны приводить к нарушениям ответственных технологических процессов. По этой причине на этапе разработки и проектирования обосновываются мероприятия по повышению надежности и контролепригодности отдельных компонентов, блоков и узлов. В данные мероприятия входят периодическое тестирование, резервирование, функциональное диагностирование, контроль выполнения функций и т.д.
Важное значение в задаче парирования проявлений неисправностей имеют методы функционального диагностирования - такого вида технического диагностирования, при котором процедура определения технического состояния объекта диагностирования не требует отключения его от работы с целью подачи проверяющих воздействий - рабочие воздействия одновременно являются и тестовыми при таком подходе [1]. Своевременное определение неверно функционирующего объекта в составе устройства или целой системы позволяет блокировать результаты его вычислений и не использовать их при принятии управляющих решений. Сам же неисправный объект подвергается перезагрузке, а при повторном выявлении дефекта - отключается от работы и исследуется более тщательно при тестовом диагностировании.
При функциональном диагностировании часто осуществляется косвенный контроль возникающих неисправностей по результатам вычислений значений рабочих функций [2 - 6]. Это позволяет контролировать устройство в целом, а не отдельные его компоненты, и соответственно, уменьшить глубину диагностирования до отдельного блока с последующей заменой его при выявленном отказе. При организации систем функционального контроля объект диагностирования снабжается техническими средствами диагностирования, позволяющими осуществить проверку правильности вычисления значений его рабочих функций. Часто эти средства синтезируются на основании выбора в качестве базового какого -либо помехозащитного блочного равномерного кода [7, 8]. Соответствие формируемых кодовых векторов, включающих в себя разряды рабочих функций объекта диагностирования и разряды специальных контрольных функций, проверяется тестером [9]. Существует и другой подход при синтезе технических средств диагностирования, связанный с проверкой соответствия значений формируемых рабочих функций некоторому заранее выбранному классу функций алгебры логики [10]. Например, контроль монотонности или самодвойственности функций.
Данная статья посвящена изложению метода синтеза технических средств диагностирования для логических комбинационных схем на основе модифицированной структурной схемы логического дополнения до равновесных кодов с параллельным контролем принадлежности функций к классу самодвойственных функций.
2. Самодвойственные комбинационные схемы
Одной из первых работ, обращающих внимание на возможность использования при организации технического диагностирования логических устройств свойств специальных классов функций алгебры логики, является работа [11]. В ней показаны диагностические способности самодвойственных функций.
Определение 1. Функция алгебры логики является самодвойственной, если выполняется следующее условие:
x2,...,xt ) = ^х^^Ц^)- (1)
Другими словами, самодвойственная функция является функцией, которая двойственна сама к себе. У такой функции значения являются противоположными на противоположных друг другу значениях аргументов (на противоположных входных векторах) [12]. В табл. 1 приводится пример самодвойственной функции.
Табл. 1. Самодвойственная функция Tab. 1. Self-dual function
xi x2 x3 f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Существуют дискретные устройства, выходы которых описываются самодвойственными функциями [13]. Например, таковым является полный сумматор (рис. 1), функции выходов которого описываются системой [14]:
\S — x Ф x Ф x; I CC — x^x^ x^x^ .
(2)
Неисправности внутренней структуры сумматора приводят к искажению вычисляемых им функций и к нарушению их самодвойственности (рис. 1). Например, при возникновении неисправности, приведенной на рис. 1, изменяются функции, реализуемые на выходах сумматора: 5= (х1 © х2) V х3 и С= х1х2. Нетрудно проверить, что данные функции самодвойственными не являются. Следовательно, можно контролировать техническое состояние сумматора путем контроля самодвойственности его функций.
Х1
Х-2
x3
C
Рис. 1. Схема полного сумматора Fig. 1. Full-adder circuit
Определение 2. Логическую комбинационную схему будем называть самодвойственной, если все ее выходные функции являются самодвойственными.
К самодвойственным относится небольшой класс комбинационных схем. Однако существуют способы преобразования их в схемы со структурами, обладающими свойством самодвойственности выходных функций [15, 16]. При этом никак не нарушаются основные функциональные характеристики самой схемы - она наделяется контролепригодной архитектурой, в которой внутренние логические элементы определенным образом связываются путями между собой, входами и выходами схемы.
Универсальным является следующий способ преобразования комбинационных схем в самодвойственные.
В основе метода лежит разложение Шеннона, применимое для любой функции алгебры логики [17]:
/(х,..., хX ) = x,f (*1,-A...,x )v Xif(xi,...,\,..., x). (3) Для преобразования схемы в самодвойственную для каждой реализуемой ею функции вводится дополнительный сигнал, называемый альтернативным сигналом а. Этот сигнал представляет собой последовательность импульсов, формируемую внешним генератором сигналов [16].
Тогда, учитывая (3), можно преобразовать любую функцию в самодвойственную с учетом следующего выражения:
f * = f * (xl3x2,...,x)= af (0,xl3x2,...,x)v af (l,xl3x2,...,x) =
= afi (xi, x2x) v af2 (xi, x2x ),
где fi (x±,x2, ..., xt) и f2(x±,x2, ..., xt) - двойственные функции.
(4)
f1 (xi' Х2'- •> x)
f2 (х1' Х2'- •> x)
a
Рис. 2. Универсальная структура реализации самодвойственной схемы Fig. 2. Universal structure of self-dual circuit realization Приведем пример преобразования простейшей схемы в самодвойственную с использованием выражения (4). Имеется комбинационная схема, реализующая функцию логического сложения f1= x1 v х2. Для преобразования исходной комбинационной схемы в самодвойственную по формуле (4) требуется найти функцию, двойственную к функции f: f2 = x1~v~xj = х1х2. Так как функции f и f являются двойственными, то при импульсном поступлении переменных x1, x2 и a будут последовательно отрабатывать сначала один элемент логического умножения, а затем второй (верхний и нижний элементы логического умножения на рис. 2). Соответственно, функция f* будет принимать в одном такте сначала значение функции fb а затем, на противоположном входном наборе, значение функции f2. Описание преобразованной схемы для наглядности дано в таблице 2.
Особенности метода самодвойственного дополнения и его использования при организации контроля как комбинационных, так и многотактных (последовательностных) схем изложены в монографиях [12, 13].
Исследования показывают, что перспективным оказывается сочетание особенностей методов контроля логических схем как по признаку самодвойственности функций, так и по принадлежности их в совокупности к заранее выбранному избыточному коду. Эффективным в этом плане является использование равновесных кодов с малой длиной кодовых слов. Одним из таких кодов, имеющим существенные преимущества перед всеми другими равновесными кодами, является 2/4-код [18]. Отметим основные особенности данного равновесного кода, позволяющие применять его при организации систем функционального контроля:
1. Тестер 2/4-кода (2/4-TSC) имеет простую структуру и требует для полной проверки всего четырех комбинаций: {0011; 1100; 1001; 0110}.
2. Для преобразования любого четырехбитного вектора, формируемого на выходах блока F(x), в кодовое слово 2/4-кода потребуется изменение максимум двух функций, а значит, блок логического дополнения будет иметь наименьшую сложность, а блок контрольной логики -всего два выхода.
3. Эксперименты [19] показывают, что использование 2/4-кода для контроля многовыходных логических схем дает меньшую по сложности схему контроля, чем для любых других равновесных кодов.
Табл. 2. Описание самодвойственной схемы из рассматриваемого примера Tab. 2. Description of the self-dual circuit of the example
a xi x2 f*
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Опишем структурные схемы систем функционального контроля комбинационных схем, основанных на контроле самодвойственности логических функций.
3. Контроль самодвойственных функций
Как отмечалось выше, учитывая возможности построения самодвойственных комбинационных схем, можно осуществлять и контроль возникающих в них неисправностей. С этой целью следует проверять соответствие реализуемых схемой функций классу самодвойственных функций алгебры логики. На рис. 3 изображена структурная схема системы функционального контроля, основанная именно на таком свойстве.
и
Рис. 3. Система функционального контроля для самодвойственной схемы Fig. 3. Concurrent checking system for self-dual circuit
Для контроля принадлежности формируемых схемой функций классу самодвойственных функций алгебры логики используется специализированная схема контроля, включающая в себя тестеры самодвойственных сигналов SSC (self-checking self-dual checker) [12, 20] и модули сжатия парафазных сигналов TRC (two-rail checker) [21].
Структурная схема SSC приведена на рис. 4. В ней самодвойственный сигнал f* при помощи линии задержки, равной одному такту импульсной последовательности a, преобразуется в двухфазный сигнал <v1 v2>. SSC оборудован двумя выходами и при самодвойственности входного сигнала формирует парафазный сигнал <01> либо <10> на выходах. При нарушении самодвойственности поступающего сигнала на выходе формируется непарафазный сигнал.
f*
a
1 Т 1 V2 h
у-
z
1
z
Рис. 4. Структурная схема SSC Fig. 4. SSC structural circuit
Модуль сжатия парафазных сигналов позволяет преобразовывать два парафазных сигнала в один и используется для уменьшения числа наблюдаемых контрольных выходов. С этой
x
целью парафазные выходы всех SSC объединяются на входах самопроверяемых схем сжатия парафазных сигналов TRC, выходы которых каскадно соединяются таким образом, чтобы получить на выходе схемы контроля один парафазный сигнал. Модули TRC являются стандартными, один из вариантов реализации приведен на рис. 5 [21].
Для контроля несамодвойственных схем автоматики и вычислительной техники используется система функционального контроля на основе логического дополнения, приведенная на рис. 6 [22].
X
*1
X
X-
f0
-vf
Tf
F(x)
2
1 2
Рис. 5. Структурная схема TRC Fig. 5. TRC structural circuit
fi
f1
f
fm-
fm
■A
G(x)
gi
g2
gm-i
fi
f2 •
fm-fm
3 S
3 s
v J4 Я
> О и
'Ю и
=3
hi
E= Я О и & я
Я .е
Й
Блок контрольной Блок логического Схема
логики дополнения контроля
Рис. 6. Система функционального контроля для несамодвойственной схемы Fig. 6. Concurrent checking system for non-self-dual circuit
В системе функционального контроля, приведенной на рис. 6, с целью контроля правильности вычислений каждая рабочая функция, вычисляемая объектом диагностирования, преобразуется в самодвойственную. Это преобразование осуществляется с использованием специального блока логического дополнения, образованного параллельно расположенными сумматорами по модулю два (элементами XOR). Преобразование каждой функции осуществляется по формуле:
h, = f © gt, i = 1, m.
(5)
0
x
2
0
z
z
g
m
m
4. Метод самодвойственного дополнения до равновесных кодов
Развивая метод логического дополнения, применим для контроля правильности вычислений блоком F(x) своих функций не только контроль по признаку самодвойственности, но и контроль по равновесному коду, часто используемому при организации систем
функционального контроля. Это позволит повысить обнаруживающую способность при функциональном контроле.
В системе функционального контроля, синтезированной по методу логического дополнения по равновесному коду, не будут обнаружены любые неисправности, вызывающие симметричную ошибку в векторе ^ ... hm>. Повысить эффективность обнаружения ошибок можно за счет контроля еще какого-либо свойства функции, например, принадлежности ее к классу самодвойственных функций. Такой контроль двух видов (как принадлежности каждой функции к классу самодвойственных, так и контроль принадлежности вектора ^ ... hm> к равновесному коду) возможен только при использовании кодов вида «г из 2г» (г/2г-кодов), где г - вес кодового вектора. К таким кодам относятся коды 1/2, 2/4, 3/6 и т.д.
Целесообразно рассмотреть использование 2/4-кода в системе функционального контроля, так как его тестер имеет наиболее простую структуру, а также требует для полной проверки подачи на входы только четырех кодовых комбинаций. На рис. 7 изображена модифицированная структурная схема системы функционального контроля как по равновесным кодам, так и по принадлежности каждой функции к классу самодвойственных функций. Объектом диагностирования является блок F(x), реализующий четыре рабочие функции. Блок F(x) снабжается специализированным аппаратным обеспечением, позволяющим в процессе его эксплуатации косвенно контролировать процесс возникновения неисправностей за счет фиксации неверных результатов вычислений.
Блок логического дополнения
Схема контроля
Рис. 7. Структурная схема системы функционального контроля по методу логического дополнения до
2/4-кода
Fig. 7. Concurrent checking system structural circuit, synthesis on self-dual complement to «2-out-of-4 code»
method
Структурная схема, приведенная на рис. 7, является базовым вариантом организации системы функционального контроля. Для многовыходных логических схем следует выделять группы выходов для отдельного контроля с последующим объединением контрольных выходов на входах самопроверяемого компаратора.
Информационный вектор <f1 f2 f3 f4>, образованный рабочими функциями объекта диагностирования, преобразуется в кодовое слово <h1 h2 h3 h4>, принадлежащее 2/4-коду. Причем, преобразование осуществляется таким образом, чтобы каждая функция в кодовом слове являлась самодвойственной. Эта особенность кодового слова <h1 h2 h3 h4> достигается путем использования блока контрольной логики G(x) и блока логического дополнения, образованного каскадом двухвходовых сумматоров по модулю два (элементов XOR). На этапе проектирования системы функционального контроля функции, реализуемые блоком G(x), подбираются таким образом, чтобы были обеспечены требуемые свойства для реализации контроля вычислений и подача всех тестовых комбинаций на все элементы XOR.
x
Контроль принадлежности кодового слова <h1 h2 h3 h4> 2/4-коду осуществляется с использованием тестера 2/4-TSC (totally self-checking checker), наиболее простая структура которого изображена на рис. 8 [23]. 2/4-TSC снабжен двумя выходами, на которых формируется парафазный сигнал <01> или <10>, в случае, если поступающее на его входы кодовое слово принадлежит 2/4-коду. В противном случае на выходах тестера формируется непарафазный сигнал, свидетельствующий об ошибке в вычислениях и косвенно указывающий на наличие неисправностей в одном из блоков системы функционального контроля. Контроль самодвойственности каждой функции кодового слова <hj h2 h3 h4> осуществляется с использованием тестера самодвойственной функции SSC.
Эффект обнаружения ошибок в представленной на рис. 7 структуре достигается за счет того, что при наличии искажения в кодовом слове <hj h2 h3 h4>, не зафиксированного схемой 2/4-TSC, возникает искажение функций hb h2, h3 и(или) h4, что может быть выражено и в нарушении их самодвойственности.
Утверждение. В системе функционального контроля на основе логического дополнения до равновесного ^2^кода с самодвойственными функциями разрядов обнаруживается любая ошибка в кодовом слове <hj h2 ... hm>, кроме ошибки, которая не нарушает его вес и при этом проявляется в виде одновременных искажений одинаковых разрядов на противоположных входных наборах.
Справедливость формулировки утверждения вытекает из следующих соображений. В системе функционального контроля осуществляется контроль логической схемы на основе двух признаков. Первый признак - принадлежность кодового вектора <hj h2 ... hm> к равновесному коду. В том случае, если при наличии неисправности в блоках F(x), G(x) или логического дополнения будет сформировано кодовое слово заранее выбранного равновесного r/Zr-кода, неисправность по первому признаку зафиксирована не будет. Второй признак - это самодвойственность каждой контрольной функции. Неисправность по данному признаку не будет обнаружена в том случае, если вызовет искажения на противоположных входных наборах. При этом, если неисправность не обнаружена по первому признаку, она может быть обнаружена по второму признаку, и наоборот. Не обнаруженной окажется только такая неисправность, которая одновременно не нарушит веса кодового слова <hj h2 ... hm> и самодвойственности каждой функции.
Рассмотрим пример, который позволит проиллюстрировать указанные особенности модифицированной схемы системы функционального контроля, изображенной на рис. 7. В табл. 3 задана комбинационная логическая схема, имеющая четыре входа и четыре выхода. Получим значения контрольных функций gb g2, g3, g4, позволяющие организовать контроль заданной комбинационной логической схемы на основе логического дополнения до равновесного кода с контролем самодвойственности каждой функции контрольного разряда кодового слова <hj h2 h3 h4>. Расширим таблицу и доопределим вручную значения
контрольных функций. При этом учтем необходимость выполнения следующих требований:
1. Каждое кодовое слово <h1 h2 h3 h4> должно иметь вес r=2.
2. Должны быть сформированы как минимум по одному разу тестовые комбинации для 2/4-
Ä1
h2 hs
h4
Рис. 8. Структурная схема 2/4-TSC Fig. 8. 2/4-TSC structural circuit
TSC: {0011; 1100; 0110; 1001} [23].
3. Должны быть сформированы как минимум по одному разу тестовые комбинации для каждого элемента XOR: {00; 01; 10; 11} [24].
4. Значения каждой функции Ы, Ь2, h3 и h4 должны быть противоположными на противоположных входных наборах.
С учетом представленных требований получаются значения контрольных функций, формируемые блоком G(x).
Табл. 3. Таблица истинности комбинационной логической схемы Tab. 3. Truth table of combinational logic circuit
№ xi x2 x3 x4 f1 f2 f3 f4
0 0 0 0 0 0 1 0 1
1 0 0 0 1 1 1 1 1
2 0 0 1 0 1 1 1 1
3 0 0 1 1 1 0 0 0
4 0 1 0 0 1 0 1 1
5 0 1 0 1 0 0 0 0
6 0 1 1 0 1 1 0 1
7 0 1 1 1 0 1 0 1
8 1 0 0 0 1 0 1 1
9 1 0 0 1 0 0 1 0
10 1 0 1 0 0 1 1 1
11 1 0 1 1 0 1 0 1
12 1 1 0 0 1 0 0 1
13 1 1 0 1 0 0 1 0
14 1 1 1 0 0 1 1 1
15 1 1 1 1 1 0 0 0
Существует большое число способов доопределения значений контрольных функций, позволяющих обеспечить выполнение требований контролепригодности структуры системы функционального контроля. Как показывают исследования, наиболее простой является следующая последовательность доопределения значений контрольных функций. Алгоритм 1. Доопределение значений контрольных функций с учетом выполнения требований контролепригодности схемы контроля с постпроверкой тестируемости блока логического дополнения:
5. Проверяется наличие как минимум двух нулевых и двух единичных значений каждой функции /ь /2, /3 и / на всех входных наборах.
6. В столбцы первой (или второй) половины таблицы относительно середины, соответствующие кодовым словам <h-i ^ ^ h4>, произвольным образом, но равномерно, заносятся комбинации <0011> и <0110> или <0011> и <1001>, или <1100> и <0110>, или <1100> и <1001>.
7. Путем заполнения противоположными значениями на противоположных наборах относительно середины таблицы заполняются столбцы второй половины таблицы, соответствующие кодовым словам ^ ^ h4>.
8. Вычисляются значения контрольных функций д^ = © i = 1,4.
9. Определяются формируемые комбинации на элементах сложения по модулю два в блоке логического дополнения.
10. Исходя из п. 2 и п. 3, требования о формировании тестового множества для 2/4-TSC и
наделения функций h1, ^ и h4 свойством самодвойственности будут выполнены. Требуется проверить формирование полного множества тестовых комбинаций для элементов сложения по модулю два блока логического дополнения. Если для какого-либо элемента сложения по модулю два блока логического дополнения не удается сформировать требуемую тестовую комбинацию, требуется изменить заполнение строк на этапе выполнения п. 2. Для этого осуществляется поиск двух входных противоположных наборов, которые позволят доопределить значения функций логического дополнения до требуемых комбинаций для полной проверки элементов ХОК. Затем вновь потребуется проделать шаги 3 - 6 алгоритма.
Алгоритм 1 удобно использовать при большом числе входных переменных, так как вероятность достижения результата по формированию тестовых комбинаций элементов сложения по модулю два блока логического дополнения с увеличением числа входных переменных возрастает.
Пользуясь описанным алгоритмом, получим табл. 4. Данная таблица содержит описание рабочих и контрольных функций системы функционального контроля. Блок контрольной логики О(х) синтезируется по значениям полученных контрольных функций. Кроме того, в таблице 4 представлены все формируемые тестовые комбинации для элементов сложения по модулю два в блоке логического дополнения.
Алгоритм 1 в большинстве случаев дает возможность построения контролепригодной структуры схемы контроля.
Альтернативным вариантом для построения системы функционального контроля является использование другого алгоритма, основанного на первоначальной проверке контролепригодности элементов сложения по модулю два.
Табл. 4. Сигналы на линиях схемы системы функционального контроля Tab. 4. Signals on the lines of the functional control system circuit
№ Значения рабочих функций Значения контрольных функций Кодовые слова на выходе блока логического дополнения Формируемые тестовые комбинации элементов сложения по модулю два
f1 k f3 ft g1 g2 g3 g4 h, h2 h3 hA XOR1 xor2 XOR3 xor4
0 0 1 0 1 0 0 1 1 0 1 1 0 00 10 01 11
1 1 1 1 1 1 0 0 1 0 1 1 0 11 10 10 11
2 1 1 1 1 1 0 0 1 0 1 1 0 11 10 10 11
3 1 0 0 1 1 1 0 0 1 1 0 11 01 01 00
4 1 0 1 1 1 0 0 0 0 0 1 1 11 00 10 10
5 0 0 0 0 0 1 1 0 0 1 1 00 00 01 01
6 1 1 0 1 1 1 1 0 0 0 1 1 11 11 01 10
7 0 1 0 1 0 1 1 0 0 0 1 1 00 11 01 10
8 1 0 1 1 0 1 1 1 1 1 0 0 10 01 11 11
9 0 0 1 1 1 1 0 1 1 0 0 11 01 11 00
10 0 1 1 1 1 0 1 1 1 1 0 0 01 10 11 11
11 0 1 0 1 1 0 0 1 1 1 0 0 11 10 00 1
12 1 0 0 1 0 0 0 0 1 0 0 1 00 00 00 10
13 0 0 1 0 1 0 1 1 1 0 0 1 11 00 11 01
14 0 1 1 1 1 1 1 0 1 0 0 1 01 11 11 10
15 1 0 0 0 0 0 0 1 1 0 0 1 10 00 00 01
Алгоритм 2. Последовательное доопределение значений контрольных функций с учетом выполнения требований контролепригодности:
1. Проверяется наличие как минимум двух нулевых и двух единичных значений каждой функции 11, 12, 13 и f4 на всех входных наборах.
2. Осуществляется доопределение значений функций Ы, Ь2, h3 и h4 с учетом необходимости формирования тестовых комбинаций для элементов сложения по модулю два в блоке логического дополнения:
- хотя бы для одного случая /=0 значение функции hi доопределяется до 0 и хотя бы для одного случая/=0 - до 1;
- хотя бы для одного случая /=1 значение функции hi доопределяется до 0 и хотя бы для одного случая /=1 - до 1.
3. Если доопределение значений функций Ы на одних и тех же входных наборах привело к формированию не кодового слова 2/4-кода, осуществляется иное доопределение; если ни один вариант доопределения не удовлетворяет поставленному условию, то самопроверяемая схема на основе представленного подхода построена быть не может.
4. Заполняются значения функций Ы, Ь2, Ю и h4 в строках, расположенных симметрично относительно середины таблицы: уже заполненные значения инвертируются и помещаются в соответствующие строки, расположенные симметрично.
5. Заполняются столбцы кодовых слов <Ы Ь2 Ю h4> для тех строк, в которых уже занесены значения.
6. Проверяется наличие всех четырех тестовых комбинаций 2/4-TSC.
7. С учетом требований по формированию кодовых слов 2/4-кода, необходимых для проверки 2/4-TSC и самодвойственности функций Ы, Ь2, h3 и h4 заполняются оставшиеся столбцы.
Представленный алгоритм дает возможность синтеза самопроверяемой структуры комбинационной схемы.
Полученные по алгоритмам 1 и 2 структурные схемы будут наделены искомыми свойствами принадлежности кодового вектора <И1 И2 И3 И4> 2/4-коду, а также самодвойственности каждой функции, что вытекает из последовательности шагов алгоритма. На каждом шаге обеспечивается выполнение нескольких свойств для каждой функции И,. Возможности изменения значений каждой рабочей функции объекта диагностирования позволяют выполнить необходимые преобразования для большинства логических комбинационных схем за исключением таких схем, для которых на всех входных наборах не формируется как минимум по два нулевых и два единичных значения каждой функции Л, /2, /3 и /4 (это не даст сформировать все четыре тестовые комбинации для элементов ХОК в блоке логического дополнения).
5. Моделирование работы структуры логического дополнения
Для исследования возможностей в обнаружении ошибок в предложенной в данной работе структурной схеме системы функционального контроля были проведены эксперименты с моделированием одиночных константных неисправностей в заданной в табл. 3 комбинационной схеме, реализованной в базисе типовых логических элементов в среде моделирования ЫиШйт.
Процесс реализации структуры оказался не тривиальным, так как в стандартных средствах ЫиШйт трудно реализуемы элементы задержки сигналов, применяющиеся в тестере самодвойственности функций. Было решено сымитировать его работу за счет использования двух Ж-триггеров, работающих как Б-триггеры (Ш5А и и9А). Аналог тестера самодвойственности, реализованный в среде ЫиШвт, представлен на рис. 9. К входам синхронизации триггеров подключен генератор тактовых импульсов частотой 10 Гц с небольшим сдвигом по фазе. К одному из триггеров генератор подключен через инвертор
(U16D). Таким образом, триггеры срабатывают в разные моменты времени. Отметим, что к тестеру подключен еще один генератор тактовых импульсов с частотой 10 Гц (Ш3).
.............. ......... ..........USA................................ хг
г'" [>— • :.! Е >- ............9!
'-р>=—I ■ 74LS04Dp- [К. . IM ..........
74LS04D 1-—-1 -= ...... ::W70:::„.....
.............. 41 МОП ............ ........................
иэд. : .......... .........................74LS32D........... U8B.....74LS04Ü ' ' ' ' ' 4...........
Ш1П rsc : Е>--- 74LS0SD
В : ::74LS04 D: ; ..... ив ,., '
ПЛН ; ; ; 1п, 10Hz
10Нг..........
Рис. 9. Моделирование работы тестера самодвойственности Fig. 9. Self-dual checker simulation
Как видно из схемы на рис. 9, если на выходе генератора U13 будет сигнал <1>, то на индикаторы X1 и X2 транслируется сигнал с выходов триггеров. Если же на выходе генератора U13 будет сигнал <0>, то на индикаторах установится сигнал <10>. Таким образом, тестер вырабатывает парафазный сигнал тогда, когда на выходе генератора появляется сигнал <0> или когда на выходе генератора присутствует сигнал <1>, а триггеры находятся в противоположных состояниях. Для дальнейшего описания приведем простую схему, контролируемую данным тестером (рис. 10).
. -MTif
Рис. 10. Пример применения тестера самодвойственности Fig. 10. Example of self-dual checker used
Тестер самодвойственности сравнивает текущий сигнал, приходящий на его вход с предыдущим сигналом. Поэтому на входах контролируемой схемы установлены элементы «сложение по модулю два» (U1C, U1A, U1B). Один вход этих элементов подключен к соответствующему источнику входного сигнала, а другой к генератору тактовых импульсов (U10) с частотой импульсов в два раза меньшей, чем у генератора тестера. Как упоминалось выше, генераторы тестера имеют небольшой сдвиг по фазе. Без этого сдвига возникает момент, когда все генераторы переключаются одновременно, в результате чего возникает состязание. Это состязание может приводить к ложному сигналу ошибки на выходе тестера. Таким образом, в момент времени, когда на выходе генератора U10 сформирован сигнал логического нуля, на входы схемы подаются заданные входные наборы, а когда на выходе генератора установлен сигнал логической единицы, на входы схемы подаются значения, противоположные заданным. В результате этого, если схема является самодвойственной, то на ее выходе генерируется самодвойственный сигнал. На рис. 11 приводится временная диаграмма работы схемы, приведенной на рис. 10.
А
Рис. 11. Временная диаграмма работы схемы Fig 11. Timing diagram of the circuit На рис. 11 буквами A - H подписаны диаграммы, соответствующие проводам на рис. 10. В начальный момент времени на выходе генератора А появляется сигнал логической единицы. То есть на входы схемы подается входной набор противоположный установленному. На выходе контролируемой схемы появляется сигнал логической единицы. При этом, на выходах тестера появляется парафазный сигнал, так как на выходах генераторов B и С присутствуют сигналы <0>. Далее генераторы B и C меняют свои выходные состояния с нуля на единицу. В этот момент выходной сигнал контролируемой схемы записывается в триггер F. На выходах тестера формируется парафазный сигнал, так как на выходах триггеров присутствуют разные сигналы. Далее генераторы B и C меняют свои выходные состояния с <1> на <0>. В этот момент выходное состояние схемы записывается в триггер F. Оба триггера находятся в одинаковых состояниях, но на выходе тестера все равно будет парафазный сигнал, так как генератор C вырабатывает сигнал <0>. Далее генератор А меняет свое состояние с единицы на ноль, то есть на входы схемы поступают установленные сигналы. В этот момент на выходе схемы (поскольку она является самодвойственной) появляется сигнал, противоположный предыдущему. Спустя небольшой промежуток времени этот сигнал записывается в триггер E, и оба триггера будут находиться в противоположных состояниях, что приводит к возникновению парафазного сигнала на выходе тестера. Далее, при смене состояния генератора B, информация с выхода контролируемой схемы записывается в триггер F. В результате этого триггеры переходят в одинаковые состояния, но так как на выходе генератора C фиксируется сигнал <0>, тестер вырабатывает парафазный сигнал. Далее генератор А переключается в состояние <1>, и цикл повторяется.
Таким образом, если контролируемая схема самодвойственная, то она будет менять выходное состояние на противоположное тогда, когда на выходе генератора А поменяется сигнал на противоположный. В свою очередь, если на выходе схемы будут попеременно появляться противоположные сигналы, то триггеры будут находиться в противоположных состояниях тогда, когда на выходе генератора C будет сигнал <1>. В этом случае противоположные сигналы с триггеров будут транслироваться на выходы тестера, и таким образом будет получен парафазный сигнал. Также парафазный сигнал будет появляться в тот момент, когда на выходе генератора C появляется сигнал нуля.
Если схема не самодвойственная, то на выходе будет один и тот же сигнал до тех пор, пока установленные входные сигналы не поменяются. В этом случае триггеры установятся в одинаковые состояния, и тестер будет вырабатывать непарафазный сигнал тогда, когда на выходе генератора C будет сигнал единицы.
Здесь стоит обратить внимание на то, что если генератор U13 сделать аналогичным генератору U18, то в момент его переключения в состояние единицы на выходы схемы будут транслироваться сигналы с триггеров, а в триггер U15A будет записано показание с входа
тестера. Однако триггер меняет свое состояние с некоторой задержкой, вследствие этого возникает короткий момент времени, когда на выходах тестера возникает ложный сигнал ошибки. Поэтому у генератора Ш3 сдвиг больше, чем у Ш8. При этом в состояние нуля также быстрее переходит генератор Ш8. В результате этого возникает момент времени, когда в триггер U9A записывается сигнал с выхода тестера и оба триггера устанавливаются в одинаковые состояния. В это же время на выходе генератора Ш3 сигнал единицы, и сигналы с выходов триггеров транслируются на выходы тестера. Таким образом, возникает ложный сигнал ошибки. Для того, чтобы этого избежать необходимо, чтобы Генератор Ш3 переходил в состояние нуля раньше или одновременно с генератором Ш8. Чтобы этого добиться был уменьшен коэффициент заполнения генератора Ш3.
Представленную на рис. 9 схему тестера самодвойственности не рекомендуется применять в реальных схемах, так как она содержит элементы памяти. Однако для процесса моделирования это не имеет значения, так как целью является только получение данных по характеристикам обнаружения ошибок.
Тестирование моделируемой схемы происходило аналогично для каждой функции h. К каждому тестеру подключался генератор с частотой 10 Гц и небольшим сдвигом по фазе. Далее выходы тестеров объединялись при помощи схем TRC. Получившаяся схема тестера объединялась с тестером равновесного кода «2 из 4» также при помощи модулей TRC. На каждом входе всей схемы были установлены элементы «сложение по модулю 2», один вход которых подсоединялся к генератору входных сигналов, а другой - к генератору тактовых импульсов с частотой 5 Гц. Таким образом, если хотя бы одна функция h оказывалась несамодвойственной, то на выходе всего тестера вырабатывался непарафазный сигнал с частотой 10 Гц.
Для симуляции схема, заданная табл. 3, была реализована в среде Multisim. В результате минимизации функций, заданных таблицей истинности, получились следующие формулы:
/^ — Х^ X 2 X^ X| X^ X^ х 2 X^ X^ X| X^ X^ X| X X X.; /^ — X 'X ^ X X ^^ X X ^^ X X; /^ — X X 'X^ ^^ X X ^^ X 'X^ ^^ X X 'X^ ^^ X^ ^^2 X^; /^ — X ^ X X ^^ X X ^^ X X ^^ 'X ¡^.
Представленные формулы описывают реализуемые схемой функции в виде двухуровневой дизъюнктивной нормальной формы записи. Для имитации кратных ошибок на выходах схемы формулы были преобразованы к виду:
/ — v XXX v XXX v v / — р V X XX V хк V ух; / — ЬX V xlЪ V хр V XР V ах V X; / — 2 V хк V XXX V ух V XX;
у — X х;
2 — х X; ^ — X X; а — х Х;
b — xx•
По конечным формулам была построена комбинационная схема, а также реализована система функционального контроля по разработанному в данной статье методу в Multisim. На выходы элементов, использующихся в нескольких функциях (y, z, k, a), поочередно вводились константные неисправности. Это производилось отсоединением соответствующего элемента от всей схемы и подсоединением на его место источника логических сигналов. Далее имитировалась поочередная подача всех возможных входных наборов. Значения на выходах контролируемой схемы сравнивались со значениями в таблице 3. Если значения не совпадали, то фиксировалась ошибка в информационном векторе. Если при этом тестер вырабатывал парафазный сигнал, то ошибка классифицировалась как необнаруженная. Всего при 8 неисправностях в схеме возникло 45 ошибок. Из них 16 -многократные ошибки. Остальные ошибки - однократные. Все эти ошибки были обнаружены в системе функционального контроля.
Стоит отметить, что при таком способе контроля тестер показывал сигнал ошибки и тогда, когда ошибка не транслировалась на выходы, но неисправность присутствовала. Это происходило в том случае, когда неисправность не проявляла себя на данном входном наборе, но проявлялась на противоположном. В результате этого нарушалась самодвойственность какой-либо из функций, и на выходе тестера появлялся сигнал ошибки. Другими словами, предлагаемый метод повышает контролепригодность синтезируемой системы функционального контроля.
6. Заключение
Использование при функциональном контроле логических комбинационных схем нескольких признаков функций алгебры логики, формируемых на выходах объекта диагностирования, позволяет повысить обнаруживающую способность метода. Одним из эффективных вариантов может оказаться совместное использование самодвойственного дополнения и контроля по равновесным кодам «r из 2r» (r/Zr-кодов), где r - вес кодового вектора. К таким кодам относится код «2 из 4». Для полной проверки самого простого из тестеров данных кодов требуется всего четыре тестовые комбинации. Эти обстоятельства определяют преимущества применения кодов «2 из 4» перед всеми остальными r/Zr-кодами при совместном самодвойственном преобразовании рабочих функций объекта диагностирования. Обнаруживающая способность при использовании совместного контроля по равновесным кодам с самодвойственным дополнением функций повышается за счет контроля сразу же нескольких признаков, однако вопрос того, насколько сильно повышается эффективность применения такого подхода остается неисследованным. При этом представленный метод синтеза системы функционального контроля логических комбинационных схем приводит к незначительному усложнению технических средств диагностирования за счет применения тестеров самодвойственности и модулей сжатия парафазных сигналов в компараторе. Тем не менее, их структуры не являются слишком сложными. Сам метод дает более эффективные по показателю структурной избыточности системы функционального контроля для сложных комбинационных схем с большим числом выходов.
Так как на входах модулей сжатия парафазных сигналов TRC также формируются векторы кода «2 из 4» из множества {0101; 0110; 1001; 1010}, контроль схем по модифицированной структуре, предложенной в данной статье, может быть осуществлен без использования 2/4-TSC [25]. В этом случае методика построения системы функционального контроля остается той же.
Список литературы
[1]. Kharchenko V., Kondratenko Yu., Kacprzyk J. Green IT Engineering: Concepts, Models, Complex Systems Architectures. Springer Book series «Studies in Systems, Decision and Control», vol. 74, 2017, 305 p.
[2]. Pradhan D.K. Fault-Tolerant Computer System Design. New York, Prentice Hall, 1996, 560 p.
[3]. Nicolaidis M., Zorian Y. On-Line Testing for VLSI - А Compendium of Approaches. Journal of Electronic Testing: Theory and Application, vol. 12, issue 1-2, 1998, pp. 7-20.
[4]. Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons, 2006, 720 p.
[5]. Borecky J., Kohlik M., Kubatova H. Parity Driven Reconfigurable Duplex System. Microprocessors and Microsystems, vol. 52, issue C, 2017, pp. 251-260.
[6]. Гаврилов С.В., Тельпухов Д.В., Жукова Т.Д., Гуров С.И. Использование информационной избыточности при построении сбоеустойчивых комбинационных схем. Таврический вестник информатики и математики, том 2, №39, 2018 г., стр. 29-44.
[7]. Согомонян Е.С., Слабаков Е.В. Самопроверяемые устройства и отказоустойчивые системы. М, Радио и связь, 1989 г., 208 стр.
[8]. Efanov D., Sapozhnikov V., Sapozhnikov Vl. Generalized Algorithm of Building Summation Codes for the Tasks of Technical Diagnostics of Discrete Systems. In Proc. of the 15th IEEE East-West Design & Test Symposium (EWDTS'2017), 2017, pp. 365-371, doi: 10.1109/EWDTS.2017.8110126.
[9]. Сапожников В.В., Сапожников Вл.В. Самопроверяемые дискретные устройства. СПб., Энергоатомиздат, 1992 г., 224 стр.
[10]. Яблонский С.В. Введение в дискретную математикую Учеб. пособие для вузов. Под ред. В.А. Садовничего, 4-е изд., стер. М., Высшая школа, 2003 г., 384 стр.
[11]. Reynolds D.A., Meize G. Fault Detection Capabilities of Alternating Logic. IEEE Transactions on Computers, vol. C-27, issue 12, 1978, pp. 1093-1098.
[12]. Сапожников В.В., Сапожников Вл.В., Гессель М. Самодвойственные дискретные устройства. СПб., Энергоатомиздат, 2001 г., 331 стр.
[13]. Сапожников В.В., Сапожников Вл.В., Валиев Р.Ш. Синтез самодвойственных дискретных систем. СПб., Элмор, 2006 г., 220 стр.
[14]. Piestrak S.J. Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw, Oficyna Wydawnicza Politechniki Wroclavskiej, 1995, 111 p.
[15]. Гессель М., Мошанин В.И., Сапожников В.В., Сапожников Вл.В. Обнаружение неисправностей в самопроверяемых комбинационных схемах с использованием свойств самодвойственных функций. Автоматика и телемеханика, №12, 1997 г., стр. 193-200.
[16]. Гессель М., Дмитриев А.В, Сапожников В.В, Сапожников Вл.В. Самотестируемая структура для функционального обнаружения отказов в комбинационных схемах. Автоматика и телемеханика, №11, 1999 г., стр. 162-174.
[17]. Поспелов Д.А. Логические методы анализа и синтеза схем. 3-е изд., перераб. и доп., М., Энергия», 1974 г., 368 стр.
[18]. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Построение самопроверяемых структур систем функционального контроля на основе равновесного кода «2 из 4». Проблемы управления, №1, 2017 г., стр. 57-64.
[19]. Efanov D., Sapozhnikov V., Sapozhnikov Vl. Method of Self-Checking Concurrent Error Detection System Development Based on Constant-Weight Code «2-out-of-4». In Proc. of the 3rd International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), 2017, pp. 1-6, doi: 10.1109/ICIEAM.2017.8076374.
[20]. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco, Morgan Kaufmann Publishers, 2001, 216 p.
[21]. Carter W.C., Duke K.A., Schneider P.R. Self-Checking Error Checker for Two-Rail Coded Data. United States Patent Office, filed July 25, 1968, ser. No. 747533, patented Jan. 26, 1971, N. Y., 10 p.
[22]. Гессель М., Дмитриев А.В., Сапожников В.В., Сапожников Вл.В. Обнаружение неисправностей в комбинационных схемах с помощью самодвойственного контроля. Автоматика и телемеханика, №7, 2000 г., стр. 140-149.
[23]. Сапожников В.В., Сапожников Вл.В. Самопроверяемые тестеры для равновесных кодов. Автоматика и телемеханика, №3, 1992 г., стр. 3-35.
[24]. Аксенова Г.П. Необходимые и достаточные условия построения полностью проверяемых схем свертки по модулю 2. Автоматика и телемеханика, №9, 1979 г., стр. 126-135.
[25]. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Организация систем функционального контроля с обеспечением полной самопроверяемости структуры на основе модулей сжатия парафазных сигналов. Известия вузов. Приборостроение, том. 60, №5, 2017 г., стр. 404-411, DOI: 10.17586/0021-3454-2017-60-5-404-411.
Fault detection in combinational circuits based on self-dual complement to constant-weight code
1 2 D.V. Efanov <[email protected]> 3 V.V. Sapozhnikov <[email protected]>
3 Vl.V. Sapozhnikov <[email protected]> 3 D.V. Pivovarov <[email protected]> 1 ООО «LocoTech-Signal», 107113, Russia, Moscow, 3ed Rybinskaya st., 18, building 22 2 Russian University of Transport, 127994, Russia, Moscow, Obraztsova st., 9 3 Emperor Alexandex I St. Petersburg state transport university, 190031, Russia, St. Petersburg, Moscowsky ave., 9
Abstract. A new method of combinational circuits concurrent checking is considered based on Boolean complement of the working functions of the diagnosis object to the constant-weight code words with parallel checkout of the bits functions belonging to the self-dual functions class of the Boolean logic. The described approach to the organization of concurrent error-detection (CED) systems allows to increase the detection ability in comparison with the traditional checkout by constant-weight code. In this case, the undetectable error can be a such error, which will lead to the preservation of the code word weight generated at the outputs of the Boolean complement block, if the distortions of all the functions bits on the opposite sets is coincide. This condition is more stringent than the checkout of the vector belonging a pre-selected code, it means that it gives a greater probability of detecting distortion arising from errors. The described method allows checkout of combinational circuit based on constant-weight codes with the same number of single and zero bits. In this case, the priority is in the widely used «2-out-of-4» code, which has a simple checker structure. A detailed description of the new CED system structure is given, and algorithms for the extension of definition of the values of the checkout functions that provide testability of technical diagnostic tools are given.
Keywords: combinational circuits; fault detection; self-dual complement; constant-weight code; «2-out-of-4» code.
DOI: 10.15514/ISPRAS-2019-31(1)-8
For citation: Efanov D.V., Sapozhnikov V.V., Sapozhnikov Vl.V., Pivovarov D.V. Fault detection in combinational circuits based on self-dual complement to constant-weight code. Trudy ISP RAN/Proc. ISP RAS, vol. 31, issue 1, 2019. pp. 115-132 (in Russian). DOI: 10.15514/ISPRAS-2019-31(1)-8
References
[1]. Kharchenko V., Kondratenko Yu., Kacprzyk J. Green IT Engineering: Concepts, Models, Complex Systems Architectures. Springer Book series «Studies in Systems, Decision and Control», vol. 74, 2017, 305 p.
[2]. Pradhan D.K. Fault-Tolerant Computer System Design. New York, Prentice Hall, 1996, 560 p.
[3]. Nicolaidis M., Zorian Y. On-Line Testing for VLSI - А Compendium of Approaches. Journal of Electronic Testing: Theory and Application, vol. 12, issue 1-2, 1998, pp. 7-20.
[4]. Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons, 2006, 720 p.
[5]. Borecky J., Kohlik M., Kubatova H. Parity Driven Reconfigurable Duplex System. Microprocessors and Microsystems, vol. 52, issue C, 2017, pp. 251-260.
[6]. Gavrilov S.V., Tel'puhov D.V., Zhukova T.D., Gurov S.I. Synthesis of fault-tolerant combination schemes by introducing information redundancy, Taurida Journal of Computer Science Theory and Mathematics [Tavricheskij vestnik informatiki i matematiki], vol. 2, issue 39, , 2018, pp. 29-44 (in Russian).
[7]. Sogomonyan E.S., Slabakov E.V. Self-Checking Devices and Fault-Tolerance Systems. Moscow, Radio and Communication [Radio i svyaz'], 1989, 208 p. (in Russian).
[8]. Efanov D., Sapozhnikov V., Sapozhnikov Vl. Generalized Algorithm of Building Summation Codes for the Tasks of Technical Diagnostics of Discrete Systems. In Proc. of the 15th IEEE East-West Design & Test Symposium (EWDTS'2017), 2017, pp. 365-371, doi: 10.1109/EWDTS.2017.8110126.
[9]. Sapozhnikov V.V., Sapozhnikov Vl.V. Self-Checking Discrete Devices. St. Petersburg, Energoatomizdat, 1992, 224 p. (in Russian).
[10]. Yablonskij S.V. Introduction to Discrete Mathematics: Textbook, Ed. V.A. Sadovnichiy, 4th edition, Moscow, High School [Vyschaya shkola], 2003, 384 p. (in Russian).
[11]. Reynolds D.A., Meize G. Fault Detection Capabilities of Alternating Logic. IEEE Transactions on Computers, vol. C-27, Issue 12, 1978, pp. 1093-1098.
[12]. Sapozhnikov V.V., Sapozhnikov Vl.V., Gyossel' M. Self-dual discrete devices. St. Petersburg, Energoatomizdat, 2001, 331 p. (in Russian).
[13]. Sapozhnikov V.V., Sapozhnikov Vl.V., Valiev R.Sh. Synthesis of self-dual systems, St. Petersburg, Elmor, 2006, 220 p. (in Russian).
[14]. Piestrak S.J. (1995) Design of Self-Testing Checkers for Unidirectional Error Detecting Codes. Wroclaw: Oficyna Wydawnicza Politechniki Wroclavskiej, 1995, 111 p.
[15]. Gessel M., Moshanin V.I., Sapozhnikov V.V., Sapozhnikov Vl.V. Fault Detection in Self-Test Combination Circuits Using the Properties of Self-Dual Functions. Automation and Remote Control [Avtomatika i telemekhanika], issue 12, 1997, pp. 193-200 (in Russian).
[16]. Gessel' M., Dmitriev A.V, Sapozhnikov V.V, Sapozhnikov Vl.V. A functional fault-detection self-test for combinational circuits. Automation and Remote Control [Avtomatika i telemekhanika], issue 11, 1999, pp. 162-174 (in Russian).
[17]. Pospelov D.A. Logical methods of analysis and synthesis of circuits. 3-ed edition, Moscow, Energy [Energiya], 1974, 368 p. (in Russian).
[18]. Sapozhnikov V.V., Sapozhnikov Vl.V., Efanov D.V. Design of self-checking concurrent error detection systems based on «2-out-of-4» constant-weight code, Control Science [Problemy upravlenija], issue 1, 2017, pp. 57-64 (in Russian).
[19]. Efanov D., Sapozhnikov V., Sapozhnikov Vl. Method of Self-Checking Concurrent Error Detection System Development Based on Constant-Weight Code "2-out-of-4", In Proc. of the 3ed International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), 2017, pp. 1-6, doi: 10.1109/ICIEAM.2017.8076374.
[20]. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco, Morgan Kaufmann Publishers, 2001, 216 p.
[21]. Carter W.C., Duke K.A., Schneider P.R. Self-Checking Error Checker for Two-Rail Coded Dataro United States Patent Office, filed July 25, 1968, ser. No. 747533, patented Jan. 26, 1971, N. Y., 10 p.
[22]. Gessel' M., Dmitriev A.V., Sapozhnikov V.V., Sapozhnikov Vl.V. Detection of faults in combinational circuits by a self-dual test, Automation and Remote Control [Avtomatika i telemekhanika], issue 7, 2000, pp. 140-149 (in Russian).
[23]. Sapozhnikov V.V., Sapozhnikov Vl.V. Self-Checking Constant-Weights Codes Checkers, Automation and Remote Control [Avtomatika i telemekhanika], issue 3, 1992, pp. 3-35 (in Russian).
[24]. Aksyonova G.P. Necessary and sufficient conditions for the design of totally checking circuits of compression by modulo 2, Automation and Remote Control [Avtomatika i telemekhanika], Issue 9, 1979, pp. 126-135 (in Russian).
[25]. Sapozhnikov V.V., Sapozhnikov Vl.V., Efanov D.V. Organization of functional control systems with totally self-checking structure based on two-rail signals compression modules, Journal of Instrument Engineering [Izvestiya vuzov. Priborostroenie], vol. 60, issue 5, 2017, pp. 404-411, doi: 10.17586/00213454-2017-60-5-404-411 (in Russian).