ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА 2023 Управление, вычислительная техника и информатика № 63
Tomsk: State University Journal of Control and Computer Science
ПРОЕКТИРОВАНИЕ И ДИАГНОСТИКА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
DESIGNING AND DIAGNOSTICS OF COMPUTER SYSTEMS
Научная статья
УДК 681.518.5+004.052.32
doi: 10.17223/19988605/63/14
Самодвойственные цифровые устройства с контролем вычислений
по кодам Сяо
Дмитрий Викторович Ефанов1, Татьяна Сергеевна Погодина2
1 Санкт-Петербургский политехнический университет Петра Великого, Санкт-Петербург, Россия 12Российский университет транспорта, Москва, Россия
2 pogodina-ts@mail. ru
Аннотация. Предложено при разработке и проектировании самопроверяемых цифровых устройств использовать известные коды Сяо, проверочные символы которых описываются самодвойственными булевыми функциями. Таким образом, при построении устройств будут контролироваться два диагностических параметра - принадлежность формируемых кодовых слов кодам Сяо и принадлежность каждой контрольной функции классу самодвойственных булевых функций. Как показано в эксперименте с тестовой комбинационной схемой, это повышает показатели контролепригодности разрабатываемого устройства.
Ключевые слова: самопроверяемые цифровые устройства; самодвойственные цифровые устройства; контроль вычислений; контроль самодвойственности функций; контролепригодность.
Для цитирования: Ефанов Д.В., Погодина Т.С. Самодвойственные цифровые устройства с контролем вычислений по кодам Сяо // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2023. № 63. С. 118-136. doi: 10.17223/19988605/63/14
Original article
doi: 10.17223/19988605/63/14
Self-dual digital devices with calculations testing by Hsiao codes Dmitry V. Efanov1, Tatiana S. Pogodina2
1 Saint Petersburg Polytechnic University, Saint Petersburg, Russian Federation 12 Russian University of Transport, Moscow, Russian Federation
Abstract. It is proposed that in the development and design of self-checking digital devices, the use of well-known Hsiao codes, the check symbols of which are described by self-dual Boolean functions. Thus, two diagnostic parameters will be used in the construction of devices - control of the belonging of generated code words to Hsiao codes and control of the belonging of each check functions to the type of self-dual Boolean functions. As shown in the work in the experiment with the test combination circuit, this increases the indicators of the checkability of the device being developed.
© Д.В. Ефанов, Т.С. Погодина, 2023
Keywords: self-checking digital devices; self-dual digital devices; calculations testing; self-duality of functions
testing; checkability.
For citation: Efanov, D.V., Pogodina, T.S. (2023) Self-dual digital devices with calculations testing by Hsiao codes.
Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika - Tomsk State
University Journal of Control and Computer Science. 63. pp. 118-136. doi: 10.17223/19988605/63/14
Введение
При разработке высоконадежных и безопасных вычислительных устройств повсеместно применяются принципы помехозащищенного и помехоустойчивого кодирования. Кодирование используется практически на всех уровнях реализации устройств как при их разработке и проектировании при выборе способа внесения избыточности и состава технических средств диагностирования, так и при передаче данных между узлами и отдельными функциональными блоками [1-6]. Часто используются широко известные коды Хэмминга и их модификации [7]. К примеру, в [8] отмечено, что при передаче данных между функциональными устройствами системы автоматической локомотивной сигнализации типа АЛС-ЕН применяются модифицированные коды Хэмминга. Аналогично в [9] говорится о том, что при передаче данных между центральными постовыми устройствами и децентрализованными контроллерами управления железнодорожными стрелками использовано кодирование кодами Хэмминга. Коды Хэмминга применяются и при синтезе устройств с обнаружением или коррекцией ошибок в вычислениях [10]. Например, в [11] описано применение классических и модифицированных кодов Хэмминга при синтезе схем встроенного контроля для комбинационных устройств автоматики и вычислительной техники. В [12] коды Хэмминга и их модификации из предыдущей работы рассматриваются в эксперименте по синтезу схем встроенного контроля для тестовых комбинационных схем, дополняя результаты, опубликованные в статье [13] и в разделах 3.3 и 4.3 монографии [11]. В [14, 15] описываются особенности применения кодов Хэмминга и некоторых их модификаций при синтезе схем встроенного контроля по методу логической коррекции сигналов (логического дополнения). В работе [16] приводятся результаты экспериментов по оценке структурной избыточности при применении кодов Хэмминга и кодов Сяо для защиты устройств оперативной памяти.
В [17] показано, что классические коды Хэмминга при определенных длинах кодовых слов обладают интересным свойством - значения их проверочных символов получаются по самодвойственным булевым функциям. Это свойство позволяет напрямую повышать контролепригодность при синтезе самопроверяемых устройств, диагностируемых в рабочем режиме, и увеличивать число рабочих комбинаций, на которых одновременно тестируются неисправности из рассматриваемой модели.
В данной статье раскрываются особенности применения известной модификации кода Хэм-минга - кода Сяо (кода с нечетными весами столбцов в проверочной матрице), - при синтезе самопроверяемых устройств [2]. При определенных длинах кодовых слов и определенных способах формирования проверочных матриц также можно выделить коды Сяо, которые обладают свойством самодвойственности функций, описывающих проверочные символы.
1. Коды Сяо
Коды Сяо впервые описаны в [18]. Они строятся следующим образом:
1. Из проверочной матрицы кода Хэмминга выделяются все столбцы с нечетным значением веса r; столбцы с четным значением веса исключаются.
2. Столбцы с весом r = 1 соответствуют проверочным символам.
3. Столбцы с весами r = 3 + 2i, i = {0, 1, ...}, отводятся под информационные символы.
4. Выбирается число m - количество информационных символов кода.
5. Выбираются первые m столбцов с нечетным весом r = 3 + 2i, i = {0, 1, ...}.
6. Каждая функция, описывающая }-й проверочный символ, получается как сумма по модулю M = 2 тех информационных символов, в соответствующих столбцах для которых на пересечении }-й строки стоит единица.
К примеру, для получения функций, описывающих проверочные символы кодов Сяо для кодов с длиной п = 10.. .16, используется проверочная матрица
'0 0 0 0 1 1 1 0 1110 0 0
H =
0 1 1
1 1 1 1
(1)
Число проверочных символов для таких кодов к = 5. Число информационных символов т = 5.11. Для заданного значения к максимальное число информационных символов кода Сяо определяется величиной
' к
mmax ~ £ Ck, J = 1,2,
r=1+2 J
(2)
Из последней формулы следует, что число способов построения кода со значением т < ттЛх
равно
мк т = (3)
Перестановка столбцов в проверочной матрице (1) при выборе т столбцов из ттах дает возможность построения кодов Сяо с различными аргументами в формулах, описывающих проверочные символы.
Исследования показывают, что для случаев к = 5, 7 и 11 могут быть построены коды Сяо, проверочные символы для которых описываются самодвойственными булевыми функциями. Как доказано в [17], необходимо и достаточно, чтобы все линейные функции, описывающие проверочные символы, содержали нечетное число аргументов. К примеру, ниже дана проверочная матрица для кода Сяо с длиной п = 12:
H =
(4)
Из (4) получаем следующую систему функций, описывающих контрольные разряды (контрольных функций):
' g1 = / © / 0 / 0 / © /6;
£2 = / ©/2 ©/4 © /5 © /7;
< gз = /1 © /з © /4 © /б © /7; (5)
g4 = /2 © /з © /4;
^^ = /5 © /б © /7.
Рассмотрим применение кодов Сяо, проверочные символы которых вычисляются по формулам (5), при синтезе самопроверяемых устройств, снабжаемых схемами встроенного контроля. Контроль ошибок в вычислениях будет осуществляться по двум диагностическим параметрам:
1) принадлежности кодовых слов кодам Сяо;
2) принадлежности каждой функции, описывающей проверочные символы, классу самодвойственных булевых функций.
2. Структура самодвойственного устройства с контролем вычислений по кодам Сяо
Особенности построения и реализации самодвойственных устройств изложены в статьях [19-24] и монографиях [3, 25, 26]. Важной особенностью является то, что при реализации самодвойственных устройств используются принципы внесения временной избыточности и импульсного представления сигналов.
При использовании системы формул (5) схема встроенного контроля реализуется для группы из семи выходов комбинационного устройства. Выходы исходного устройства, таким образом, разбиваются на группы по семь выходов в каждой. Если m (mod7) Ф 0 (m - число выходов устройства), то
m (mod 7) оставшихся выходов (назовем их «свободными выходами») образуют неполную группу,
для которой не используется кодер кода Сяо, а контроль осуществляется с помощью отдельных тестеров самодвойственности сигнала.
На рис. 1 приведена «базовая» структура организации схемы встроенного контроля для случая m(mod7) = 0 . На рис. 2 данная «базовая» структура дополнена тестерами самодвойственности и схемой сжатия парафазных сигналов от «свободных» выходов на случай m (mod 7) = 2 для организации контроля вычислений устройства с девятью выходами.
Входы x / . /
t--7Т
F(x)
fi
G(x)
gi
g2
g3
g 4
g 5
G(f)
gi g2 g3 g4 g5
-Ю
TRC
->
■xp
TRC
TRC
>fi
>f2 hQ 4
>f3 a A
У щ f u
>f5 О
>f6 a Сц
Схема встроенного контроля
5SSC1
SSC1
—» SSC2
SSC3
—» SSC4
SSC5
О
es
-ю
TRC
TSC
5TRC1
TRC
-> г
ч о а
H
я
о И
Рис. 1. Структура организации схемы встроенного контроля для группы из семи выходов Fig. 1. Structure of the CED circuit organization for a group of seven outputs
г
В «базовой» структуре выделяется несколько типовых блоков. Блоки G(f) и G(x) представляют собой кодеры кодов Сяо. Первый кодер преобразует значения выходных информационных символов fi.fi в проверочные символы кода Сяо £ь..£5 по формулам (5). Второй кодер выполняет ту же процедуру, только преобразование осуществляется непосредственно по входным воздействиям хь.х, поступающим как на исходное устройство F(x), так и на входы кодера G(x), формирующего проверочные символы g'l...g'5. Кодер G(x) синтезируется путем оптимизации каскадного подключения блоков Т(х) и G(/) по аналогии с примером в табл. 9.8 из [27] для использования при синтезе схемы встроенного контроля кодов Бергера. При поступлении на входы воздействий хь.х на одноименных выходах устройств G(/) и G(x) формируются одинаковые сигналы. При наличии неисправностей в устройстве Т(х) сигналы на его выходах искажаются, что приводит и к искажению проверочных символов gl...g5. Несоответствие между сигналами gl...g5 и g'l...g5 фиксируется типовыми контрольными устройствами в схеме встроенного контроля.
Входы
Vf
-Л*
F(x)
fi
f9
G(x)
G(f)
gi
g2
g3
g4
g5
g
Схема встроенного контроля
> SSC6
g i
g'2
g3
g'4
g'5
SSC7
TRC
О g
TRC
TRC
TSC
ч
il H
œ
о И
Рис. 2. Структура организации схемы встроенного контроля для группы из девяти выходов Fig. 2. Structure of the CED circuit organization for a group of nine outputs
Контроль вычислений по кодам Сяо осуществляется с использованием самопроверяемого тестера данного кода (устройства TSC). В состав TSC входят кодер G(f) и самопроверяемый компаратор 5TRC1, осуществляющий сжатие пяти парафазных сигналов в один. Он реализуется на основе стандартных модулей сжатия парафазных сигналов [27]. Требуется четыре таких модуля. Отметим, что на входы 5TRC1 должны поступать парафазные сигналы и сравниваться одноименные выходы gi...g5 и g'i...g5. Поэтому сигналы от одного из устройств (в данном случае от G(x)) предварительно инвертируются.
z
z
Контроль вычислений по принадлежности каждой функции, описывающей проверяющие разряды кода Сяо, классу самодвойственных булевых функций осуществляется с помощью каскада тестеров самодвойственности (5SSC1) со схемой сжатия парафазных сигналов. На каждый выход gi.gs установлен тестер самодвойственности SSC, схема которого приведена в [27], а его работа смоделирована в [17]. Выходы тестеров SSC1...SSC5 подключены к входам схемы сжатия парафазных сигналов 5TRC1. Контрольные выходы 5SSC1 и TSC подключены к входам одного модуля сжатия парафазных сигналов TRC, выходы z0 и z1 которого являются контрольными выходами схемы встроенного контроля.
Из вышеприведенного описания следует:
Утверждение 1. При реализации контрольной части схемы встроенного контроля используется пять устройств SSC и девять устройств TRC.
Структура схемы встроенного контроля полностью стандартизирована, что упрощает ее проектирование, а задача проектировщика (или системы автоматизированного проектирования) состоит в реализации блока G(x).
Для примера на рис. 2 приведена структура схемы встроенного контроля для исходного устройства F(x) с m = 9 выходами. В этом случае построена одна «базовая» структура для семивыходного устройства, а два «свободных» выхода контролируются с помощью отдельной подсхемы с устройствами SSC6 и SSC7, выходы которых подключены к входам одного модуля TRC. Выходы двух подсхем контроля подключены к входам «последнего сторожа» - выходного модуля сжатия парафазных сигналов.
Утверждение 2. Пусть m(mod7) = b, b e{0,1,...,6}. Тогда требуется b устройств SSC и
b устройств TRC в схеме контроля «свободных» выходов.
Оценим сложность контрольной части схемы встроенного контроля. Используем в качестве показателя сложности технической реализации устройств число входов внутренних логических элементов без учета инверсий на входах. Данный показатель используется в [28], никак не привязан к технологии изготовления устройства и коррелирует с другими показателями, например числом транзисторов, требующихся для реализации, площадью, занимаемой на кристалле и пр. Из того же источника известно, что число входов для реализации элемента сложения по модулю M = 2 равно nxoR = 6. Из [27. § 9.1.2, 9.10.2], где приведены структуры модуля сжатия парафазных сигналов и тестера самодвойственности, следует, что для них показатели в выбранной метрике равны ^trc = 12 и nssc = 7 соответственно. Из формул (5) следует, что сложность технической реализации кодера кода Сяо со-ставлет nof = 16nxoR = 96.
Сложность стандартной части схемы встроенного контроля можно подсчитать по следующей формуле:
m
% = у (5%SC + 9%rc ) + m (mod 7) (%,SC + %RC ) • (6)
В используемой метрике выражение (6) может быть переписано в виде:
m 7
(5 • 7 + 9 -12 ) + m (mod 7 )( 7 +12 ) = 143
m 7
19 • m (mod 7). (7)
В табл. 1 приводятся рассчитанные показатели сложности реализации стандартной части схемы встроенного контроля, а на рис. 3 представлена зависимость показателя пе от значения т.
Из (6) и (7) становится ясным следующее.
Утверждение 3. С ростом т показатель сложности технической реализации контрольной части схемы встроенного контроля растет линейно.
Таким образом, проектирование схемы встроенного контроля по двум диагностическим параметрам является достаточно простым. При этом отметим, что «свободные» выходы контролируются только по одному параметру, что требует определенного выбора данных выходов из полного их множества. Оставим описание решения данной задачи за пределами настоящей статьи.
Таблица 1
Характеристики стандартной части схемы встроенного контроля
Число выходов устройства Число выделяемых групп выходов Число «свободных» выходов Число стандартных элементов Показатель сложности реализации
XOR's в G(f) SSC TRC nGf) nssc nTRC Щ
7 1 0 16 5 9 96 35 108 239
8 1 1 16 6 10 96 42 120 258
9 1 2 16 7 11 96 49 132 277
10 1 3 16 8 12 96 56 144 296
11 1 4 16 9 13 96 63 156 315
12 1 5 16 10 14 96 70 168 334
13 1 6 16 11 15 96 77 180 353
14 2 0 32 10 18 192 70 216 478
15 2 1 32 11 19 192 77 228 497
16 2 2 32 12 20 192 84 240 516
17 2 3 32 13 21 192 91 252 535
18 2 4 32 14 22 192 98 264 554
19 2 5 32 15 23 192 105 276 573
20 2 6 32 16 24 192 112 288 592
21 3 0 48 15 27 288 105 324 717
22 3 1 48 16 28 288 112 336 736
23 3 2 48 17 29 288 119 348 755
24 3 3 48 18 30 288 126 360 774
25 3 4 48 19 31 288 133 372 793
26 3 5 48 20 32 288 140 384 812
27 3 6 48 21 33 288 147 396 831
1X1
J
/ /
/
Л Ч-С
900 800 700 600 500 400 300 200 100 0
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Число выходов устройства
Рис. 3. Зависимость показателя сложности реализации стандартной части схемы встроенного контроля от числа выходов контролируемого устройства Fig. 3. Dependence of complexity indicator of implementation of standard part of CED circuit on number of outputs of testing device
Ясно, что при построении схемы встроенного контроля по представленному методу можно выделять пересекающиеся подмножества выходов объекта диагностирования. Например, для случая, показанного на рис. 2, где контролируются вычисления на девяти выходах, можно выделить такие подмножества: {/1, /2, /3, f4, /5, f6, /7} и {f3, /4, /5, f6, /7, /8, /9}. Каждая группа из семи выходов будет контролироваться на основе «базовой» структуры, представленной на рис. 1. Покажем, однако, что такой способ организации схем встроенного контроля, хоть и будет иметь более высокое покрытие ошибок на каждой входной комбинации, но будет давать схему встроенного контроля с более высоким показателем сложности технической реализации, чем выделение «свободных» выходов, не входящих в полные подмножества из семи выходов.
Для этого вернемся к выражению (6), определяющему суммарное значение показателя сложности технической реализации стандартной контрольной части схемы. Для того чтобы показать, что стандартная часть контрольной схемы будет иметь более высокие показатели сложности технической реализации, необходимо показать, что максимальное усложнение при контроле «свободных» выходов будет всегда меньше при контроле их же по двум параметрам. Иными словами, должно выполняться неравенство
SSC + nTRC )< 5nssc + 9%rc • (8)
Выполняя ряд преобразований над (8), получаем
nssc < 3%RC • (9)
Неравенство (9) выполняется всегда, так как всегда nssc < nTRC •
Утверждение 4. С точки зрения сложности технической реализации более простым вариантом
m
_ 7 _
их множестве с контролем их по двум параметрам и m (mod 7) «свободных» выходов с контролем
их только по самодвойственности, чем выделение групп с пересечением подмножеств контролируемых выходов.
3. Коды Сяо с самодвойственными контрольными функциями
Из формулы (3) следует, что при перестановке столбцов в проверочной матрице для кода Сяо могут быть получены коды с различными формулами для вычисления проверочных символов кода.
К примеру, в табл. 2 приведено общее количество различных кодов Сяо с числом проверочных символов k = 5. Всего их 1 486 для данного k.
Таблица 2
Число кодов Сяо с к = 5
организации схемы встроенного контроля всегда является выделение
групп выходов на полном
m k Nk,m
5 5 462
6 5 462
7 5 330
8 5 165
9 5 55
10 5 11
11 5 1
Вернемся к работе [17], где отмечены особенности, присущие кодам, значения проверочных символов для которых формируются как свертки по модулю М = 2 значений заранее определенных информационных символов.
Лемма 1. Любая линейная булева функция является самодвойственной при нечетном числе аргументов.
Из леммы 1 непосредственно следует
Лемма 2. Проверочные символы кода Сяо будут описываться самодвойственными функциями при условии, что все они будут иметь нечетное число аргументов.
Рассмотрим матрицу (1).
Теорема. Коды Сяо с к = 5 проверочными символами, описываемыми самодвойственными булевыми функциями, могут быть построены только для следующего числа информационных символов: т = 5, 7 и 11.
Доказательство. Введем следующие обозначения: Е; - сумма единиц в строке I = 1,5 ; V - вектор-столбец с весом г е {3,5}; п0, П - число четных и число нечетных значений для конкретного
кода Сяо соответственно, при этом п° + П = к = 5 .
Из лемм 1 и 2 следует, что проверочные символы кода Сяо будут описываться самодвойственными контрольными функциями при условии El V/ или, что равнозначно, n°/nl = 0/5.
Из матрицы (1) следует, что для кода Сяо со значением m = 11 сумма единиц в каждой строке проверочной матрицы El = 7, / = 1,5 . Это случай n0/n1 = 0/5, соответствующий коду с самодвойственными контрольными функциями. Код при m = 11 может быть построен только один, так как Cm = С11 = 1 (mmax - максимальное число информационных символов, для которого к = 5).
Будем рассматривать коды Сяо, получаемые по матрице (1), удаляя по одному столбцу и анализируя каждый код с m = 10, 9, 8 и т.д. При этом с уменьшением значения m от 11 к 5 происходит увеличение числа способов построения кодов. Важным для выявления случаев, когда контрольные символы кода описываются самодвойственными булевыми функциями, является только нечетность El V/ или сочетание n0/n1 = 0/5, но не конкретное значение самих сумм единиц в строках образующей матрицы.
При получении матрицы для кода с m = 10 можно удалить вектор-столбец с весом r = 3 либо с весом r = 5. В первом случае совокупность n0/n1 будет равна 3/2. Во втором случае совокупность n0/n1 будет равна 5/0. Отсюда следует, что при m = 10 невозможно построить код Сяо, все проверочные символы которого описываются самодвойственными булевыми функциями.
Рассматривая следующий случай - m = 9, при удалении еще одного столбца из проверочной матрицы - получаем два варианта. Первый - удаление вектора-столбца с весом r = 3 после удаления на предыдущем этапе вектора-столбца с весом r = 5. В этом варианте сочетание сумм будет описываться совокупностью n0/n1 = 2/3. Второй вариант - удаление столбца с весом r = 3 либо с весом r = 5 после удаления на предыдущем этапе вектора с весом r = 3. При удалении вектора с весом r = 5 совокупность сумм становится равной n0/n1 = 2/3. Это случай, абсолютно аналогичный первому варианту. При удалении вектора с весом r = 3 совокупность сумм будет равна n0/n1 = 2/3 либо 4/1. Случай 0/5 исключен, так как для его достижения потребовалось бы удалить тот же самый вектор-столбец, что и на предыдущем этапе, при формировании кода для m = 10. Варианты переходов иллюстрируются рис. 1. При m = 9 невозможно построить код Сяо, все проверочные символы которого описываются самодвойственными булевыми функциями.
Все возможные переходы при дальнейшем удалении векторов-столбцов для формирования кодов Сяо со значениями m < 8 приведены на рис. 4.
Рис. 4. Дерево переходов Fig. 4. Transition tree graph
Каждая вершина графа соответствует сочетанию сумм строк образующей матрицы п°/п1. На дугах подписаны удаляемые векторы-столбцы. Зачеркнуты невозможные переходы. Выделены те вершины, которые соответствуют единственному случаю сочетаний сумм п0/п1 для получения кодов Сяо, все проверочные символы которых описываются самодвойственными булевыми функциями.
Из рис. 4 становится ясным, что построить код Сяо, все проверочные символы которого описываются самодвойственными булевыми функциями, можно только при т = 11, 7 и 5, что и требовалось доказать.
Из теоремы следует, что кодеры некоторых кодов Сяо со значениями т = 11, 7 и 5 являются самодвойственными устройствами. Полный перебор вариантов кодообразования показал, что из 1 486 кодов Сяо всего 52 кода (3,5%) будут обладать самодвойственными функциями, описывающими контрольные разряды. Среди них 27 кодов с т = 5 (5,8% кодов с т = 5), 24 кода с т = 7 (7,3% кодов с т = 7) и 1 код с т = 11 (100% кодов с т = 11). В табл. 3, 4 приведены все проверочные матрицы для кодов Сяо с т = 5 и 7 с самодвойственными контрольными функциями (вверху над матрицей записана последовательность десятичных чисел, соответствующих двоичным числам, записанным в столбцах). Единственный код Сяо с т = 11 строится по матрице (1), его проверочные символы описываются самодвойственными булевыми функциями.
Таблица 3
Проверочные матрицы для кодов Сяо с т = 5 с самодвойственными контрольными функциями
7 - 11 - 21 - 25 - 31 7 - 11 - 21 - 26 - 38 7 - 11 - 22 - 25 - 28 7 - 11 - 22 26 - 31
' 0 0 1 1 ^ с 0 0 1 1 11 с 0 0 1 1 11 ' 0 0 1 1 11
0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1
1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1
V1 1 1 1 1 V1 1 1 0 V1 1 0 1 0У V 1 1 0 0 Ъ
7 - 13 - 19 25 - 31 7 - 13 19 26 - 28 7 - 13 - 22 - 25 - 26 7 - 13 - 22 28 - 31
' 0 0 1 1 11 с 0 0 1 1 11 с 0 0 1 1 11 ' 0 0 1 1 11
0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1
1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1
V1 1 1 1 1 V1 1 1 0 V1 1 0 1 0У V 1 1 0 0 Ъ
7 - 14 - 19 - 25 - 28 7 - 14 19 26 - 31 7 - 14 - 21 - 25 - 26 7 - 14 - 21 - 28 - 31
^0 0 1 1 1Л ( 0 0 1 1 11 с 0 0 1 1 11 с 0 0 1 1 11
0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1
1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1
V1 0 1 1 0 У V 1 0 1 0 1 V1 0 1 1 0У V1 0 1 0 ^
11 - 13 - 19 - 21 - 31 11 - 13 - 19 - 22 - 28 11 - 13 - 21 - 22 - 26 11 - 13 - 26 - 28 - 31
' 0 0 1 1 11 с 0 0 1 1 11 с 0 0 1 1 11 ' 0 0 1 1 11
1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1
0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1
1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1
V1 1 1 1 1 V1 1 1 0 „1 1 1 0 0, V1 1 0 0 1
11 - 14 - 19 - 21 - 28 11 - 14 - 19 - 22 - 31 11 - 14 - 21 - 22 - 25 11 - 14 - 25 - 28 - 31
с 0 0 1 1 1Л ( 0 0 1 1 11 с 0 0 1 1 11 ' 0 0 1 1 11
1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1
0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1
1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1
V1 0 1 1 0 V 1 0 1 0 1 „1 0 1 0 1 у V1 0 1 0 1
Окончание табл. 3
13 - 14 - 19 - 21 - 26 13 - 14 - 19 - 22 - 25 13 - 14 - 21 - 22 - 31 13 - 14 - 25 - 26 - 31
с 0 0 11 1 1 с 0 0 1 1 1 0 0 1 1 С 0 0 1 1 11
1 1 00 1 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1
1 1 01 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1
0 1 10 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1
V1 0 11 0 У V1 0 1 0 1 V1 0 1 0 ъ V1 0 1 0 ъ
19 - 21 - 26 - 28 31 19 - 22 - 25 - 28 - 31 21 - 22 - 25 - 26 - 31
с 1 1 1 1 - 1 1 1 1 1 с 1 1 1 1 1>
0 0 1 1 1 0 0 1 1 1 0 0 111
0 1 0 1 1 0 1 0 1 1 1 1 0 0 1
1 0 1 0 1 1 1 0 0 1 0 1 0 1 1
11 1 0 0 Ъ 1 0 1 0 1 У V1 0 1 0 1У
Таблица 4
Проверочные матрицы для кодов Сяо с т = 7 с самодвойственными контрольными функциями
7 - 11 - 13 - 14 - 19 - 21 - 22 7 - 11 - 13 - 14 - 19 - 25 - 26 7 - 11 - 13 - 14 - 19 - 28 - 31
с 0 00 0 1 1 1 1 с 0 00 0 1 1 1 1 с 0 00 0 1 1 11
0 11 1 0 0 0 0 11 1 0 1 1 0 11 1 0 1 1
1 01 1 0 1 1 1 01 1 0 0 0 1 01 1 0 1 1
1 10 1 1 0 1 1 10 1 1 0 1 1 10 1 1 0 1
V1 11 0 1 1 0У V1 11 0 1 1 0У .1 11 0 1 0 Ъ
7 - 11 - 13 - 14 - 21 - 26 - 31 7 - 11 - 13 - 14 22 - 25 - 31 7 - 11 - 13 - 14 - 22 - 26 - 28
с 0 00 0 1 1 ^ с0 00 0 1 1 11 0 00 0 1 1 11
0 11 1 0 1 1 0 11 1 0 1 1 0 11 1 0 1 1
1 01 1 1 0 1 1 01 1 1 0 1 1 01 1 1 0 1
1 10 1 0 1 1 1 10 1 1 0 1 1 10 1 1 1 0
V1 11 0 1 0 1 .1 11 0 0 1 1 1 11 0 0 0 0У
7 - 11 - 19 - 21 - 22 - 25 - 26 7 - 11 - 13 - 14 - 19 - 25 - 26 7 - 11 - 13 - 14 - 19 - 28 - 31
с 0 01 1 1 1 1 1 с0 01 1 1 1 11 с 0 01 1 1 1 11
0 10 0 0 1 1 0 10 0 0 1 1 0 10 0 1 1 1
1 00 1 1 0 0 1 00 1 1 1 1 1 00 1 0 1 1
1 11 0 1 0 1 1 11 0 1 0 1 1 11 0 1 0 1
V1 11 1 0 1 0У V 1 11 1 0 0 1У V 1 11 1 0 0 Ъ
7 - 13 - 19 - 21 - 22 - 25 - 28 7 - 13 - 19 - 21 22 - 26 - 31 7 - 13 - 21 - 25 - 26 - 28 - 31
с 0 01 1 1 1 1 1 с0 01 1 1 1 11 с 0 01 1 1 1 11
0 10 0 0 1 1 0 10 0 0 1 1 0 10 1 1 1 1
1 10 1 1 0 1 1 10 1 1 0 1 1 11 0 0 1 1
1 01 0 1 0 0 1 01 0 1 1 1 1 00 0 1 0 1
V1 11 1 0 1 0У .1 11 1 0 0 1 .1 11 1 0 0 Ъ
7 - 14 - 19 - 21 - 22 - 25 - 31 7 - 14 - 19 - 21 22 - 26 - 28 7 - 14 - 22 - 25 - 26 - 28 - 31
с 0 01 1 1 1 11 с 0 01 1 1 1 11 с 0 01 1 1 1 11
0 10 0 0 1 1 0 10 0 0 1 1 0 10 1 1 1 1
1 10 1 1 0 1 1 10 1 1 0 1 1 11 0 0 1 1
1 11 0 1 0 1 1 11 0 1 1 0 1 11 0 1 0 1
V 1 01 1 0 1 1 V1 01 1 0 0 0У V 1 00 1 0 0 Ъ
11 - 13 - 19 - 21 - 25 - 26 - 28 11 - 13 - 19 - 22 - 25 - 26 - 31 11 - 13 - 21 - 22 25 - 28 - 31
с 0 01 1 1 1 1 1 с 0 01 1 1 1 11 с 0 01 1 1 1 11
1 10 0 1 1 1 1 10 0 1 1 1 1 10 0 1 1 1
0 10 1 0 0 1 0 10 1 0 0 1 0 11 1 0 1 1
1 01 0 0 1 0 1 01 1 0 1 1 1 00 1 0 0 1
,1 11 1 1 0 0У V 1 11 0 1 0 1 V 1 11 0 1 0 Ъ
Окончание табл. 3
11 14 - 19 - 21 - 25 - 26 31 11 - 14 - 19 - 22 - 25 - 26 - 28 11 - 14 - 21 - 22 - 26 - 28 - 31
Г0 01 1 1 1 1> Г 0 01 1 11 11 Г 0 01 1 11 11
1 10 0 1 1 1 1 10 0 11 1 1 10 0 11 1
0 10 1 0 0 1 0 10 1 00 1 0 11 1 01 1
1 11 0 0 1 1 1 11 1 01 0 1 10 1 10 1
11 01 1 1 0 Ъ V1 01 0 10 0 , V1 01 0 00 J
13 14 - 19 - 21 - 25 - 28 31 13 - 14 - 19 - 22 - 26 - 28 - 31 13 - 14 - 21 - 22 - 25 - 26 - 28
Г 0 01 1 1 1 11 Г 0 01 1 11 11 г 0 01 1 11 11
1 10 0 1 1 1 1 10 0 11 1 1 10 0 11 1
1 10 1 0 1 1 1 10 1 01 1 1 11 1 00 1
0 11 0 0 0 1 0 11 1 10 1 0 10 1 01 0
V1 01 1 1 0 ъ V1 01 0 00 Ъ V1 01 0 10 0 ,
Могут быть установлены и условия формирования кодов Сяо с самодвойственными контрольными функциями и с большим числом контрольных разрядов.
Таким образом, для кодов Сяо, проверочные матрицы которых приведены в табл. 3, 4, могут быть построены аналоги структур рис. 1, 2, позволяющие организовать схемы встроенного контроля по двум диагностическим параметрам. Анализ показывает, что кодами Сяо обнаруживаются любые одно-, двух- и трехкратные искажения в информационных и проверочных символах, что говорит о высоких диагностических способностях кода. Дополнительный контроль самодвойственности также повышает обнаруживающие характеристики схемы встроенного контроля.
5. Моделирование самодвойственных устройств
В качестве тестовой схемы была выбрана представленная на рис. 5 комбинационная схема с семью выходами и пятью входами. Данная схема разработана специально для тестирования новых методов технической диагностики в процессе подготовки программных средств для контрольных экспериментов. Схема является несамодвойственной и содержит 19 логических элементов. Она полностью реализована в базисе NOR (ИЛИ-НЕ).
Рис. 5. Тестовая несамодвойственная схема Fig. 5 Test Non-Self-Dual circuit
Предварительно схема рис. 5 была преобразована в самодвойственную путем использования метода замены логических элементов самодвойственными аналогами, которые приведены, например, в [27. § 9.10.2]. Такой метод основан на утверждении о том, что любую булеву функцию можно преобразовать в самодвойственную с использованием только одной переменной - альтернативного сигнала а [20, 21]:
/ж = а/ V ag, (10)
где/ - исходная функция, а g - двойственная к ней функция.
Выход самодвойственного аналога отождествлялся с выходом исходного логического элемента. Рассматривались только неисправности выходного каскада каждого альтернативного логического элемента (неисправности предыдущих каскадов так или иначе проявляются на выходе элемента последнего каскада).
Особенности реализации самодвойственных цифровых устройств описаны нами в [17] и здесь не приведены.
Таблица 5
Результаты тестирования неисправности типа зШек-аМ элемента и7
Номер пары aX1X2X3X4X5 TRC7 0/1 TRC8 0/1 TRC9 0/1
1 000000 1/0 1/1 1/1
111111 1/1 1/0 1/1
2 000001 1/0 1/0 0/1
111110 0/1 0/1 0/1
3 000010 1/0 0/1 1/0
111101 1/1 1/1 1/1
4 000011 1/0 1/1 1/1
111100 1/1 1/0 1/1
5 000100 1/0 1/0 0/1
111011 1/1 1/1 1/1
6 000101 1/0 1/1 1/1
111010 1/1 1/0 1/1
7 000110 1/0 0/1 1/0
111001 1/1 1/1 1/1
8 000111 1/0 1/1 1/1
111000 1/1 1/0 1/1
9 001000 1/0 1/1 1/1
110111 1/1 0/1 1/1
10 001001 1/0 0/0 0/0
110110 0/0 0/1 0/0
11 001010 1/0 1/0 0/1
110101 1/1 1/1 1/1
12 001011 1/0 1/1 1/1
110100 1/1 1/0 1/1
13 001100 1/0 0/1 1/0
110011 1/1 1/1 1/1
14 001101 1/0 0/0 0/0
110010 0/0 0/1 0/0
15 001110 1/0 0/1 1/0
110001 1/1 1/1 1/1
16 001111 1/0 1/1 1/1
110000 1/1 0/1 1/1
Номер пары aX1X2X3X4X5 TRC7 0/1 TRC8 0/1 TRC9 0/1
17 010000 1/0 1/1 1/1
101111 1/1 0/1 1/1
18 010001 1/0 0/0 0/0
101110 0/0 0/1 0/0
19 010010 1/0 0/1 0/1
101101 1/1 1/1 1/1
20 010011 1/0 1/1 1/1
101100 1/1 0/1 1/1
21 010100 1/0 0/1 1/0
101011 1/1 1/1 1/1
22 010101 1/0 0/0 0/0
101010 0/0 0/1 0/0
23 010110 1/0 0/1 1/0
101001 1/1 1/1 1/1
24 010111 1/0 1/1 1/1
101000 1/1 0/1 1/1
25 011000 1/0 1/1 1/1
100111 1/1 0/1 1/1
26 011001 1/0 0/0 0/0
100110 0/0 0/1 0/0
27 011010 1/0 1/0 0/1
100101 1/1 1/1 1/1
28 011011 1/0 1/1 1/1
100100 1/1 1/0 1/1
29 011100 1/0 0/1 1/0
100011 1/1 1/1 1/1
30 011101 1/0 0/0 0/0
100010 0/0 0/1 0/0
31 011110 1/0 0/1 1/0
100001 1/1 1/1 1/1
32 011111 1/0 1/1 1/1
100000 1/1 0/1 1/1
В схему последовательно вносились все одиночные константные неисправности внутренних логических элементов, за исключением элементов выходного каскада. Таким образом, вносилось 24 неисправности для 12 элементов из множества и, / е {1, 2,..., 12}. Данные элементы связаны путями с числом выходов от 1 до 5, что вызывает на выходах тестовой схемы ошибки с кратностями
d е |1, 2,..., 5|. Для каждой неисправности фиксировалось количество тестовых пар, а также количество тестовых комбинаций при подаче на входы полного множества входных комбинаций. Входные комбинации генерировались попарно. В табл. 5 представлены результаты тестирования одной неисправности - неисправности stuck-at-1 элемента U7 в схеме. Данный элемент связан путями с пятью выходами (см. рис. 4), а его неисправности могут приводить к ошибкам различных видов (по числу искажений нулевых и единичных сигналов) и кратностей.
На рис. 6 приведены временные диаграммы на выходах контрольных устройств схемы встроенного контроля, реализованной по структуре рис. 1. Входные комбинации 0X1X2X3X4X5 подаются парами: (000000, 111111), (000001, 111110), ..., (011111, 100000). Это позволяет реализовать импульсный режим работы структуры. В табл. 5 приведены данные о числе тестовых пар и комбинаций для рассматриваемой неисправности на выходах в трех контрольных точках - выходах подсхемы контроля самодвойственности (выходы элемента TRCj), выходах подсхемы контроля принадлежности кодовых слов коду Сяо (выходы элемента TRCs), выходах «последнего сторожа» в схеме контроля (выходы элемента TRC9). Цветом выделены те значения выходных сигналов, на которых нарушена парафазность, что является сигналом ошибки. Также на рис. 6 для наглядности точками отмечены те такты, на которых неисправность тестируется в выбранных контрольных точках. При контроле только по параметру самодвойственности либо только по параметру принадлежности к коду Сяо 31 комбинация из 64 является тестовой. При контроле по двум параметрам 50 комбинаций из 64 являются тестовыми. Другими словами, доля тестовых комбинаций от общего числа комбинаций, подаваемых на входы устройства, увеличилась с 48,437 до 78,125%.
Рис. 6. Временная диаграмма на выходах контрольных устройств при внесении в тестовую схему неисправности stuck-at-1 на выходе элемента U7 Fig. 6. Temporal diagram at the outputs of control devices when into the test circuit is introduced fault stuck-at-1 at the output of gate U7
В табл. 6 занесены данные о числе тестовых пар и комбинаций для всех неисправностей на выходах в трех контрольных точках: выходах элемента TRC7, выходах элемента TRCs, выходах элемента TRC9:
- показатель Np, j е {7, 8, 9} - число тестовых пар;
- показатель Nj, j е {7, 8,9} - число тестовых комбинаций;
- показатель у ., j е {7, 8, 9} - доля тестовых пар от общего числа подаваемых на входы пар Nmax :
у. = 100% •
NP
Np
max
, j 47,8,9};
(11)
- показатель ю., ] е {7,8,9} - доля тестовых комбинаций от общего числа подаваемых на входы комбинаций N.
Nt
ю. = 100%• —., j е{7,8,9}. (12)
Таблица 6
N
L * max
Характеристики обнаружения ошибок на выходах тестовой схемы
№ Неисправность Np Np N9P N7 N8 n9 Y7 Y8 Y9 Ю7 Ю8 Ю9
1 stuck-at-0 U1 20 20 20 20 20 28 62,5 62,5 62,5 31,25 31,25 43,75
2 stuck-at-1 U1 20 20 20 20 20 32 62,5 62,5 62,5 31,25 31,25 50
3 stuck-at-0 U2 28 28 28 28 28 35 87,5 87,5 87,5 43,75 43,75 54,687
4 stuck-at-1 U2 28 28 28 28 28 49 87,5 87,5 87,5 43,75 43,75 76,562
5 stuck-at-0 U3 32 32 32 32 32 40 100 100 100 50 50 62,5
6 stuck-at-1 U3 32 32 32 32 32 56 100 100 100 50 50 87,5
7 stuck-at-0 U4 24 24 24 24 24 33 75 75 75 37,5 37,5 51,562
8 stuck-at-1 U4 24 24 24 24 24 39 75 75 75 37,5 37,5 60,937
9 stuck-at-0 U5 24 24 24 24 24 33 75 75 75 37,5 37,5 51,562
10 stuck-at-1 U5 24 24 24 24 24 39 75 75 75 37,5 37,5 60,937
11 stuck-at-0 U6 12 12 12 12 12 15 37,5 37,5 37,5 18,75 18,75 23,437
12 stuck-at-1 U6 12 12 12 12 12 21 37,5 37,5 37,5 18,75 18,75 32,812
13 stuck-at-0 U7 31 31 31 31 31 43 96,875 96,875 96,875 48,437 48,437 67,187
14 stuck-at-1 U7 31 31 31 31 31 50 96,875 96,875 96,875 48,437 48,437 78,125
15 stuck-at-0 U8 24 24 24 24 24 39 75 75 75 37,5 37,5 60,937
16 stuck-at-1 U8 24 24 24 24 24 33 75 75 75 37,5 37,5 51,562
17 stuck-at-0 U9 32 32 32 32 32 44 100 100 100 50 50 68,75
18 stuck-at-1 U9 32 32 32 32 32 52 100 100 100 50 50 81,25
19 stuck-at-0 U10 28 28 28 28 28 35 87,5 87,5 87,5 43,75 43,75 54,687
20 stuck-at-1 U10 28 28 28 28 28 49 87,5 87,5 87,5 43,75 43,75 76,562
21 stuck-at-0 U11 24 24 24 24 24 39 75 75 75 37,5 37,5 60,937
22 stuck-at-1 U11 24 24 24 24 24 33 75 75 75 37,5 37,5 51,562
23 stuck-at-0 U12 29 29 29 29 29 47 90,625 90,625 90,625 45,312 45,312 73,437
24 stuck-at-1 U12 29 29 29 29 29 40 90,625 90,625 90,625 45,312 45,312 62,5
Средние значения 26 26 26 26 26 39 80,208 80,208 80,208 40,104 40,104 60,156
100 90 80 70 60 50 40 30 20 10 0
t \ ,<\ / \
/ ч>' 1
'О.
/■О
0 ч О 1 / \ / \
У \ / \ I \ ' УЧ
/ ^ / V / 0 /о-о Чо'4 о'
' Г \ / -Л-n. ,0~0
\ Л
О U ' " ' 1
.JO--Q .
о—а' \ >
/ <0—О—0--Q \ ' / О—о' чх>—О'
-О' \\ Р/
V / а „о
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Номер неисправности —О— ю7, ю8 - - О- - ю9
Рис. 7. Графическое изображение показателей Ю7, Ю8, Ю9 для различн^1х неисправностей тестовой схемы Fig. 7. Graphical representation of indicators Ю7, Ю8, Ю9 for various test circuit faults
В последней строке табл. 6 даны усредненные значения для всех 24 неисправностей тестовой схемы. Отметим, что свыше 80% подаваемых на входы пар комбинаций оказались тестовыми для рассматриваемой неисправности. Если выделить только тестовые комбинации в каждой паре, то можно отметить, что в среднем при контроле только по одному диагностическому параметру чуть более 40% входных комбинаций оказываются тестовыми, контроль же по двум параметрам приводит к увеличению значения этого показателя примерно в 1,5 раза - свыше 60% входных комбинаций оказываются в среднем тестовыми. При этом для ряда неисправностей доля тестовых комбинаций оказывается даже выше 75% (stuck-at-1 U2, stuck-at-1 U3, stuck-at-1 U7 и stuck-at-1 U9, stuck-at-1 U10). Рисунок 7 наглядно показывает, как возрастает число тестовых комбинаций при переходе к контролю вычислений по двум рассматриваемым диагностическим параметрам.
Приведенные результаты эксперимента с тестовой схемой демонстрируют повышение контролепригодности схемы встроенного контроля и позволяют судить об эффективности предлагаемого метода организации контроля вычислений.
Заключение
Сочетание двух диагностических параметров при синтезе цифровых вычислительных устройств позволяет значительно повышать показатели контролепригодности. При этом эффективным оказывается использование кодов с нечетными весами столбцов в проверочной матрице, или кодов Сяо. Такие коды, как показывают исследования, обнаруживают любые одно-, двух- и трехкратные искажения в информационных и проверочных символах, а при определенных правилах построения к тому же характеризуются свойством самодвойственности контрольных функций - функций, описывающих проверочные символы. Таким образом, число тестовых комбинаций среди полного множества рабочих воздействий увеличивается при организации систем рабочего диагностирования с контролем вычислений по двум обозначенным выше параметрам.
Повышение показателей контролепригодности достигается фактически за счет использования временной и структурной избыточности, что требует импульсного представления сигналов в системе. Таким образом, в качестве недостатка отметим, что в реализуемом самопроверяемом устройстве несколько снижается быстродействие, что является ценой за улучшение обнаруживающих свойств.
Описанный в статье подход к построению самопроверяемых устройств расширяет множество способов синтеза высоконадежных и безопасных вычислительных систем. При этом достигается повышение числа рабочих комбинаций, которые одновременно являются и тестовыми для устройства, что особенно важно, например, при решении задач синтеза систем критического действия, в которых входные данные меняются не столь часто [29-31].
Список источников
1. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco : Morgan Kaufmann Publishers, 2001. 216 p.
2. Fujiwara E. Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons, 2006, 720 p.
3. Göessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking. 1st ed. Dordrecht : Springer
Science+Business Media B.V., 2008. 184 p.
4. Дрозд А.В., Харченко В.С., Антощук С.Г., Дрозд Ю.В., Дрозд М.А., Сулима Ю.Ю. Рабочее диагностирование безопасных
информационно-управляющих систем / под ред. А.В. Дрозда, В.С. Харченко. Харьков : Нац. аэрокосмический ун-т им. Н.Е. Жуковского «ХАИ», 2012. 614 с.
5. Matrosova A., Chernyshov S., Goshin G., Kudin D. Forming Patch Functions and Combinational Circuit Rectification // Proc.
of 16th IEEE East-West Design & Test Symposium (EWDTS'2018), Kazan, Russia, September 14-17, 2018. P. 726-730. doi: 10.1109/EWDTS.2018.8524780
6. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Теория синтеза самопроверяемых цифровых систем на основе кодов
с суммированием. СПб. : Лань, 2021. 580 с.
7. Hamming R.W. Error Detecting and Correcting Codes // Bell System Technical Journal. 1950. V. 29 (2). P. 147-160.
8. Nikitin D., Manakov A., Nikitin A., Popov P., Kotenko A. Automatic Locomotive Signalization System Modification with
Weight-Based Sum Codes // Proc. of 15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. P. 332-336. doi: 10.1109/EWDTS.2017.8110099
9. Ефанов Д.В., Блюдов А.А. Повышение надежности датчиков контроля положения железнодорожных стрелок // Известия
Петербургского университета путей сообщения. 2014. № 3. С. 69-77.
10. Согомонян Е.С., Слабаков Е.В. Самопроверяемые устройства и отказоустойчивые системы. М. : Радио и связь, 1989. 208 с.
11. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Коды Хэмминга в системах функционального контроля логических устройств. СПб. : Наука, 2018. 151 с.
12. Тельпухов Д.В., Жукова Т.Д., Щелоков А.Н., Кретинина П.Д. Применение кода Хэмминга в задаче повышения сбое-устойчивости комбинационных схем // Известия ЮФУ. Технические науки. 2021. № 4 (221). С. 220-231. doi: 10.18522/23113103-2021-4-220-231
13. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Особенности применения кодов Хэмминга при организации самопроверяемых схем встроенного контроля // Известия вузов. Приборостроение. 2018. Т. 61, № 1. С. 47-59. doi: 10.17586/00213454-2018-61-1-47-59
14. Ефанов Д.В., Пивоваров Д.В., Осадчий Г.В., Зуева М.В. Организация самопроверяемых цифровых устройств по методу логического дополнения с применением кодов Хэмминга // Проблемы разработки перспективных микро- и наноэлек-тронных систем (МЭС). 2022. № 1. С. 43-49. doi: 10.31114/2078-7707-2022-1-43-49
15. Ефанов Д.В., Пивоваров Д.В., Осадчий Г.В., Зуева М.В. Применение кодов с эффективным обнаружением ошибок в области малой кратности при синтезе схем встроенного контроля по методу логического дополнения // Информационные технологии. 2022. Т. 28, № 6. С. 283-293. doi: 10.17587/it.28.283-293
16. Tshagharyan G., Harutyunyan G., Shoukourian S., Zorian Y. Experimental Study on Hamming and Hsiao Codes in the Context of Embedded Applications // Proc. of 15th IEEE East-West Design & Test Symposium (EWDTS'2017), Novi Sad, Serbia, September 29 - October 2, 2017. P. 25-28. doi: 10.1109/EWDTS.2017.8110065
17. Ефанов Д.В., Погодина Т.С. Самодвойственный контроль комбинационных схем с применением кодов Хэмминга // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2022. № 3. С. 113-122. doi: 10.31114/2078-7707-2022-3-113-122.
18. Hsiao M.Y. A Class of Optimal Minimum Odd-Weight-Column SEC-DED Codes // IBM Journal of Research and Development. 1970. V. 14, is. 4. P. 395-401. doi: 10.1147/rd.144.0395
19. Reynolds D.A., Meize G. Fault Detection Capabilities of Alternating Logic // IEEE Transactions on Computers. 1978. V. C-27, is. 12. P. 1093-1098. doi: 10.1109/TC.1978.1675011
20. Аксенова Г.П. Восстановление в дублированных устройствах методом инвертирования данных // Автоматика и телемеханика. 1987. № 10. С. 144-153.
21. Гессель М., Мошанин В.И., Сапожников В.В., Сапожников Вл.В. Обнаружение неисправностей в самопроверяемых комбинационных схемах с использованием свойств самодвойственных функций // Автоматика и телемеханика. 1997. № 12. С. 193-200.
22. Гессель М., Дмитриев А.В., Сапожников В.В., Сапожников Вл.В. Самотестируемая структура для функционального обнаружения отказов в комбинационных схемах // Автоматика и телемеханика. 1999. № 11. С. 162-174.
23. Гессель М., Дмитриев А.В., Сапожников В.В., Сапожников Вл.В. Обнаружение неисправностей в комбинационных схемах с помощью самодвойственного контроля // Автоматика и телемеханика. 2000. № 7. С. 140-149.
24. Гессель М., Морозов А.А., Сапожников В.В., Сапожников Вл.В. Построение самопроверяемых комбинационных схем на основе свойств самодвойственных функций // Автоматика и телемеханика. 2000. № 2. С. 151-163.
25. Сапожников В.В., Сапожников Вл.В., Гессель М. Самодвойственные дискретные устройства. СПб. : Энергоатомиздат, С.-Петерб. отд-ние, 2001. 331 с.
26. Сапожников В.В., Сапожников Вл.В., Валиев Р.Ш. Синтез самодвойственных дискретных систем. СПб. : Элмор, 2006. 220 с.
27. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Основы теории надежности и технической диагностики. СПб. : Лань, 2019. 588 с.
28. Сапожников В.В., Сапожников В.В. Самопроверяемые дискретные устройства. СПб. : Энергоатомиздат, 1992. 224 с.
29. Drozd O., Antoniuk V., Nikul V., Drozd M. Hidden Faults in FPGA-Built Digital Components of Safety-Related Systems // Proc. of the 14th International Conference "TCSET'2018, Lviv-Slavsko, Ukraine, 2018. P. 805-809. doi: 10.1109/TCSET.2018.8336320
30. Сапожников Вл.В. Синтез систем управления движением поездов на железнодорожных станциях с исключением опасных отказов. М. : Наука, 2021. 229 с.
31. Drozd O., Rucinski A., Zascholkin K., Martynyuk O., Drozd J. Resilient Development of Models and Methods in Computing Space // Proc. of 19th IEEE East-West Design & Test Symposium (EWDTS'2021). Batumi, Georgia, September 10-13, 2021. P. 70-75. doi: 10.1109/EWDTS52692.2021.9581002
References
1. Lala, P.K. (2001) Self-Checking and Fault-Tolerant Digital Design. San Francisco: Morgan Kaufmann Publishers.
2. Fujiwara, E. (2006) Code Design for Dependable Systems: Theory and Practical Applications. John Wiley & Sons.
3. Goessel, M., Ocheretny, V., Sogomonyan, E. & Marienfeld, D. (2008) New Methods of Concurrent Checking: Edition 1.
Dordrecht: Springer Science+Business Media B.V.
4. Drozd, A.V., Kharchenko, V.S., Antoshchuk, S.G., Drozd, Yu.V., Drozd, M.A. & Sulima, Yu.Yu. (2012) Rabochee diagnostiro-
vanie bezopasnykh informatsionno-upravlyayushchikh sistem [Working Diagnostics of Safe Information and Control Systems]. Kharkov: N.E. Zhukovsky National Aerospace University "KAI".
5. Matrosova, A., Chernyshov, S., Goshin, G. & Kudin, D. (2018) Forming Patch Functions and Combinational Circuit Rectification.
Proceedings of 16th IEEE East-West Design & Test Symposium (EWDTS'2018). Kazan, Russia. September 14-17. pp. 726-730. DOI: 10.1109/EWDTS.2018.8524780
6. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2021) Teoriya sinteza samoproveryaemykh tsifrovykh sistem na osnove
kodov s summirovaniem [Theory of Synthesis of Self-Checking Digital Systems Based on Sum Codes]. St. Petersburg: Lan'.
7. Hamming, R.W. (1959) Error Detecting and Correcting Codes. Bell System Technical Journal. 29(2). pp. 147-160.
8. Nikitin, D., Manakov, A., Nikitin A., Popov, P. & Kotenko, A. (2017) Automatic Locomotive Signalization System Modification
with Weight-Based Sum Codes. Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017). Novi Sad. Serbia. September 29 - October 2. pp. 332-336. DOI: 10.1109/EWDTS.2017.8110099
9. Efanov, D.V. & Blyudov, A.A. (2014) Increasing the Reliability of Position Sensors of Railway Points. Izvestiya Peterburgskogo
universiteta putey soobshcheniya - Proceedings of Petersburg Transport University. 3. pp. 69-77.
10. Sogomonyan, E.S. & Slabakov, E.V. (1989) Samoproveryaemye ustroystva i otkazoustoychivye sistemy [The Self-Checked Devices and Failure-Safe Systems]. Moscow: Radio i svyaz'.
11. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2018) Kody Khemminga v sistemakh funktsional'nogo kontrolya logicheskikh ustroystv [Hamming Codes in Concurrent Error Detection Systems of Logic Devices]. St. Petersburg: Nauka.
12. Telpukhov, D.V., Zhukova, T.D., Schelokov, A.N. & Kretinina, P.D. (2021) Application of the Hamming Code in the Problem of Increasing Fault Tolerance of Logic Circuits. Izvestiya YuFU. Tekhnicheskie nauki. 4(221). pp. 220-231. DOI: 10.18522/2311-3103-2021 -4-220-231
13. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2018) Features of Hamming Codes Application in Self-Checking Test Circuit Organization. Izvestiya vuzov. Priborostroenie - Journal of Instrument Engineering. 61(1). pp. 47-59. DOI: 10.17586/0021-3454-2018-61-1-47-59
14. Efanov, D.V., Pivovarov, D.V., Osadchy, G.V. & Zueva, M.V. (2022) Self-checking Digital Devices Organization by Boolean Complement Method with Hamming Codes. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) -Problems of Advanced Micro- and Nanoelectronic Systems Development (MES). 1. pp. 43-49. DOI: 10.31114/2078-7707-20221-43-49
15. Efanov, D.V., Pivovarov, D.V., Osadchy, G.V. & Zueva, M.V. (2022) Application of Codes with Low Multiplicity Errors Efficient Detection for the Concurrent Error-Detection Circuit Synthesis by the Boolean Complement Method. Informatsionnye tekhnologii - Information Technologies. 28(6). pp. 283-293. DOI: 10.17587/it.28.283-293
16. Tshagharyan, G., Harutyunyan, G., Shoukourian, S. & Zorian, Y. (2017) Experimental Study on Hamming and Hsiao Codes in the Context of Embedded Applications. Proceedings of 15th IEEE East-West Design & Test Symposium (EWDTS'2017). Novi Sad. Serbia. September 29 - October 2. pp. 25-28. DOI: 10.1109/EWDTS.2017.8110065
17. Efanov, D.V. & Pogodina, T.S. (2022) Self-Dual Control of Combinational Circuits with Using Hamming Codes. Problems of Advanced Micro- and Nanoelectronic Systems Development (MES). 3. pp. 113-122. DOI: 10.31114/2078-7707-2022-3113-122
18. Hsiao, M.Y. (1970) A Class of Optimal Minimum Odd-Weight-Column SEC-DED Codes. IBM Journal of Research and Development. 14(4). pp. 395-401. DOI: 10.1147/rd.144.0395
19. Reynolds, D.A. & Meize, G. (1978) Fault Detection Capabilities of Alternating Logic. IEEE Transactions on Computers. C-27(12). pp. 1093-1098. DOI: 10.1109/TC.1978.1675011
20. Aksenova, G.P. (1987) Vosstanovlenie v dublirovannykh ustroystvakh metodom invertirovaniya dannykh [Restoration in Duplicated Units by the Method of Data Inversion]. Automation and Remote Control. 10. pp. 144-153.
21. Göessel, M., Moshanin, V.I., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1997) Fault Detection in Self-Test Combination Circuits Using the Properties of Self-Dual Functions. Automation and Remote Control. 12. pp. 193-200.
22. Göessel, M., Dmitriev. A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1999) A Functional Fault-Detection Self-Test for Combinational Circuits. Automation and Remote Control. 11. pp. 162-174.
23. Göessel, M., Dmitriev, A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2000) Detection of Faults in Combinational Circuits by a Self-Dual Test. Automation and Remote Control. 7. pp. 140-149.
24. Göessel, M., Morozov, A.A., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2000) Self-Testing Combinational Circuits: Their Design Through the Use of the Properties of Self-Dual Functions. Automation and Remote Control. 2. pp. 151-163.
25. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Göessel M. (2001) Samodvoystvennye diskretnye ustroystva [Self-dual Digital Devices]. St. Petersburg: Energoatomizdat.
26. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Valiev, R.Sh. (2006) Sintez samodvoystvennykh diskretnykh sistem [Synthesis of Self-Dual Digital Systems]. St. Petersburg: Elmor.
27. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2019) Osnovy teorii nadezhnosti i tekhnicheskoy diagnostiki [Fundamentals of the Theory of Reliability and Technical Diagnostics]. St. Petersburg: Lan'.
28. Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (1992) Samoproveryaemye diskretnye ustroystva [Self-Checked Discrete Devices]. St. Petersburg: Energoatomizdat.
29. Drozd, O., Antoniuk, V., Nikul, V. & Drozd, M. (2018) Hidden Faults in FPGA-Built Digital Components of Safety-Related Systems. Proceedings of the 14th International Conference "TCSET'2018. Lviv-Slavsko. Ukraine. pp. 805-809. DOI: 10.1109/TCSET.2018.8336320
30. Sapozhnikov, Vl.V. (2021) Sintez sistem upravleniya dvizheniem poezdov na zheleznodorozhnykh stantsiyakh s isklyucheniem opasnykh otkazov [Synthesis of train traffic control system at railway stations with the exception of dangerous failures]. Moscow: Nauka.
31. Drozd, O., Rucinski, A., Zascholkin, K., Martynyuk, O. & Drozd, J. (2021) Resilient Development of Models and Methods in Computing Space. Proceedings of 19th IEEE East-West Design & Test Symposium (EWDTS'2021). Batumi. Georgia. September 10-13. pp. 70-75. DOI: 10.1109/EWDTS52692.2021.9581002
Информация об авторах:
Ефанов Дмитрий Викторович - доцент, доктор технических наук, действительный член Международной Академии транспорта, член Института инженеров электротехники и электроники (IEEE), профессор Высшей школы транспорта Института машиностроения, материалов и транспорта Санкт-Петербургского политехнического университета Петра Великого (СПбПУ Петра Великого) (Санкт-Петербург, Россия); профессор кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте» Российского университета транспорта (МИИТ) (Москва, Россия). E-mail: [email protected] Погодина Татьяна Сергеевна - студент кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте» Института транспортной техники и систем управления Российского университета транспорта (МИИТ) (Москва, Россия). E-mail: [email protected]
Вклад авторов: все авторы сделали эквивалентный вклад в подготовку публикации. Авторы заявляют об отсутствии конфликта интересов.
Information about the authors:
Efanov Dmitry V. (Doctor of Technical Sciences, Associate Professor, Full-member of the International Transport Academy, IEEE member, Professor of Transport Higher School of Mechanical Engineering, Material and Transport Institute at Saint Petersburg Peter the Great Saint Petersburg Polytechnic University, St. Petersburg, Russian Federation; Professor of Automation, Remote Control and Communication on Railway Transport Department, Russian University of Transport, Moscow, Russian Federation). E-mail: [email protected]
Pogodina Tatiana S. (Student of Automation, Remote Control and Communication on Railway Transport department at Institute of Transport Engineering and Control Systems in Russian University of Transport, Moscow, Russian Federation). E-mail: [email protected]
Contribution of the authors: the authors contributed equally to this article. The authors declare no conflicts of interests.
Received 30.11.2022; accepted for publication 09.06.2023 Поступила в редакцию 30.11.2022; принята к публикации 09.06.2023