Qfr} ТЕХНИЧЕСКАЯ ДИАГНОСТИКА И КОНТРОЛЕПРИГОДНЫЕ СИСТЕМЫ
УДК 681.518.5+004.052.32
САМОДВОЙСТВЕННЫЕ ФУНКЦИОНАЛЬНЫЕ ЭЛЕМЕНТЫ ДЛЯ СИНТЕЗА КОНТРОЛЕПРИГОДНЫХ ЦИФРОВЫХ СИСТЕМ
ЕФАНОВ Дмитрий Викторович, д-р техн. наук, профессор, член Института инженеров электротехники и электроники (IEEE), действительный член Международной академии транспорта, заместитель генерального директора по научно-исследовательской работе1, профессор2,3,4; e-mail: [email protected] ПОГОДИНА Татьяна Сергеевна, студент3; e-mail: [email protected]
1ООО «НИПИ «ТрансСтройбезопасность», Санкт-Петербург
2Санкт-Петербургский политехнический университет Петра Великого, Высшая школа транспорта, Института машиностроения, материалов и транспорта, Санкт-Петербург
3Российский университет транспорта (МИИТ), кафедра «Автоматика, телемеханика и связь на железнодорожном транспорте», Москва
4Ташкентский государственный транспортный университет, кафедра «Автоматика и телемеханика», Ташкент
Рассмотрены все самодвойственные аналоги элементарных функциональных элементов, использование которых позволяет синтезировать самодвойственные схемные реализации произвольных булевых функций. При этом может быть применено два способа синтеза, каждый из которых основан на том свойстве, что любую булеву функцию можно преобразовать в самодвойственную с использованием одной дополнительной переменной. Первый состоит в замене в структуре устройства всех несамодвойственных функциональных элементов самодвойственными аналогами. Второй состоит в получении самодвойственной функции по исходной формуле. В работе проведено моделирование самодвойственных функциональных элементов в импульсном режиме работы. Показано, что все самодвойственные функциональные элементы, кроме элементов, реализующих функции равнозначности и неравнозначности (сложения по модулю два), являются полностью самопроверяемыми относительно одиночных константных неисправностей при контроле вычислений на основе принадлежности формируемых функций классу самодвойственных булевых функций. Элементы же, реализующие упомянутые функции, требуется дополнительно контролировать. Для них неисправности не тестируются, поскольку происходят при одновременном искажении сигналов на обеих комбинациях в паре. Эту особенность данных самодвойственных функциональных элементов следует учитывать при разработке контролепригодных самопроверяемых цифровых вычислительных устройств и систем. В статье приводится пример применения способов построения самодвойственных схемных реализаций. Полученные результаты могут быть использованы при синтезе контролепригодных самодвойственных вычислительных устройств и систем.
Ключевые слова: самодвойственная булева функция; контроль вычислений; контролепригодное устройство; контроль самодвойственности; самопроверяемая схема.
DOI: 10.20295/2412-9186-2023-9-02-205-221
▼ Введение
При разработке высоконадежных вычислительных устройств и систем используются
£> элементы с низкими показателями интенсивен
ности отказов, а также методы, основанные " на внесении избыточности в исходный объ-| ект [1—3]. При этом сами устройства снабжают £ развитыми средствами тестового и рабочего диагностирования, а также техническими
т
с-д средствами отключения отказавших узлов и § реконфигурации архитектур [4—7].
Важной задачей является обнаружение неис-® правностей и ошибок в вычислениях, что реша-
ется зачастую путем применения самопроверяемых схем встроенного контроля (СВК) [8]. СВК синтезируются различными методами, одним из которых является использование временной избыточности и специального представления сигналов [9]. При этом контролируют принадлежность формируемых кодовых векторов множеству слов заранее выбранного двоичного избыточного кода или же принадлежность формируемых функций в контрольных точках особым классам булевых функций, например, классу самодвойственных булевых функций [10, 11]. Оба диагностических признака можно комбинировать.
В отчете [12], опубликованном в 1976 году в Университете Иллинойса (Урбана-Шампейн, Иллинойс, США), представлены оптимальные реализации самодвойственных функций от четырех переменных в базисе NOR (ИЛИ-НЕ). В этой работе обращается внимание на диагностические особенности самодвойственных функций. Несколько позже в этом же году Д. А. Рейнолдс защитил магистерскую диссертацию, основной решаемой задачей в которой была разработка методов синтеза устройств с импульсным режимом работы с обнаружением неисправностей [13]. В 1978 году была опубликована статья [14], которая широко известна специалистам в области компьютерных систем. В ней рассмотрены возможности обнаружения ошибок в схемах, функционирующих в импульсном режиме, с использованием самодвойственных сигналов. Авторами установлены необходимые и достаточные условия для логических структур, дающие возможность обнаружения любых одиночных неисправностей в них.
Методы организации контроля вычислений, основанные на импульсном режиме работы и проверке самодвойственности вычисляемых функций, в дальнейшем исследовались в ряде отдельных научных школ. Например, в более современной работе [15] смоделированы устройства сложения двоичных чисел, а в [16] показано, что логические элементы, реализующие самодвойственные функции, могут быть эффективно реализованы с применением реконфигурируемых нанотехнологий.
Среди отечественных исследователей отметим две научные школы. В исследованиях специалистов лаборатории технической диагностики и отказоустойчивости (№ 27) Института проблем управления РАН поднимались вопросы синтеза дублированных систем с контролем вычислений по признаку самодвойственности. К примеру, широко известна статья [17], в которой предложены самодвойственные аналоги запоминающих элементов (триггеров), а также обсуждаются вопросы синтеза самодвойственных конечных автоматов. В статьях профессоров Сапожниковых (кафедра «Автоматика и телемеханика на железных дорогах» Петербургского государственного университета путей сообщения Императора Александра I)
разработаны методы синтеза СВК с контролем вычислений по признаку самодвойственности. Можно кратко перечислить основные результаты их деятельности в данной отрасли диагностики: разработаны основные методы контроля вычислений с самодвойственным дополнением [18—21], разработаны методы синтеза самодвойственных комбинационных устройств и устройств с памятью [22]. Теория синтеза самодвойственных вычислительных устройств помимо множества статей опубликована в двух отечественных монографиях [23, 24] и, несколько позже, в книге [11].
Исследования последних лет в теории синтеза самодвойственных вычислительных устройств позволили разработать методы синтеза СВК с контролем вычислений по двум диагностическим признакам одновременно. В работах [25, 26] описан метод самодвойственного контроля по равновесным кодам. При этом применен такой способ организации СВК, при котором с сигналами от объекта диагностирования производят логическую коррекцию. Это позволяет контролировать любые устройства таким образом. В [27—30] описывается метод самодвойственного контроля по классическим кодам Хэмминга и их модификациям. Он подразумевает контроль вычислений устройств, выходы которых описываются самодвойственными функциями (самодвойственных устройств). Самодвойственными являются не все устройства, а только некоторые, например, полный сумматор или мажоритарный элемент. Для получения самодвойственных устройств из несамодвойственных может быть применен способ, подразумевающий использование самодвойственных аналогов функциональных элементов при синтезе устройств, либо же предварительная процедура получения самодвойственного функционального описания. Оба способа основаны на использовании дополнительной, альтернативной переменной а для преобразования любой функции в самодвойственную.
Данная статья посвящена рассмотрению особенностей реализации самодвойственных функциональных элементов, реализующих элементарные булевы функции, в том числе моделированию их работы.
1. Самодвойственные аналоги элементарных булевых функций
Элементарные булевы функции могут быть заданы табл. 1 [9]. Через них могут быть выражены функции с любым количеством аргументов.
Функции пронумерованы от / до /15 в соответствии с двоичными эквивалентами их значений на каждой входной комбинации х^. Две функции не зависят от переменных — функции /о (тождественный ноль, 0) и /15 (тождественная единица, 1). Четыре функции зависят от одной переменной — это функции /3 (повтор х^, /5 (повтор Х2),/ю (инверсия х-) и/Х1 (инверсия х^. Десять функций зависят от обеих переменных — функции / (конъюнкция, х1 & х2), /2 (запрет х^ инверсия прямой импликации, х1 I х2),/4 (запрет х2, инверсия обратной импликации, Х2 I ^ х^), /б (неравнозначность, сложение по модулю 2, исключающее ИЛИ, х1 © х2), /7 (дизъюнкция, х1 V х2), /8 (стрелка Пирса, кинжал Квайна, функция Вебба, ИЛИ-НЕ, х1 X х2),/ (равнозначность, эквивалентность, х1~ х2), /п (обратная импликация, х2 ^ х1), / (прямая импликация, х1 ^ х2) и/14 (штрих Шеффера, И-НЕ, х1 | х2).
Таблица 1. Элементарные булевы функции
f 6 f 7 f 8
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Таблица 2. Таблица истинности самодвойственного аналога функции ИЛИ-НЕ
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Определение 1. Функция g(x1 , х2, • • •, х^) называется двойственной функции /(х^ х2, • .., х), если:
f а = af v<
(3)
' ( X1, Х2 Xt ) = f ( X1, X2 Xt )•
(1)
Из элементарных булевых функций двойственными являются следующие пары: (0, 1),
( х1 х2 , х^ "V х2 ), ( х^ I ^ х2 , х2 ^ х1 ), ( х2 I ^ х1 ,
х1 ^ х2 ), ( х1 © х2 , х1 ~ х2 ), (х1 X х2 , х1 1 х2 ).
Определение 2. Функция /(х, , х2, • • •, х^) называется самодвойственной, если:
f ( Х1, Х2 , • • • , Xt ) = f ( X1, X2 , • • • , Xt ) •
(2)
Среди элементарных функций четыре являются самодвойственными — это все функции существенно зависящие от одной переменной.
Для преобразования любой булевой функции в самодвойственную достаточно одной переменной а (альтернативного сигнала):
где / — исходная функция, а g — двойственная к ней функция.
На ортогональных по всем переменным входных комбинациях самодвойственная функция имеет противоположные значения. Другими словами, самодвойственная функция имеет противоположные значения на симметричных (относительно середины таблицы истинности) входных комбинациях.
В табл. 2 для примера показано, как с помощью переменной а можно получить самодвойственный аналог функции ИЛИ-НЕ.
Из формулы (3) и табл. 2 получаем:
^Хх2 = а(х1 Х х2 ) V а(х1 1 х2 ) = ах1 V х2 V ах1 х2 = = а х1 х2 V а (х1 V х2) = а х1 х2 V ах1 V ах2 =
= х1 х2 V ах1 V ах2 = а (х1 V х2) V х1 х2. (4)
В преобразованиях (4) использованы формулы де Моргана и Блейка — Порецкого [9].
a
Аналогично преобразованиям (4) с помощью формулы (3) можно получить самодвойственные аналоги всех элементарных булевых
функций. Приведем их ниже:
fo= a; (5)
x2 = a ( xi V x2 )V xi x2; (6)
x2 = a ( xi V x2 )V xi x2; (7)
f = Xi; (8)
fX2 i Xl = a ( xi v x2 )v xi (9)
fl = X2; (10)
X2 = a © X © *2 =
= a(xix2 v xi x2 )v a(xi x2 v xix2 ); (Ц)
fv x2 = a ( xi v X2 )v xix2; (12)
f°lx2 = a ( xi v x2 )v xi x2; (13)
x2 = a © xi © x2 =
= a(xi x2 v xix2 ) v a(xix2 v xi x2 ); (14)
= x2; (15)
fx2 ^xi = a (xi v x2 )v xi x2; (16)
fxf= xi; (17)
fx^x2 = a ( xi v x2 )v xi x2; (18)
fxiix2 = a (xi v x2 )v xi x2; (19)
fia=a. (20)
Представленные выражения (5) — (20) позволяют синтезировать любые самодвойственные структуры путем замены в них логических элементов на их самодвойственные аналоги и последующей оптимизации.
Отметим следующие особенности выражений (5) — (20):
— самодвойственные аналоги тождественных 0 и 1 получаются с использованием
только альтернативного сигнала a (формулы 5 и 20);
— функции повтора и инверсии являются самодвойственными и не требуют использования преобразования и альтернативного сигнала a (формулы 8, 10, 15 и 17);
— самодвойственные аналоги функций xi © x2 и xi ~ x2 получаются путем сложения по модулю 2 функции xi © x2 с сигналом a и a соответственно;
— самодвойственные аналоги двойственных функций ( xi & x2, xi v x2 ), ( xi I x2, x2 ^ .xi ), ( x2 I ^ .xi , .xi ^ x2 ), ( .xi ©© x2 , xi ~ x2 ), ( xi X x2, xi i x2 ) получаются при замене в самодвойственной реализации первой функции переменной a на a соответственно.
2. Моделирование самодвойственных функциональных элементов
Для моделирования работы самодвойственных функциональных элементов нами была выбрана среда Multisim [31]. В ней предварительно с использованием вышеприведенных формул были реализованы все десять пар самодвойственных аналогов функций. Самодвойственные функциональные элементы для пяти пар двойственных функций ( xi & x2, xi v x2 ),
( xi I x2 , x2 ^ xi X ( x2 1 xi , xi ^ x2 ), ( xi © x2 , xi ~ x2 ), ( xi X x2, xi i x2 ) приведены на рис. 1—5. Схемы спроектированы на стандартных функциональных элементах И (AND), ИЛИ (OR), НЕ (NOT) и «сложение по модулю 2» (XOR). Схемы отображены в стандарте ANSI1. Каждый функциональный элемент для самодвойственного аналога булевой функции имеет две подписи: сверху подписан номер логического элемента в структуре U#, где # — номер элемента; снизу подписана реализуемая элементом операция, при этом число входов элемента указано в виде числа после самой операции
ANSI (American National Standards Institute — Американский национальный институт стандартов) представляет собой объединение американских промышленных и деловых групп, разрабатывающих торговые и коммуникационные стандарты. Входит в организации ISO (International Organization for Standardization — Международная организация по стандартизации) и IEC (International Electrotechnical Commission — Международная электротехническая комиссия).
а б
Рис. 1. Самодвойственные функциональные элементы, реализующие функции х,&х2 (а) и х, v х2 (б)
аб Рис. 2. Самодвойственные функциональные элементы, реализующие функции х, ^ х2 (а) и х2 ^х, (б)
аб Рис. 3. Самодвойственные функциональные элементы, реализующие функции х2 ^ х, (а) и х, ^х2 (б)
Рис. 4. Самодвойственные функциональные элементы, реализующие функции х, ® х2 (а) и х, ~ х2 (б)
а б
Рис. 5. Самодвойственные функциональные элементы, реализующие функции х, I х2 (а) и х, | х2 (б)
(для инверсии используется один вход и цифра не подписывается после операции).
Временные диаграммы работы самодвойственных функциональных элементов представлены на рис. 6, по которым можно проверить корректность схемных реализаций.
В ходе исследования также была поставлена задача оценки тестопригодности самодвойственных функциональных элементов. Оценивались обнаруживающие характеристики схемных решений с контролем по принадлежности вычисляемых функций классу самодвойственных булевых функций при воздействии одиночных константных неисправностей выходов внутренних логических элементов (stuck-at faults), за исключением
инверторов входного каскада (их неисправности не рассматривались).
Для контроля ошибок, возникающих на выходах самодвойственных функциональных элементов, устанавливался самодвойственный тестер SSC (self-dual self-checking checker), особенности функционирования которого описаны в [27, 30]. Данное устройство содержит два входа/* и a и два выхода z° и z1. На вход /* подается рабочий сигнал, который требуется контролировать. Вход a предназначен для подачи сигнала преобразования. Выходы z0 и z1 представляют собой контрольные выходы тестера, парафазный сигнал на которых свидетельствует о корректности работы контролируемого объекта при исправности самого
б
а
Time (s)
0.000m 2.000m 4.000m 6.000m 8.000m
^_| i-_ i-_ | |_
f SL Л Tt2 _______,
f XI V xj _| |_| |_| |__
f Xj _____
f Xj — X| |_| |_| |_i
f Xj XI _| |_| |_|
f XL Xj
f X| Ф Xj _____
f Я[ ~ Xj ______
f X| I XI I_I I_I I_I
f XI I ХП _____
Term 11 Term 12 Term 13 Term 14 Term 15 Term 16
cicH-kjnt :MlM№»illiMMtfilliimMMililimm
Clock_Qua Trigg_Qua
-1-
Рис. 6. Диаграмма работы самодвойственных функциональных элементов2
тестера. Нарушение парафазности есть свидетельство того, что при исправности тестера присутствуют ошибки в работе контролируемого объекта. Сам SSC является самопроверяемым устройством.
В качестве примера на рис. 7 приведена схема контроля для эксперимента с самодвойственным функциональным элементом ИЛИ-НЕ. В ходе эксперимента моделировались все одиночные константные неисправности. Они вносились в схему путем обрыва линий и подключения на входы элементов последующих каскадов элементов с постоянным сигналом
2 В окне диаграммы слева приведены все входы логического анализатора, на которые выводятся сигналы. Особенности его работы описаны в разнообразных учебных пособиях. Как пример — лабораторный практикум «Моделирование цифровых устройств в среде Multisim 7» (автор Бесперстов Э. А., издательство Балтийского государственного технического университета, СПб., 2018).
нуля или единицы. На рис. 7, а представлена схема моделирования поведения схемы при внесении неисправности константа 1 на выходе элемента Ш. Выход самодвойственного функционального элемента ИЛИ-НЕ подключен к функциональному входу SSC. На рис. 7, б и в даны временные диаграммы работы схемы в штатном режиме и при наличии обозначенной неисправности. Схемы функционируют в импульсном режиме при подаче на входы пар комбинаций: (000, 111), (001, 110), (010, 101), (011, 100). Фиксация неисправности происходит на первой подаваемой паре наборов (000, 111). Нарушение парафазности на второй комбинации свидетельствует о фиксации ошибки тестером самодвойственности.
В табл. 3 приводятся результаты тестирования всех самодвойственных функциональных элементов. Для каждого элемента в структуре самодвойственного функционального
Рис. 7. Схема контроля вычислений на выходе самодвойственного функционально элемента ИЛИ-НЕ: схема эксперимента (а), временная диаграмма работы в штатном режиме (б), временная диаграмма работы с неисправностью (в)3
элемента цветом выделены те пары входных комбинаций, на которых соответствующая неисправность тестируется и фиксируется с помощью 55С.
Анализ табл. 3 показывает, что: — для каждого самодвойственного функционального элемента существует логический элемент во внутренней структуре, неисправности которого тестируются на любой паре входных комбинаций;
3 Символами XWG1 и XLA1 на схеме обозначены генератор слов и логический анализатор.
— для каждого самодвойственного функционального элемента ровно половина неисправностей элементов во внутренней структуре тестируется на любой паре входных комбинаций;
— для всех самодвойственных функциональных элементов, кроме аналогов элементов, реализующих функции х1 © х2 и х1 ~ х2, имеется по две неисправности, тестируемых только на одной паре входных комбинаций, и по две неисправности, тестируемых на двух парах входных комбинаций;
а
б
в
Таблица 3. Результаты тестирования самодвойственных функциональных элементов
Элемент Вид Входные комбинации
неисправности 000 111 001 110 010 101 011 100
х, & х2
U1 константа 0 0 1 0 1 0 1 0(1—0) 0
константа 1 1(0—1) 1 1(0—> 1) 1 1(0—1) 1 1 1(0—1)
U2 константа 0 0 1 0 0(1—0) 0 0(1—0) 1 0
константа 1 0 1 0 1 0 1 1 1(0—1)
U3 константа 0 0 0(1—0) 0 0(1—0) 0 0(1—0) 0(1—0) 0
константа 1 1(0—1) 1 1(0—1) 1 1(0—1) 1 1 1(0—1)
U4 константа 0 0 1 0 0(1—0) 0 0(1—0) 1 0
константа 1 1(0—1) 1 1(0—1) 1 1(0—1) 1 1 1(0—1)
х, v х2
U1 константа 0 0 0(1—0) 1 0 1 0 1 0
константа 1 1(0—1) 1 1 1(0—1) 1 1(0—1) 1 1(0—1)
U2 константа 0 0 1 0(1—0) 0 0(1—0) 0 1 0
константа 1 1(0—1) 1 1 0 1 0 1 0
U3 константа 0 0 0(1—0) 0(1—0) 0 0(1—0) 0 0(1—0) 0
константа 1 1(0—1) 1 1 1(0—1) 1 1(0—1) 1 1(0—1)
U4 константа 0 0 1 0(1—0) 0 0(1—0) 0 1 0
константа 1 1(0—1) 1 1 1(0—1) 1 1(0—1) 1 1(0—1)
х, 1 ^ х2
U3 константа 0 0 1 0(1—0) 0 0 1 0 1
константа 1 1(0—1) 1 1 1(0—1) 1(0—1) 1 1(0—1) 1
U4 константа 0 0 0(1—0) 1 0 0 1 0 0(1—0)
константа 1 0 1 1 1(0—1) 0 1 0 1
U5 константа 0 0 0(1—0) 0(1—0) 0 0 0(1—0) 0 0(1—0)
константа 1 1(0—1) 1 1 1(0—1) 1(0—1) 1 1(0—1) 1
U6 константа 0 0 0(1—0) 1 0 0 1 0 0(1—0)
константа 1 1(0—1) 1 1 1(0—1) 1(0—1) 1 1(0—1) 1
х2 ^ х,
U4 константа 0 1 0 1 0 0 0(1—0) 1 0
константа 1 1 1(0—1) 1 1(0—1) 1(0—1) 1 1 1(0—1)
U5 константа 0 0(1 ^0) 0 1 0 0 1 0(1—0) 0
константа 1 1 0 1 0 1(0—1) 1 1 0
U6 константа 0 0(1 ^0) 0 0(1—0) 0 0 0(1—0) 0(1—0) 0
константа 1 1 1(0—1) 1 1(0—1) 1(0—1) 1 1 1(0—1)
U7 константа 0 0(1 ^0) 0 1 0 0 1 0(1—0) 0
константа 1 1 1(0—1) 1 1(0—1) 1(0—1) 1 1 1(0—1)
х2 1 ^ х,
U3 константа 0 0 1 0 1 0(1—0) 0 0 1
константа 1 1(0—1) 1 1(0—1) 1 1 1(0—1) 1(0—1) 1
U4 константа 0 0 0(1—0) 0 1 1 0 0 0(1—0)
константа 1 0 1 0 1 1 1(0—1) 0 1
U5 константа 0 0 0(1—0) 0 0(1—0) 0(1—0) 0 0 0(1—0)
константа 1 1(0—1) 1 1(0—1) 1 1 1(0—1) 1(0—1) 1
U6 константа 0 0 0(1—0) 0 1 1 0 0 0(1—0)
константа 1 1(0—1) 1 1(0—1) 1 1 1(0—1) 1(0—1) 1
Окончание таблицы 3
Элемент Вид Входные комбинации
неисправности 000 111 001 110 010 101 011 100
X, ^ х2
U4 константа 0 1 0 0 0(1—0) 1 0 1 0
константа 1 1 1(0—>1) 1(0—1) 1 1 1(0—1) 1 1(0—1)
U5 константа 0 0(1—0) 0 0 1 1 0 0(1—0) 0
константа 1 1 0 1(0—1) 1 1 0 1 0
U6 константа 0 0(1—0) 0 0 0(1—0) 0(1 —0) 0 0(1—0) 0
константа 1 1 1(0—1) 1(0—1) 1 1 1(0—1) 1 1(0—1)
U7 константа 0 0(1—0) 0 0 1 1 0 0(1—0) 0
константа 1 1 1(0—1) 1(0—1) 1 1 1(0—1) 1 1(0—1)
X, © х2
U1 константа 0 0 1 0(1—0) 1(0—1) 0(1 —0) 1(0—1) 0 1
константа 1 1(0—1) 0(1—0) 1 0 1 0 1(0—1) 0(1—0)
U2 константа 0 0 0(1—0) 0(1—0) 0 0(1 —0) 0 0 0(1—0)
константа 1 1(0—1) 1 1 1(0—1) 1 1(0—1) 1(0—1) 1
х,~ х2
U1 константа 0 1 0 1(0—1) 0(1—0) 1(0—1) 0(1—0) 1 0
константа 1 0(1—0) 1(0—1) 0 1 0 1 0(1—0) 1(0—1)
U3 константа 0 0(1—0) 0 0 0(1—0) 0 0(1—0) 0(1—0) 0
константа 1 1 1(0—1) 1(0—1) 1 1(0—1) 1 1 1(0—1)
X, ^ Х2
U5 константа 0 0(1—0) 0 0 1 0 1 0 1
константа 1 1 1(0—1) 1(0—1) 1 1(0—1) 1 1(0—1) 1
U6 константа 0 1 0 0 0(1—0) 0 0(1—0) 0 1
константа 1 1 1(0—1) 0 1 0 1 0 1
U7 константа 0 0(1—0) 0 0 0(1—0) 0 0(1—0) 0 0(1—0)
константа 1 1 1(0—1) 1(0—1) 1 1(0—1) 1 1(0—1) 1
U8 константа 0 1 0 0 0(1—0) 0 0(1—0) 0 1
константа 1 1 1(0—1) 1(0—1) 1 1(0—1) 1 1(0—1) 1
X, | Х2
U6 константа 0 1 0 1 0 1 0 0 0(1—0)
константа 1 1 1(0—1) 1 1(0—1) 1 1(0—1) 1(0—1) 1
U7 константа 0 1 0 0(1—0) 0 0(1 —0) 0 0 1
константа 1 1 0 1 0 1 0 1(0—1) 1
U8 константа 0 0(1—0) 0 0(1—0) 0 0(1 —0) 0 0 0(1—0)
константа 1 1 1(0—1) 1 1(0—1) 1 1(0—1) 1(0—1) 1
U9 константа 0 1 0 0(1—0) 0 0(1 —0) 0 0 1
константа 1 1 1(0—1) 1 1(0—1) 1 1(0—1) 1(0—1) 1
— неисправности элементов Ш в самодвойственных аналогах элементов, реализующих функции х1 © х2 и х1 ~ х2, не тестируются при самодвойственном контроле ни на одной паре входных комбинаций. Таким образом, все самодвойственные функциональные элементы, кроме элементов,
реализующих функции х1 © х2 и х1 ~ х2, являются полностью самопроверяемыми относительно одиночных константных неисправностей при контроле вычислений на основе принадлежности формируемых функций классу самодвойственных булевых функций. Элементы же, реализующие функции х1 © х2 и
Рис. 8. Самодвойственная схема, полученная по алгоритму 1
X ~ х2, требуется дополнительно контролировать. Для них маскировка ошибки происходит из-за одновременного искажения сигналов на обеих комбинациях в паре. Для констант 0 элемента Ш это пары (001, 110) и (010, 101); для констант 1 элемента Ш это пары (000, 111) и (011, 100). Данную особенность упомянутых самодвойственных функциональных элементов следует учитывать при разработке кон-тролепригодных самопроверяемых цифровых вычислительных устройств и систем. И осуществлять дополнительный контроль вычислений на элементе Ш, например, путем сравнения эталонных значений и вычисленных по методу дублирования [32, 33].
3. Алгоритмы синтеза
самодвойственных логических схем
Рассмотрим алгоритмы синтеза самодвойственных логических схем на примере. Дана булева функция:
/ = (X; ^ Х2 )(Хз V Х4 ) V XХ2 ( Хз X Х4 ) .
Требуется синтезировать самодвойственную схему, реализующую функцию / — самодвойственный аналог /а.
Это можно сделать несколькими способами.
Алгоритм 1. Последовательность синтеза самодвойственной схемы с использованием самодвойственных функциональных элементов:
Таблица 4. Таблица истинности для получения самодвойственной функции по примеру
а *1 х2 Х3 х4 Х1 — х2 Хд V Х4 (х, ^ х2 )(х3 V х4) Хд Ь X 4 V, (Х3 4 X,)
0 0 0 0 0 1 1 1 0 0 1
0 0 0 0 1 1 0 0 0 0 0
0 0 0 1 0 1 1 0 1
0 0 0 1 1 1 0 0 1
0 0 1 0 0 1 0 0 1
0 0 1 0 1 0 0 0 0
0 0 1 1 0 1 1 0 1
0 0 1 1 1 1 0 0 1
0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 1 0 1 0 0
0 0 1 1 0 1 0 0 0 0
0 1 0 0 1 1 1 0 0 1
0 1 0 1 1 0 0 0 0 0
0 1 1 0 1 1 1 1 1 1
0 1 1 1 1 1 1 0 0 1
0 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0
1 0 0 0 0
1 0 0 0 1
1 0 0 1 0
1 0 0 1 1
1 0 1 0 0
1 0 1 0 1
1 0 1 1 0
1 0 1 1 1
1 1 0 0 0
1 1 0 0 1
1 1 0 1 0
1 1 0 1 1
1 1 1 0 0
1 1 1 0 1
1 1 1 1 0
1 1 1 1 1
1. Реализуется схема с использованием традиционных функциональных элементов, приведенных на рис. 1—5.
2. Производится замена традиционных функциональных элементов на самодвойственные.
На рис. 8 изображена самодвойственная схема в Multisim.
Алгоритм 2. Последовательность синтеза самодвойственной схемы с использованием таблиц истинности:
1. По заданной формуле составляется таблица истинности.
2. В таблицу истинности добавляется старший разряд, соответствующий переменной а.
3. Доопределяется вторая половина таблицы истинности с учетом условия (2) путем антисимметричного заполнения ее относительно середины.
4. Полученная функция оптимизируется в выбранном базисе.
5. Схема синтезируется по полученной формуле.
В табл. 4 представлены шаги получения функции /а.
Оптимизация в основном базисе по карте Карно дает следующий результат:
/а = ах1 х4 V а х1 х3 V ах2 х4 V ах2 х3 V ах1 х2 V ах3 х4.
Рис. 9. Самодвойственная схема, полученная по алгоритму 2
На рис. 9 изображена самодвойственная схема в Multisim, полученная по оптимизированной функции.
Модификацией алгоритма 2 можно считать следующий алгоритм.
Алгоритм 3. Последовательность синтеза самодвойственной схемы с таблиц истинности и формулы Шеннона:
1. Выполняются шаги 1—3 алгоритма 2.
2. Функция / оптимизируется в выбранном базисе.
3. Полученная функция g оптимизируется в выбранном базисе.
4. Схема синтезируется по формуле (3): /а = а/ V ag .
Следуя за шагами алгоритма 3 и используя полученный выше результат, перепишем функцию /а в виде:
/ ° = а/ V ag =
= а (Х; Х4 V Х; Х3 V Х2 Х4 V Х2 Х3) V а (х; Х2 V Х3 Х4) =
= а(х (Х4 V Х3) V Х2 (Х4 V Х3)) V а(х;Х2 V Х3 Х4).
Самодвойственная схема приведена на рис. 10.
Для булевых функций с большим числом переменных построение таблиц истинности становится трудоемким. Может быть использован следующий алгоритм.
Алгоритм 4. Последовательность синтеза самодвойственной схемы с использованием предварительного преобразования:
1. Формула записывается в основном базисе.
2. Получается двойственная функция g к
функции / по формуле: g = / ( х;, х2,..., х( ) 3. Схема реализуется по формуле (3): /а = а/ V ag .
Рис. 10. Самодвойственная схема, полученная по алгоритму 3
Преобразуем исходную функцию с использованием элементарных функций в основном базисе:
/ = (X; ^ Х2 )(Х3 V Х4 ) V X;Х2 (Х3 X Х4 ) = = (Х; V х2 )(х3 V х4 ^ Х;х2 (х3 V х4).
Определим функцию g, двойственную к /:
g = (х; V х2 )(х3 V х4 ) V х; Х2 Х3Х4 = = (Х;х2 V х3 х4 )(Х; V х2 V х3 V х4 ) =
Х2 ^^ Х3 Х4 .
Самодвойственная схема, полученная по данному алгоритму, аналогична схеме, представленной на рис. 10.
Заключение
В представленной работе рассмотрены все самодвойственные функциональные элементы, являющиеся аналогами элементов, реализующих простейшие несамодвойственные функции от двух переменных. Таких элементов 10. Они сгруппированы по парам элементов, реализующих двойственные булевы функции. В ходе моделирования одиночных константных неисправностей на выходах элементов внутренней структуры каждого самодвойственного функционального элемента установлено, что все элементы, кроме тех, которые реализуют функции х © х2 и х; ~ х2 , являются полностью самопроверяемыми при контроле вычислений на основе принадлежности формируемых функций классу самодвойственных булевых функций. Неисправности одного из двух элементов ХОЯ в структурах самодвойственных функциональных элементов, которые реализуют функции х © х2 и x ~ х2 , не тестируются при самодвойственном контроле. Для тестирования неисправностей требуется дополнительный контроль вычислений на данном элементе. Для остальных же элементов имеется достаточно высокое покрытие неисправностей тестовыми комбинациями: 50 % неисправностей тестируются на любой паре входных комбинаций, по 25 % неисправностей
тестируются на двух парах из четырех и еще 25 % неисправностей тестируются только на одной паре входных комбинаций.
Приведенные в статье самодвойственные аналоги элементарных булевых функций могут быть использованы при синтезе самодвойственных цифровых устройств с обнаружением неисправностей.
Библиографический список
1. Стемпковский А. Л. Методы проектирования помехоза-щищенных комбинационных КМОП-схем, обеспечивающие автоматическое исправление ошибок /
A. Л. Стемпковский, С. В. Гаврилов, С. И. Гуров и др. // Информационные технологии. — 2017. — Т. 23. — № 10. — С. 728-735.
2. Бестемьянов П. Ф. Методы обеспечения безопасности аппаратных средств микропроцессорных систем управления движением поездов / П. Ф. Бестемьянов // Электротехника. — 2020. — № 9. — С. 2-8.
3. Тельпухов Д. В. Алгоритм логического синтеза сбоеу-стойчивых схем в технологическом базисе / Д. В. Тел ьпухов,
B. В. Надоленко // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). — 2021. — № 4. — С. 52-58. — DOI: 10.31114/2078-7707-2021-452-58.
4. Lala P. K. An Introduction to Logic Circuit Testing / P. K. Lala. — Morgan & Claypool, Texas A&M University-Texarkana, 2009. — 99 p. — DOI: 10.2200/S00149ED1V01Y200 808DCS017.
5. Дрозд А. В. Рабочее диагностирование безопасных информационно-управляющих систем / А. В. Дрозд, В. С. Харченко, С. Г. Антощук и др.; под ред. А. В. Дрозда и В. С. Харченко. — Харьков: Национальный аэрокосмический университет им. Н. Е. Жуковского «ХАИ», 2012. — 614 с.
6. Dubrova E. Fault-Tolerant Design / E. Dubrova. — Springer Science + Business Media New York 2013, 2013, XV + 185 p. — doi: 10.1007/978-1-4614-2113-9.
7. Ярмолик В. Н. Контроль и диагностика вычислительных систем / В. Н. Ярмолик.—Минск: Бестпринт, 2019. — 387 с.
8. Согомонян Е. С. Самопроверяемые устройства и отказоустойчивые системы / Е. С. Согомонян, Е. В. Слабаков. — М.: Радио и связь, 1989. — 208 с.
9. Сапожников В. В. Основы теории надежности и технической диагностики / В. В. Сапожников, Вл. В. Сапожников, Д. В. Ефанов. — СПб.: Лань, 2019. — 588 с.
10. Lala P. K. Self-Checking and Fault-Tolerant Digital Design / P. K. Lala. — San Francisco: Morgan Kaufmann Publishers, 2001. — 216 p.
11. Göessel M. New Methods of Concurrent Checking: Edition 1 / M. Göessel, V. Ocheretny, E. Sogomonyan et al. —
Dordrecht: Springer Science + Business Media B. V., 2008. — 184 p.
12. Reynolds D. Optimal NOR Networks for Self-Dual Functions of Four Variables / D. Reynolds, G. Metze. — Technical Report, Illinois University, Urbana-Champaign, Coordinated Science Lab., May 1976, 19 p.
13. Reynolds D. A. The Design of Alternating Logic Systems with Fault Detection Capabilities / D. A. Reynolds. — M. S. Thesis Illinois University, Urbana-Champaign, Coordinated Science Lab., August 1976.
14. Reynolds D. A. Fault Detection Capabilities of Alternating Logic / D. A. Reynolds, G. Meize // IEEE Transactions on Computers. — 1978. — Vol. C-27. — Iss. 12. — Pp. 10931098. — DOI: 10.1109/TC.1978.1675011.
15. Biernat J. Self-Dual Modules in Design of Dependable Digital Devices / J. Biernat // International Conference on Dependability of Computer Systems, 25-27 May 2006, Szklarska Poreba, Poland. — doi: 10.1109/DEPC0S-RELC0MEX.2006.50.
16. Rai S. DiSCERN: Distilling Standard-Cells for Emerging Reconfigurable Nanotechnologies / S. Rai, M. Raitza, S. S. Sahoo et al. // Design, Automation & Test in Europe Conference & Exhibition (DATE), 09-13 March 2020, Grenoble, France. — doi: 10.23919/DATE48585. 2020.9116216.
17. Аксенова Г. П. Восстановление в дублированных устройствах методом инвертирования данных / Г. П. Аксенова // Автоматика и телемеханика. — 1987. — № 10. — С. 144-153.
18. Saposhnikov Vl. V. Self-Dual Parity Checking — a New Method for on Line Testing / Vl. V. Saposhnikov, A. Dmitriev, M. Goessel et al. // Proceedings of 14th IEEE VLSI Test Symposium, USA, Princeton, 1996. — Pp. 162-168.
19. Гессель М. Самотестируемая структура для функционального обнаружения отказов в комбинационных схемах / М. Гессель, А. В. Дмитриев, В. В. Сапожников и др. // Автоматика и телемеханика. — 1999. — № 11. — С. 162174.
20. Saposhnikov Vl. V. Experimental Results for Self-Dual MultiOutput Combinational Circuits / Vl. V. Saposhnikov, V. Moshanin, V. V. Saposhnikov et al. // Journal of Electronic Testing: Theory and Applications. — 1999. — Vol. 14. — Iss. 3. — Pp. 295-300. — DOI: 10.1023/A:1008370405607.
21. Гессель М. Обнаружение неисправностей в комбинационных схемах с помощью самодвойственного контроля / М. Гессель, А. В. Дмитриев, В. В. Сапожников и др. // Автоматика и телемеханика. — 2000. — № 7. — С. 140-149.
22. Сапожников В. В. О синтезе самодвойственных логических схем с памятью / В. В. Сапожников, Вл. В. Сапожников, Р. Ш. Валиев // Электронное моделирование. — 2004. — Т. 26. — № 2. — С. 39-56.
23. Сапожников В. В. Самодвойственные дискретные устройства / В. В. Сапожников, Вл. В. Сапожников,
М. Гессель. — СПб.: Энергоатомиздат (Санкт-Петербургское отделение), 2001. — 331 с.
24. Сапожников В. В. Синтез самодвойственных дискретных систем / В. В. Сапожников, Вл. В. Сапожников, Р. Ш. Валиев. — СПб.: Элмор, 2006. — 220 с.
25. Ефанов Д. В. Обнаружение неисправностей в комбинационных схемах на основе самодвойственного дополнения до равновесных кодов / Д. В. Ефанов, В. В. Сапожников, Вл. В. Сапожников и др. // Труды Института системного программирования РАН. — 2019.—Т. 31. — № 1. — С. 115-132. — DOI: 10.15514/ISPRAS-2019-31(1)-8.
26. Efanov D. Self-Dual Complement Method up to Constant-Weight Codes for Arrangement of Combinational Logical Circuits Concurrent Error-Detection Systems / D. Efanov, V. Sapozhnikov, Vl. Sapozhnikov et al. // Proceedings of 17th IEEE East-West Design & Test Symposium (EWDTS'2019), Batumi, Georgia, September 13-16, 2019, pp. 136-143. — doi: 10.1109/EWDTS.2019.8884398.
27. Ефанов Д. В. Самодвойственный контроль комбинационных схем с применением кодов Хэмминга / Д. В. Ефанов, Т. С. Погодина // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС).—2022.—№ 3. — С. 113-122. — DOI: 10.31114/2078-7707-2022-3-113-122.
28. Efanov D. V. Self-Dual Digital Devices with Calculations Testing by Modified Hamming Code / D. V. Efanov, T. S. Pogodina // IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), 24-27 January 2023, St. Petersburg, Russia. — Pp. 72-77.
29. Ефанов Д. В. Построение самопроверяемых цифровых устройств на основе модифицированных кодов Хэмминга с контролем самодвойственности вычисляемых функций / Д. В. Ефанов, Т. С. Погодина // Автоматика на транспорте. — 2023. — Т. 9. — № 1. — С. 99-123. — DOI: 10.20295/2412-9186-2023-9-01-99-123.
30. Ефанов Д. В. Исследование свойств самодвойственных комбинационных устройств с контролем вычислений на основе кодов Хэмминга / Д. В. Ефанов, Т. С. Погодина // Информатика и автоматизация. — 2023. — Т. 22. — № 2. — C. 349-392. — DOI: 10.15622/ia.22.2.5.
31. Chen Y. The Circuit Design of Voltage-controlled Color Changing Lamp Based on Multisim / Y. Chen, M. Zhang, J. Hao // 2020 IEEE International Conference on Power, Intelligent Computing and Systems (ICPICS), 28-30 July 2020, Shenyang, China. — doi: 10.1109/ICPICS50287. 2020.9202148.
32. Пархоменко П. П. Основы технической диагностики (оптимизация алгоритмов диагностирования, аппаратурные средства) / П. П. Пархоменко, Е. С. Согомонян. — М.: Энергоатомиздат, 1981. — 320 с.
33. Микони С. В. Общие диагностические базы знаний вычислительных систем / С. В. Микони. — СПб.: Санкт-Петербургский институт информатики и автоматизации, 1992. — 234 с.
TRANSPORT AUTOMATION RESEARCH, 2023, Vol. 9, No. 2, pp. 205-221 DOI: 10.20295/2412-9186-2023-9-02-205-221
Self-Dual Functional Gates for the Synthesis of Controllable Digital Systems
Information about authors
Efanov D. V., Doctor in Engineering, Professor, IEEE Member, Full-member of International Transport Academy, General Director Deputy on Scientific Research Work1, Professor2,3,4.
E-mail: [email protected]
Pogodina T. S., Student3. E-mail: [email protected]
^'Scientific Research and Design Institute"Transport and Construction Safety"LLC, Saint Petersburg
2Peter the Great Saint Petersburg Polytechnic University, Higher School of Transport, Mechanical Engineering, Material and Transport Institute, Saint Petersburg 3Russian Transport University (MIIT), Department of Automation, Remote Control and Communication on Railway Transport, Moscow
Tashkent State Transport University, Department of Automation and Remote Control, Tashkent
Abstract: All self-dual analogs of elementary functional gates have been considered, the use of which allows for the synthesis of self-dual circuit implementations of arbitrary Boolean functions. In this case, two synthesis methods can be used, each one based on the property of any Boolean function to be transformed into a self-dual function using one additional variable. The first method involves replacing all non-self-dual functional gates in the device structure with self-dual analogs. The second one involves obtaining a self-dual function from the original formula. The study conducted modeling of self-dual functional gates in pulse mode of operation. It has been shown that all self-dual functional gates, except for those implementing equivalence and nonequiva-lence functions (modulo-2 addition), are fully self-checkable with respect to stuck-at faults when checking computations based on the belonging of the generated functions to the class of self-dual Boolean functions. However, the gates that implement the mentioned functions require additional monitoring. For them, error masking occurs due to the simultaneous distortion of signals on both combinations in a pair. This feature of these self-dual functional gates should be taken into account when developing controllable self-checking digital computing devices and systems. The article provides an example of using methods for constructing self-dual circuit implementations. The obtained results can be used in the synthesis of controllable self-dual computing devices and systems.
Keywords: self-dual Boolean function, calculation checking, controllable device, self-duality testing, self-checking circuit
References
1. Stempkovskii A. L., Gavrilov S. V., Gurov S. I. et al. Metody proektirovaniya pomekhozashchishchennykh kombinatsionnykh KMOP-skhem, obespechivayushchie avtomaticheskoe ispravlenie oshibok [Methods of designing noise-immune combinational CMOS circuits ensuring automatic error correction]. Informatsionnye tekhnologii [Information Technologies]. 2017, vol. 23, Iss. 10, pp. 728-735. (In Russian)
2. Bestemyanov P. F. Metody obespecheniya bezopasnosti apparatnykh sredstv mikropro-tsessornykh sistem upravleniya dvizheniem poezdov [Methods for ensuring the safety of hardware of microprocessor-based systems for train management]. Elektrotekhnika [Electrical Engineering]. 2020, Iss. 9, pp. 2-8. (In Russian)
3. Telpukhov D. V., Nadolenko V. V. Algoritm logicheskogo sinteza sboeustoichivykh skhem v tekhnologicheskom bazise [Algorithm of Logical Synthesis of Fault-Tolerant Circuits in a Technological Basis]. Problemy razrabotki perspektivnykh mikro-i nanoelektronnykh sistem (MES) [Problems of developing advanced micro- and nanoelectronic systems]. 2021, Iss. 4, pp. 52-58. DOI: 10.31114/2078-7707-20214-52-58. (In Russian)
4. Lala P. K. An Introduction to Logic Circuit Testing. Morgan & Claypool, 2009. DOI: 10.2200/S00149ED1V01Y200808DCS017.
5. Drozd A. V., Kharchenko V. S., Antoshchuk S. G. et al. Rabocheye diagnostirovanie bezopasnykhinformatsionno-upravlyayushchikhsistem [Working diagnostics of safe information management systems]. Natsional'nyy aerokosmicheskiy universitet im. N. E. Zhukovskogo "Khai", 2012, 614 p. (In Russian)
6. Dubrova E. Fault-Tolerant Design. Springer Science+Business Media New York 2013, 2013, XV + 185 p. DOI: 10.1007/978-1-4614-2113-9.
7. Yarmolik V. N. Kontrol'i diagnostika vychislitel'nykh sistem [Control and diagnostics of computing systems]. Bestprint, 2019. (In Russian)
8. Sogomonyan E. S., Slabakov E. V. Samoproveryaemyeustroystvaiotkazoystoychivyye sistemy [Self-checking devices and fault-tolerant systems]. Moscow: Radio i svyaz' Publ., 1989. (In Russian)
9. Sapozhnikov V. V., Sapozhnikov Vl. V., Efanov D. V. Osnovy teorii nadezhnosti i tekhnicheskoy diagnostiki [Fundamentals of reliability theory and technical diagnostics]. Saint Petersburg: Lan' Publ., 2019. (In Russian)
10. Lala P. K. Self-Checking and Fault-Tolerant Digital Design. Morgan Kaufmann Publishers, 2001.
11. Göessel M., Ocheretny V., Sogomonyan E. et al. New Methods of Concurrent Checking: Edition 1. Springer Science + Business Media B. V., 2008.
12. Reynolds D., Metze G. Optimal NOR Networks for Self-Dual Functions of Four Variables. Technical Report, Illinois University, Urbana-Champaign, Coordinated Science Lab., May 1976.
13. Reynolds D. A. The Design of Alternating Logic Systems with Fault Detection Capabilities. M.S. Thesis, Illinois University, Urbana-Champaign, Coordinated Science Lab., August 1976.
14. Reynolds D. A., Meize G. Fault Detection Capabilities of Alternating Logic. IEEE Transactions on Computers, 1978, vol. C-27, Iss. 12, pp. 1093-1098, DOI: 10.1109/ TC.1978.1675011.
15. Biernat J. Self-Dual Modules in Design of Dependable Digital Devices. International Conference on Dependability of Computer Systems, May 25-27, 2006, Szklarska Porçba, Poland. DOI: 10.1109/DEPCOS-RELCOMEX.2006.50.
16. Rai S., Raitza M., Sahoo S. S. et al. DiSCERN: Distilling Standard-Cells for Emerging Reconfigurable Nanotechnologies. Design, Automation & Test in Europe Conference & Exhibition (DATE), March 9-13, 2020, Grenoble, France, DOI: 10.23919/ DATE48585.2020.9116216.
17. Aksenova G. P. Vosstanovlenie v dublirovannykh ustroistvakh metodom inver-tirovaniya dannykh [Restoration in duplicated devices by data inversion]. Avtomatika i Telemekhanika [Automation and Telemechanics]. 1987, Iss. 10, pp. 144-153. (In Russian)
18. Saposhnikov Vl. V., Dmitriev A., Goessel M. et al. Self-Dual Parity Checking — a New Method for on Line Testing. Proceedings of 14th IEEE VLSI Test Symposium, USA, Princeton, 1996, pp. 162-168.
19. Gessel M. Samotestiruemaya struktura dlya funktsional'nogo obnaruzheniya otkazov v kombinatsionnykh skhemakh [Self-testing structure for functional failure detection in combinational circuits]. Avtomatika i Telemekhanika [Automation and Telemechanics]. 1999, Iss. 11, pp. 162-174. (In Russian)
20. Saposhnikov Vl. V., Moshanin V., Saposhnikov V. V. et al. Experimental Results for Self-Dual Multi-Output Combinational Circuits. Journal of Electronic Testing: Theory and Applications, 1999, vol. 14, Iss. 3, pp. 295-300. DOI: 10.1023/A:1008370405607.
21. Gessel M. Obnaruzhenie neispravnostey v kombinatsionnykh skhemakh s pomoshch'yu samodvoystvennogo kontrolya [Fault detection in combinational circuits using self-dual control]. Avtomatika i Telemekhanika [Automation and Telemechanics]. 2000, Iss. 7, pp. 140-149. (In Russian)
22. Sapozhnikov V. V., Sapozhnikov Vl. V., Valiev R. Sh. O sinteze samodvoystvennykh logicheskikh skhem s pamyat'yu [On the synthesis of self-dual logic circuits with memory]. Elektronnoe modelirovanie [Electronic modeling]. 2004, vol. 26, Iss. 2, pp. 39-56. (In Russian)
23. Sapozhnikov V. V., Sapozhnikov Vl. V., Gessel' M. Samodvoystvennye diskretnye ustroystva [Self-dual discrete devices]. St. Petersburg: Energoatomizdat Publ. (Sankt-Peterburgskoe otdelenie), 2001, 331 p. (In Russian)
24. Sapozhnikov V. V., Sapozhnikov Vl. V., Valiev R. Sh. Sintez samodvoystvennykh dikretnykh sistem [Synthesis of self-dual discrete systems]. St. Petersburg: Elmor Publ., 2006, 220 p. (In Russian)
25. Efanov D. V., Sapozhnikov V. V., Sapozhnikov Vl. V. et al. Obnaruzhenie neispravnostey v kombinatsionnykh skhemakh na osnove samodvoystvennogo dopolneniya do ravnovesnykh kodov [Fault detection in combinational circuits based on self-dual complement to equilibrium codes]. Trudy Instituta sistemnogo programmirovaniya RAN [Proceedings of the Institute for System Programming of the Russian Academy of Sciences]. 2019, vol. 31, Iss. 1, pp. 115-132. DOI: 10.15514/ISPRAS-2019-31(1)-8. (In Russian)
26. Efanov D., Sapozhnikov V., Sapozhnikov Vl. et al. Self-Dual Complement Method up to Constant-Weight Codes for Arrangement of Combinational Logical Circuits Concurrent Error-Detection Systems. Proceedings of 17th IEEE East-West Design & Test Symposium (EWDTS'2019), Batumi, Georgia, 13-16 Sept. 2019, pp. 136-143. DOI: 10.1109/EWDTS.2019.8884398.
27. Efanov D. V., Pogodina T. S. Samodvoystvennyy kontrol'kombinatsionnykh skhem s primeneniem kodov Khehmminga [Self-dual control of combinational circuits using Hamming codes]. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) [Problems of development of promising micro- and nanoelectronic
systems (MES)]. 2022, Iss. 3, pp. 113-122. DOI: 10.31114/2078-7707-2022-3-113122. (In Russian)
28. Efanov D. V., Pogodina T. S. Self-Dual Digital Devices with Calculations Testing by Modified Hamming Code. IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), 24-27 Jan. 2023, St. Petersburg, Russia, pp. 72-77.
29. Efanov D. V., Pogodina T. S. Postroenie samoproveryaemykh tsifrovykh ustroistv na osnove modifitsirovannykh kodov Khehmminga s kontrol'em samodvoystvennosti vychisliaemykh funktsiy [Construction of self-checking digital devices based on modified Hamming codes with self-duality control of calculated functions]. Avtomatika na transporte [Transport automation research]. 2023, vol. 9, Iss. 1, pp. 99-123. DOI: 10.20295/2412-9186-2023-9-01-99-123. (In Russian)
30. Efanov D. V., Pogodina. T. S. Issledovanie svoystv samodvoystvennykh kombinatsionnykh ustroistv s kontrol'em vychisleniy na osnove kodov Khehmminga [Investigation of the properties of self-dual combinational devices with control of calculations based on Hamming codes]. Informatika i avtomatizatsiya [Informatics and Automation]. 2023, vol. 22, Iss. 2, pp. 349-392. DOI: 10.15622/ia.22.2.5. (In Russian)
31. Chen Y., Zhang M., Hao J. The Circuit Design of Voltage-controlled Color Changing Lamp Based on Multisim. 2020 IEEE International Conference on Power, Intelligent Computing and Systems (ICPICS), 28-30 July 2020, Shenyang, China. DOI: 10.1109/ ICPICS50287.2020.9202148.
32. Parkhomenko P. P., Sogomonyan E. S. Osnovy tekhnicheskoy diagnostiki (optimizatsiya algoritmov diagnostirovaniya, apparaturnye sredstva) [Fundamentals of technical diagnostics (optimization of diagnostic algorithms, hardware)]. Moscow: Energoatomizdat Publ., 1981, 320 p. (In Russian)
33. Mikoni S. V. Obshchie diagnosticheskie bazy znaniy vychislitel'nykh sistem [General diagnostic knowledge bases of computing systems]. St. Petersburg: Sankt-Peterburgskiy institut informatiki i avtomatizatsii Publ., 1992, 234 p. (In Russian)