ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА 2022 Управление, вычислительная техника и информатика № 58
Tomsk StateUniversity Journal of Control and Computer Science
ПРОЕКТИРОВАНИЕ И ДИАГНОСТИКА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
DESIGNING AND DIAGNOSTICS OF COMPUTER SYSTEMS
Научная статья
УДК 004.052.32+681.518.5
doi: 10.17223/19988605/58/10
Структуры схем коррекции ошибок на основе логического дополнения с контролем вычислений по коду с суммированием взвешенных переходов
от разряда к разряду
Дмитрий Викторович Ефанов
Российскиий университет транспорта, Москва, Россия, Санкт-Петербургский политехнический университет Петра Великого, Санкт-Петербург, Россия,
TrES-4b@yandex.ru
Аннотация. Предложены новые структуры отказоустойчивых цифровых вычислительных устройств и систем, в основе которых лежит использование принципа логического дополнения для фиксации искаженных сигналов и схем встроенного контроля. Последние реализуются с применением кода с суммированием взвешенных переходов от разряда к разряду в информационном векторе, при построении которого использована последовательность весовых коэффициентов, образующая ряд возрастающих степеней числа 2. Использование данного кода с суммированием позволяет обнаруживать любые комбинации искажений на выходах объекта диагностирования, за исключением одновременного искажения всех выходов, что на практике бывает достаточно редко. Дано описание четырех структур: структуры с двойной модульной избыточностью и контролем вычислений основным блоком по выбранному коду, структуры с двойной модульной избыточностью и контролем вычислений резервным блоком по выбранному коду, структуры с контролем вычислений основным блоком по выбранному коду и блоком фиксации искаженных сигналов на основе логического дополнения, структуры с блоком фиксации искаженных сигналов на основе логического дополнения с непосредственным контролем вычислений данным блоком. Приводятся примеры синтеза отказоустойчивых устройств и дана оценка их эффективности по сравнению с использованием традиционной структуры отказоустойчивых устройств и систем, основанной на тройной модульной избыточности с мажоритарной коррекцией сигналов. Освещены результаты экспериментов с контрольными комбинационными схемами LG'93 и MCNC Benchmarks, также показавшие эффективность предлагаемых отказоустойчивых структур. Использование принципа логического дополнения позволяет синтезировать отказоустойчивые цифровые устройства и системы, в которых не требуется прямого резервирования и внесения модульной избыточности, что на практике может давать существенное снижение структурной избыточности конечного объекта.
Ключевые слова: отказоустойчивые цифровые устройства и системы; модульная избыточность; схема встроенного контроля; коррекция сигналов; контроль вычислений; код с суммированием взвешенных переходов; структурная избыточность
Для цитирования: Ефанов Д.В. Структуры схем коррекции ошибок на основе логического дополнения с контролем вычислений по коду с суммированием взвешенных переходов от разряда к разряду // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2022. № 58. С. 105-125. doi: 10.17223/19988605/58/10
© Д.В. Ефанов, 2022
Original article
doi: 10.17223/19988605/58/10
Error correction circuits structures based on Boolean complement with calculation checking by code with summation of weighted transitions
from bit to bit
Dmitry V. Efanov
Russian University of Transport, Moscow, Russian Federation, Peter the Great St. Petersburg Polytechnic University, St. Petersburg, Russian Federation,
TrES-4b@yandex.ru
Abstract. Methods for introducing modular redundancy are widely used in fault-tolerant digital devices and systems synthesis. Such methods involve the use of the original device's exact copies (analogues) and error correction circuits. There are structures based on the introduction of triple and double modular redundancy widespread and knowing. Research shows that fault-tolerant structures can be obtained without using modular redundancy techniques. At the same time, it is possible to achieve a decrease in the introduced hardware redundancy to endow the device with the property of fault tolerance concerning methods based on the introduction of modular redundancy.
An effective technical solution is the use of the logical complement principle with the built-in control circuits organization, the diagnostics object, or a Boolean complement block in the fixing circuit of distorted signals. When organizing built-in control circuits using the Boolean complement method, it is possible to consider the structural features of the diagnosed object itself, and this makes it possible to reduce the structural redundancy relative to known methods.
The article proposes standard structures of fault-tolerant devices based on the weight-transition sum code from bit to bit. Such a code is obtained by dividing the bits of the data vector into k = m - 1 pairs, starting with the least significant bit (pairs (/1,f2), (/2,f3), ..., (fm-i,f-2), (fm,f-1)), are formed), assigning the pairs of weight coefficients from a series of increasing powers of the number 2 (20, 21, ..., 2m-3, 2m-2), the subsequent addition of the weighting
coefficients values of the digits pairs according to the formula W - A Wi,t + Iqi,i + 1, where <li,i+l - fi © fi+1 is the
activating function the transition between the digits fi andf+1. This code is designated as a Tm-code. It has k = m - 1 check bit, each of which is implemented as a convolution modulo M = 2 bits in the corresponding pair. In previous author research, it was proved that this code detects any errors in data vectors, except for errors with maximum multiplicity d = m. The noted property can be effectively used in the built-in control circuits synthesis, if exclude the diagnostic object faults influence immediately all its outputs, any combination of distortions can be detected. The use of the Tm-code in the built-in control circuits synthesis gives a decrease in the introduced structural redundancy with the duplication method use. This feature is proposed to be used in the synthesis of fault-tolerant devices.
The paper proposes four typical fault-tolerant structures based on the use of the Tm-code. The 1st two structures are based on the use of the duplication with computations control principle by one of the devices. In the first case, the calculations at the outputs of the main block are controlled. In the second, the calculations at the outputs of the additional block are controlled. The differences between the structures are in the method of signal correction when fixing computational errors. The other two structures are based on the use of only one source device and the implementation of a special block for fixing distorted signals using the Boolean complement method. In the first case, the calculations by the main unit are controlled by the Tm-code, and the fixation of distortions is performed in fixing the distorted signals. In the second case, the calculations are controlled in the block for fixing the distorted signals. The use of Boolean complement makes it possible to synthesize many variants of blocks for fixing distorted signals, which makes it possible to choose the variant that gives the least introduced structural redundancy.
The block for fixing the distorted bits includes a Boolean complement block and a block for calculating correction functions. In the second case, this block also includes a built-in Tm-code control circuit, which controls the calculations at the control logic block outputs. The task of synthesizing a block for fixing distorted bits is to synthesize a built-in control circuit, a block for calculating correction functions, and a Boolean complement block. The first two, as shown in the article, have a standard implementation. For the Boolean complement block synthesis, the article proposes two algorithms. An example of the synthesis of all four structures is given.
The theoretical results are complemented by the results obtained in experiments with combinational benchmarks LG'93 and MCNC Benchmarks. The results show the effectiveness of the proposed structures in comparison with the known ones.
The use of Boolean complement and code methods for the self-checking and fault-tolerant digital devices and systems synthesis makes it possible to expand the number of methods for their implementation and to minimize the structural redundancy indicators. The results obtained in the article should be taken into account in practice when choosing an approach to the synthesis of fault-tolerant digital devices and systems.
Keywords: fault-tolerant digital devices and systems; modular redundancy; built-in control circuit; correction of signals; checking of calculations; code with summation of weighted transitions; structural redundancy
For citation: Efanov, D.V. (2022) Error correction circuits structures based on Boolean complement with calculation checking by code with summation of weighted transitions from bit to bit. Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika - Tomsk State University Journal of Control and Computer Science. 58. pp. 105-125. doi: 10.17223/19988605/58/10
Методы коррекции ошибок в вычислениях повсеместно используются при построении надежных цифровых устройств и систем [1-4]. Все они подразумевают внесение избыточности по определенным правилам, например внесение модульной избыточности с проверкой вычислений и выбором верного значения по принципу большинства (мажоритарный принцип) или использование предварительно при синтезе устройства помехоустойчивого кодирования состояний или выходов устройства и т.д. [5-14].
Как показано в ряде работ [15, 16], для синтеза устройств и систем, не чувствительных к проявлениям ошибок, возможно применение принципа логического дополнения с организацией схем встроенного контроля (СВК) либо объекта диагностирования, либо блока логического дополнения в схеме фиксации искаженных сигналов (ФИС). Это позволяет учитывать особенности структуры самого объекта диагностирования и снижать структурную избыточность, необходимую для реализации отказоустойчивой системы.
Метод логического дополнения описан в [17, 18] и подразумевает преобразование значений функций некоторого объекта диагностирования (исходного устройства) в СВК в функции специального вида. Такое преобразование осуществляется с использованием двухвходовых элементов сложения по модулю M = 2 (элементов XOR) и блока логического дополнения, имеющего такое же (или меньшее) число выходов, как и исходное устройство. Преобразования, таким образом, осуществляются по формуле: f © gi, i е{1,2,...,m}, m - число выходов исходного устройства. В качестве диагностического признака может быть выбран признак принадлежности вектора функций, формируемых на выходах каскада элементов преобразования, заранее выбранному избыточному блочному коду [19], принадлежность преобразованной функции к классу самодвойственных функций алгебры логики [20], контроль по обоим этим признакам [21] и т.д. Интересным является использование в качестве диагностического признака принадлежности вектора, формируемого на выходах каскада элементов преобразования, коду с суммированием взвешенных переходов от разряда к разряду в информационном векторе, при построении которого используется последовательность возрастающих степеней числа 2: {20, 21, ..., 2m-3, 2m-2} [22, 23]. Такой код имеет избыточность, практически сравнимую с кодом с повторением: k = m - 1. При этом данным кодом, обозначим его как Tm-код, обнаруживаются любые сочетания искажений информационных разрядов, кроме одновременного искажения всех разрядов информационного вектора. Как показано в [22, 23], использование Tm-кода при синтезе СВК позволяет получать самопроверяемые логические устройства автоматики и вычислительной техники со структурной избыточностью, меньшей, чем при использовании принципа дублирования со сравнением результатов вычислений. В [24, 25] предложено применять Tm-код совместно с внесением двойной модульной избыточности при синтезе отказоустойчивых цифровых устройств и систем, а также приведены результаты экспериментов, позволяющие судить об эффективности применения такого подхода. Например, для представленных 25 комбинационных устройств было получено среднее значение уменьшения структурной избыточности примерно до 94,614% по сравнению с применением традиционного подхода реализации мажоритарной структуры (структуры с тройной модульной избыточностью). Для отдельных устройств были получены показатели уменьшения структурной избыточности более чем на 10%.
В данной статье рассматриваются возможности использования Tm-кода при реализации отказоустойчивых устройств по принципу логического дополнения с контролем вычислений исходным устройством либо блоком логического дополнения в схеме ФИС. Применение логического дополнения позволяет уменьшать сложность технической реализации отказоустойчивых устройств и систем
по сравнению с подходами, подразумевающими внесение модульной избыточности, при высокой корректирующей способности.
1. Отказоустойчивая структура на основе дублирования с контролем вычислений по коду с суммированием взвешенных переходов
Исследования [26, 27] показывают, что при синтезе СВК могут эффективно использоваться разнообразные равномерные избыточные коды, обладающие различными избыточностью и характеристиками обнаружения ошибок. Среди таких кодов можно выделить специальный код с суммированием взвешенных переходов от разряда к разряду в информационном векторе, который строится по следующим правилам [22, 23]:
1. Переходам от разряда к разряду информационного вектора присваиваются весовые коэффициенты Wi,i+i из ряда возрастающих степеней числа 2: [w¿,¿+i] = [wi,2, W2,3, • ••, wm-2,m-i, Wm-i,m] = = [2m-2, 2m-3, •.., 21, 20]. Будем их приписывать переходам в информационном векторе, начиная справа налево.
2. Подсчитывается суммарный вес активных переходов:
m-1
w = Z w^q^, (1)
i=i
где qii+1 = f Ф f+1 - функция активации перехода между разрядами f иf+1.
3. Полученное число представляется в двоичном виде и записывается в разряды контрольного вектора.
К примеру, получим контрольный вектор для информационного вектора <f f f f f f6> = = <101101> Тб-кода: W = 24-1 + 23-1 + 22 • 0 + 21 -1 + 20-1 = 16 + 8 + 2 +1 = 27, [W]2 = <11011>.
Как отмечалось ранее, Tm-код имеет k = m - 1 контрольный разряд. Значения контрольных разрядов могут быть определены по формулам
h= f © f2;
h2 = f2 © f3; ф
hm-1 = fm-1 © fm ■
Так как для получения значений контрольных разрядов кода с суммированием взвешенных переходов используются только операции сложения по модулю M = 2, структура кодера данного кода будет стандартной и содержать в себе m - 1 элемент сложения по модулю два. Наличие стандартной структуры кодера позволяет синтезировать типовую структуру СВК по данному коду, подробно описанную в [22, 23].
Tm-код будет обнаруживать любые искажения в контролируемом кодовом векторе, за исключением ошибок с максимальной кратностью d = m. Это объясняется тем, что значение суммарного веса информационного вектора, вычисленного по формуле (1), не изменится только в том случае, если оно будет вычислено для двух векторов с полностью противоположными значениями разрядов. Такая особенность Tm-кода позволяет весьма эффективно использовать его для организации СВК логических устройств. При этом на структуры контролируемых устройств накладывается только одно ограничение - отсутствие путей от каких-либо внутренних логических элементов, ведущих сразу же ко всем их выходам (можно сказать, что это структурное ограничение). Однако даже при наличии таковых элементов может быть проверено условие невозможности одновременного искажения всех m выходов устройства:
f • f = 0 (3)
дУа дУа дУа.
где y а - функция, реализуемая на выходе логического элемента Ga, связанного путями со всеми выходами устройства.
Если выражение в левой части формулы (3) равно нулю, то не существует ни одного входного набора, на котором происходит трансляция ошибок на все выходы устройства.
На рис. 1 , 2 изображены отказоустойчивые структуры, основанные на использовании принципов дублирования (внесении двойной модульной избыточности) с контролем вычислений одним из устройств (исходным F(x) или его копией F*(x)).
Рис. 1. Отказоустойчивая структура на основе дублирования с контролем вычислений основным устройством по Tm-коду Fig. 1. Fault-tolerant structure based on duplication with checking of calculations by the main device according to the Tm-code
В обеих структурах для выявления ошибок на выходах исходного объекта F(x) используются дополнительное устройство F*(x), являющееся копией исходного устройства, и каскад элементов сложения по модулю M = 2 a1, a2, ..., am-1, am для выявления выходов с ошибками. Если на каком-либо из выходов присутствует ошибка, то на соответствующем выходе элемента сравнения будет присутствовать единичное значение. Такая организация позволяет выявлять любые одиночные неисправности на выходах объекта F(x). Для определения устройства, на выходах которого возникла ошибка, используется СВК по Tm-коду. В первом случае осуществляется контроль вычислений исходным объектом F(x), а во втором - объектом F*(x). Наличие СВК позволяет установить, на выходах какого из объектов возникла ошибка, и осуществить коррекцию только в том случае, если ошибка возникла на выходах основного объекта F(x).
СВК содержит каскад сумматоров по модулю M = 2, позволяющих реализовать кодер Tm-кода с выходами h\, И'2, ..., h'm-2, h'm-1, блок H(x), вычисляющий аналогичные функции М, Иг, ..., hm-2, hm-1, но по значениям входных воздействий, а также схему сравнения, образованную каскадом сумматоров c1, c2, ., cm-2, cm-1 и элементом логического сложения с m - 1 входами (элементом OR), на выходах которого формируется сигнал z, свидетельствующий об отсутствии или наличии ошибки. Схема сравнения может быть реализована в виде полностью самопроверяемого устройства с использованием модулей сжатия парафазных сигналов (two-rail checkers [28]).
Для коррекции ошибок используется специализированный блок коррекции сигналов, включающий в себя элементы принятия решения о коррекции (элементы AND) и элементы коррекции сигналов (элементы XOR d\, d2, ..., dm-1, dm). Элементы принятия решения о коррекции имеют по два входа:
на первые входы поступают сигналы e^ e2, ..., em-1, em от элементов сравнения a^ a2, ..., am-1, am и определяют те выходы, на которых необходимо произвести коррекцию сигналов. На вторые входы поступают сигналы u1, u2, ..., um-1, um от СВК: u1 = u2 = ... = um-1 = um = z. Коррекция в случае структуры рис. 1, когда СВК контролирует вычисления основным комплектом, осуществляется в том случае, если сигнал z = 1. Поэтому в ней на входах каждого элемента AND рассчитывается функция zei, i = 1, m. Коррекция в случае структуры рис. 2, когда вычисления контролируются резервным комплектом, осуществляется только в том случае, если сигнал z = 0 (коррекция производится только при наличии ошибок в вычислениях основным блоком). Поэтому в данной структуре на входах каждого элемента AND рассчитывается функция zei, i = 1, m.
Рис. 2. Отказоустойчивая структура на основе дублирования с контролем вычислений дополнительным устройством по Tm-коду Fig. 2. Fault-tolerant structure based on duplication with checking of calculations by an additional device according to the Tm-code
Следует отметить, что структуры, приведенные на рис. 1 , 2, не защищены от неисправностей элементов блока коррекции сигналов. Такой же недостаток присущ и традиционной схеме мажоритарной коррекции сигналов [1, 2, 6]. На практике данный недостаток нивелируется применением высоконадежных элементов при синтезе блока коррекции сигналов, имеющих низкие интенсивности потоков отказов, внутреннее резервирование и реализуемых в виде полностью самопроверяемых устройств [29].
Обе структуры имеют высокую корректирующую способность на выходах исходного объекта за счет применения Tm-кода.
2. Отказоустойчивая структура на основе логического дополнения с контролем вычислений по коду с суммированием взвешенных переходов
Исследования показывают, что могут быть реализованы отказоустойчивые устройства, имеющие в своем составе только один блок F(x). При этом возможно уменьшение структурной избыточности конечного устройства не только по сравнению с применением мажоритарной структуры, но и по сравнению с описанными выше структурами, основанными на принципе дублирования. Новые структуры реализуются за счет применения логического дополнения при синтезе блока ФИС. Для контроля корректности вычислений используется СВК на основе Г^-кода. В структуре рис. 3 контролируются вычисления исходным объектом F(x). В структуре рис. 4 контролируются вычисления блоком логического дополнения G(x). Для этого используется блок Н*(х).
Отличием обеих структур - рис. 3 и рис. 4 - от структур, приведенных на рис. 1, 2, является использование блока ФИС.
> f
> f3
>fm-2
■>jm-i
fm _
Рис. 3. Отказоустойчивая структура на основе логического дополнения
с контролем вычислений исходным устройством по Гл-коду Fig. 3. Fault-tolerant structure based on Boolean complement with checking of calculations by the source device according to the Tm-code
В структуру блока ФИС для структуры, приведенной на рис. 3, входит блок логического дополнения G(x), на выходах которого вычисляются специальные функции дополнения gi, g2, ..., gm-i, gm, а также блок вычисления функций коррекции R(x). Значения функций gi, g2, ..., gm-i, gm сравниваются со значениями с одноименных выходов блока F(x). Для вычисления функций активизации коррекции использован блок R(x), вычисляющий функции ri, Г2, ..., rm-i, rm, а также каскад сумматоров по модулю M = 2 bi, 62, ..., bm-i, bm. На выходах последних формируются значения функций ошибок:
e = f Ф g, © T = 0; е2 = fi © g2 © T = 0;
(4)
e = f © g © r = 0.
m J m c>m m
Если в результате неисправности в блоке F(x) искажается значение функции fi, то, как следует из (4), ei = 1, и активизируются вход и выход соответствующего элемента логического умножения в блоке коррекции сигналов (при этом на выходе СВК блока F(x) сигнал z = 1). Осуществляется исправление неверного значения функции fi.
Входы
F(x)
G(x)
H*(x)
в
-é
Блок коррекции
* - г hi m h'2 •■■ h'm-г h'm-1
h2
V, hm-2 J * -m-2 \
V. hm-1 ~ Cm-1 -4 y-
Схема встроенного контроля
Ф-
R(x)
Блок фиксации искаженных сигналов •
> /.
> f2
> f3
*fm-2 + fm-1
-*■ fm
Рис. 4. Отказоустойчивая структура на основе логического дополнения с контролем вычислений блоком дополнения по Tm-коду Fig. 4. Fault-tolerant structure based on Boolean complement with checking of computations by the complement block by Tm-code
d
d
x
d
d
b
b
a
gm-2
bm-
gm-1
am-1
b
gm
1
z
Гш-
r
В структуре рис. 4 вычисления основным устройством не контролируются, а блок ФИС, в отличие от структуры рис. 3, также содержит СВК для блока логического дополнения О(х), реализуемую по ТИ-коду (блок Н*(х) формирует значения разрядов ТИ-кода по значениям входов системы). СВК позволяет зафиксировать факт корректной или некорректной работы блока контрольной логики и сформировать соответствующий сигнал г.
3. Синтез блока фиксации искаженных сигналов и схемы встроенного контроля
Для структур рис. 1, 2 требуется реализация только СВК, в которой все элементы являются стандартными, кроме блока Н(х). Он синтезируется достаточно просто. На каждом входном воздей-
ствии рассчитываются значения функций М, кг, ..., кт-\. Осуществляется минимизация полученных функций любым из известных методов [30].
Для структур рис. 3, 4 требуется синтез блоков дополнительной логики G(x) и блока Н(х). Последний для структуры рис. 3 совпадает с блоком контрольной логики для структур рис. 1 , 2. Для структуры рис. 4 он синтезируется аналогичным образом, за тем лишь исключением, что функции М, кг, ..., кт-1 рассчитываются по выходам блока G(x).
При синтезе устройства G(x) в структурах рис. 3, 4 необходимо определить функции gl, gг, ..., gm-l, gm через функции Т\, гг, ..., гт-1, Гт'. gi = £ Ф Г . Каждая функция г может быть выбрана произвольным образом независимо от того, какими являются функции /, и gi. От выбранного варианта функции г зависит сложность реализации функции gi. При этом никакой зависимости между функциями gi и г, с различными индексами 7 не существует. Однако наиболее простым способом вычисления функций г7 является придание им значений входных переменных. Это позволяет фактически не синтезировать блок Я(х), а реализовывать его в виде коммутатора входных сигналов.
Рассмотрим два алгоритма синтеза блока G(x).
Алгоритм 1. Правила синтеза блока G(x) при использовании в качестве функций {г1, гг, ..., Гт-1, Гт} одной из входных переменных:
1. Последовательно рассматриваются функции выходов блока F(x)/, (i е {1, 2,..., т}).
г. Полагается 7 = 1.
3. Последовательно выбираются значения функции корректирующей переменной г = х}-(] е {1,2,..., t}).
4. Полагается j = 1.
5. Вычисляются функции дополнения для каждого из выходов блока F(x) g¡J = £ Ф г. (i е{1, 2,..., т}).
6. Функции gг, ] оптимизируются (на данном этапе можно провести оптимизацию функций как системы [30]), что дает возможность синтеза блока G(x) в выбранном элементном базисе.
Алгоритм 1 позволяет достаточно просто синтезировать блок дополнительной логики. При этом для каждого выхода устройства G(x) может быть подобрана та переменная, которая дает наиболее эффективное с позиции сложности реализации техническое решение.
Алгоритм 2. Правила синтеза блока G(x) при использовании в качестве функций {г1, гг, ..., гт-1, гт} входных переменных:
I. Последовательно рассматриваются функции выходов блока F(x)(i е {1, 2,..., т}).
г. Полагается 7 = 1.
3. Последовательно выбираются значения функции корректирующей переменной г = х}-(] е {1,2,..., Г}).
4. Полагается / = 1.
5. Вычисляется функция дополнения gi ^ = £ Ф г.
6. Функция gг, ] оптимизируется любыми известными методами [30].
7. Полагается j :=j + 1.
8. Проверяется условие достижения конечной входной переменной j > 7? Если нет, то возвращаемся к п. 5 данного алгоритма, в противном случае переходим к п. 9.
9. Полагается 7 := 7 + 1.
10. Проверяется условие достижения конечной функции выхода блока F(x) 7 > т? Если нет, то возвращаемся к п. 3 данного алгоритма, в противном случае переходим к п. 11.
II. Для каждой функции gг, j выбираем ту входную переменную, коррекция по которой дает наименьшую сложность реализации в выбранном элементном базисе.
1г. Синтезируется блок реализации системы функций дополнений G(x).
Следует отметить, что в качестве функций {г\, гг, ..., Гт-1, гт} могут быть выбраны произвольные функции, что увеличивает число вариантов синтеза отказоустойчивых цифровых устройств, при этом может быть выбран способ, дающий наименьшую сложность их реализации.
Приведем далее примеры синтеза отказоустойчивых устройств по всем четырем рассмотренным ранее структурам.
4. Пример синтеза отказоустойчивых структур
Рассмотрим в качестве примера процедуры синтеза структур, представленных на рис. 1-4, для комбинационного логического устройства, описываемого формулами
^^ — ^Х XX ^ ^^ ^^2 X ^ ^^ ^Х X4 ^^ ^Х Х^Х^ ^^ ^Х X X4 ;
^2 — ^С^^Х^ ^^ Х4 ^^ ^С ^ ^^ ^С^ ^^У %2 ^^ ^С2 Х^Х ^ ;
< ^^ — Х^Х^ Х^Х2Х^ ^^ .х2.х^.хд ^^ ; (5)
^^ — ^сС2*Х^ ^^ "2"^ ^^У "2СС^ ^С ^ ^^ ^С2^С^ ^^ "2"^; ^^ — ^Х "2 ^Сд ^^ ^Х ^^2 ^"з ^^ ^Х ~Х 2 X ^^ ^Х ^^2 ^С^^Сд .
Для синтеза структур, основанных на использовании двойной модульной избыточности (см. рис. 1, 2), требуется синтезировать только блок контрольной логики Н(х), а остальные компоненты являются типовыми. В табл. 1 приводится описание исходного блока ^(х) в виде таблицы истинности, а также контрольных функций, вычисляемых блоком Н(х). Непосредственно из табл. 1 путем оптимизации получаются логические выражения для функций М, кг, кз и к4, по которым синтезируется блок Н(х).
Таблица 1
Описание комбинационного устройства и функций для контроля блока ,Т(х) или его копии ,Т*(х) по ГШ-коду
Х4Х3Х2Х1 /5/4/3/2/1 Активные переходы Формула подсчета веса W
0000 01101 qi,2, q2,3, q4,5 W1,2 + W2,3 + W4,5 11 1011
0001 01110 qi,2, q4,5 W1,2 + W4,5 9 1001
0010 10111 q3,4, q4,5 W3,4 + W4,5 12 1100
0011 00010 q1,2, q2,3 W1,2 + W2,3 3 0011
0100 10110 q1,2, q3,4, q4,5 W1,2 + W3,4 + W4,5 13 1101
0101 00100 q2,3, q3,4 W2,3 + W3,4 6 0110
0110 11001 q1,2, q3,4 W1,2 + W3,4 5 0101
0111 11001 q1,2, q3,4 W1,2 + W3,4 5 0101
1000 11000 q3,4 W3,4 4 0100
1001 10100 q2,3, q3,4, q4,5 W2,3 + W3,4 + W4,5 14 1110
1010 11010 q1,2, q2,3, q3,4 W1,2 + W2,3 + W3,4 7 0111
1011 01011 q2,3, q3,4, q4,5 W2,3 + W3,4 + W4,5 12 1100
1100 00111 q3,4 W3,4 4 0100
1101 11111 - - 0 0000
1110 01000 q3,4, q4,5 W3,4 + W4,5 12 1100
1111 00110 q1,2, q3,4 W1,2 + W3,4 5 0101
Часто при синтезе цифровых устройств используются системы автоматизированного проектирования, в которые интегрированы средства оптимизации функций и оценки сложности их технической реализации [31, 32]. Воспользуемся известным интерпретатором SIS, синтезируем в нем исходные устройства F(x), отказоустойчивую структуру на основе тройной модульной избыточности, а также предложенные в настоящей работе отказоустойчивые структуры с контролем вычислений по Т^-коду. При этом будем использовать библиотеку стандартных функциональных элементов stdcell2_2.genlib, а саму процедуру синтеза будем проводить по табличным формам задания устройств (в виде файлов *.pla). SIS позволяет не только синтезировать сами цифровые устройства, но и оценивать сложность их технической реализации в условных единицах площади, занимаемой
устройством на кристалле. Это дает возможность сравнения различных отказоустойчивых структур между собой. Далее не будем приводить сами устройства ввиду их громоздкости, а приведем только численные данные о показателях сложности реализации устройств.
Сложность исходного блока F(x) равна Lf(x) = 1 080. Мажоритарный элемент сравнения имеет сложность L>2 = 136. Отсюда следует, что сложность отказоустойчивого устройства, реализованного по мажоритарной структуре, равна
L^ = 3LP(x) + 542 = 3 -1080 + 5 -136 = 3920.
Оценим сложности отказоустойчивых устройств, реализованных по структурам рис. 1 и рис. 2. При этом учтем, что сложности стандартных функциональных элементов равны: элементов сложения по модулю два - Lxor = 40, четырехвходового элемента ИЛИ - L40R = 48, сложность элемента логического умножения (как с инверсией на одном входе, так и без нее) - Land = 32. Оптимизация функций блока H(x) с применением стандартной процедуры simplify дает следующий результат: Lh(x) = 560. C учетом полученного рассчитаем сложность структур, синтезируемых на основе двойной модульной избыточности с контролем вычислений одним из блоков по Тт-коду [25]:
Ldmr = 2Lf (х) + LH (х) +1 8Lxor + 5LND + L40R = 2 -1080 + 560 +18 - 40 + 5 - 32 + 48 = 3648.
Площади структур устройств, полученные на основе дублирования с контролем вычислений одним из блоков, равны и составляют 96,061% от площади устройства, реализованного в соответствии с мажоритарной структурой.
Синтезируем отказоустойчивое устройство по структуре, представленной на рис. 3. В ней схема блока H(x) остается той же. Требуется синтезировать блоки G(x) и R(x) в структуре блока ФИС. Как отмечалось выше, фактически блок R(x) может быть реализован путем коммутации входов и не требует логических элементов. Синтезируем блок G(x).
Воспользуемся алгоритмом синтеза 1, подразумевающим использование только одной входной переменной для вычисления функций дополнения. Данный алгоритм дает результат, представленный в табл. 2. Наиболее простой блок G(x) получается при использовании для коррекции переменной x2. Сложность его реализации оценивается величиной Lg(x) = 640.
Устройство, реализуемое в соответствии со структурой рис. 3, имеет сложность
Lscb = LF{x) + LH{x) + Lg(x) + 23LXOR + + L^ = 1080 + 560 + 640 + 23-40 + 5 - 32 + 48 = 3408.
Таблица 2
Описание блока контрольной логики б(х) и блока Н*(х) для его контроля при использовании одной переменной для коррекции
x4 x3 x2 x\ f5 f4 f3 fi f1 x4 x3
g5 g4 g3 g2 g1 g5 g4 g3 g2 g1
0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1
0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0
0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1
0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0
0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1
0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1
0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 0
0 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 1 0
1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0
1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0
1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0
1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 1
1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0
1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1
1 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1
Окончание табл. 2
хг х1 к4 кз кг к1
§5 §4 §3 §2 §1 §5 §4 §3 §2 §1
0 1 1 0 1 0 1 1 0 1 1 0 1 1
0 1 1 1 0 1 0 0 0 1 1 0 0 1
0 1 0 0 1 0 1 1 1 1 1 0 0
1 1 1 0 1 1 1 1 0 1 0 0 1 1
1 0 1 1 0 1 0 1 1 0 1 1 0 1
0 0 1 0 0 1 1 0 1 1 0 1 1 0
0 0 1 1 0 1 1 0 0 1 0 1 0 1
0 0 1 1 0 0 0 1 1 0 0 1 0 1
1 1 0 0 1 1 0 0 0 0 1 0 0
1 0 1 0 0 0 1 0 1 1 1 1 1 0
0 0 1 0 1 1 1 0 1 0 0 1 1 1
1 0 1 0 0 1 0 1 0 0 1 1 1 0
0 0 1 1 1 0 0 1 1 1 0 1 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 0 1 1 1 0 1 0 0 0 1 1 0 0
1 1 0 0 1 1 1 0 0 1 0 1 0 1
Сложность реализации устройства по данной структуре составляет 86,939% от сложности реализации по мажоритарной структуре. Таким образом, получено улучшение показателя сложности реализации.
Синтезируем отказоустойчивое устройство в соответствии со структурой рис. 4. Блок О(х) уже получен. Требуется синтез блока Н*(х). В табл. 1 представлены функции данного блока. Следует отметить, что он будет одинаков для блоков О(х), получаемых при коррекции сигналов по какой-либо одной из переменных, что следует из принципов построения Тт-кода. Это справедливо в силу того, что выбор той или иной переменной для коррекции приводит к инверсии всех значений функции относительно одного из вариантов дополнения либо же к сохранению значений, а для Тт-кода это не влияет на суммарный вес информационного вектора. Сложность блока Н*(х) получена равной Ьн*(х) = 568. Таким образом, устройство, синтезированное по структуре рис. 4, имеет сложность реализации Lsвc1 — Тр(х) + ^ + LнЧx) + 23LxoR + 5ТЛШ + —1080 + 640 + 568 + 23-40 + 5 • 32 + 48 — 34166.
Полученная величина несколько превышает величину сложности реализации, полученной для структуры рис. 3, - она дает устройство с 87,143% от сложности устройства, реализуемого при использовании мажоритарной структуры.
Алгоритм синтеза 2 позволяет для каждой функции дополнения выбрать наилучший вариант переменной и несколько уменьшить сложность конечного отказоустойчивого устройства. Расчеты показали, что наилучшие варианты коррекции получаются при использовании функций дополнения, вычисляемых по формулам ^ — / © х4 , — / © х3 , — / © х4 , g4 — /4 © х2, g5 — / © х4 . В этом случае получается блок контрольной логики со сложностью технической реализации Та(х) = 464.
Таким образом, синтез в соответствии со структурой рис. 3, дает отказоустойчивое устройство со сложностью реализации:
— Тр{х) + Тн{Х) + Т^) + 23LxoR + + L4oR —1080 + 560 + 464 + 23-40 + 5-32 + 48 — 3232.
Это составляет 82,449% от сложности устройства, реализованного по мажоритарной структуре.
При использовании для контроля вычислений не блока F(x), а блока а(х), получаем блок контрольной логики Н*(х) (табл. 3) со сложностью реализации Ьщх) = 560. Отсюда следует, что устройство, синтезированное по структуре рис. 4, имеет сложность реализации
Твс — LF{x) + LG{x) + А^) + 23LxoR + 5ТМЮ + —1080 + 464 + 560 + 23-40 + 5-32 + 48 — 3232.
Это также составляет 82,449% от сложности устройства, реализованного по мажоритарной структуре.
Таблица 3
Описание блока контрольной логики б(х) и блока Н*(х) для его контроля при использовании различных переменных для коррекции
x4 x3 x2 x1 f5 f4 f3 f2 f1 x4 x2 x4 x3 x4 h4 h3 h2 h1
g5 g4 g3 g2 g1
0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1
0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1
0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1
0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0
0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1
0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0
0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0
1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 1
1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1
1 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0
1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1
1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0
1 1 0 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0
1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0
1 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1
Следует отметить, что структура, приведенная на рис. 4, в ряде случаев может давать даже большие значения показателей сложности технической реализации, чем структура, приведенная на рис. 3. На это влияют особенности СВК для блока логического дополнения G(x): блок H*(x) может оказаться более сложным, чем аналогичный блок H(x) для исходного устройства F(x).
Анализ полученных результатов говорит о том, что представленные структуры дают лучшие по сложности реализации отказоустойчивые устройства, чем мажоритарная структура. Для еще большего снижения структурной избыточности следует применять для контроля вычислений менее избыточные коды, например коды с суммированием и их модификации [23, 27].
5. Экспериментальные результаты
В целях анализа эффективности применения описанных выше структур при синтезе отказоустойчивых цифровых устройств и систем были проведены эксперименты с рядом контрольных комбинационных схем из наборов LG'93 и MCNC Benchmarks [33]. Основной задачей экспериментов была оценка уменьшения показателя структурной избыточности отказоустойчивого устройства для выбранной комбинационной схемы, синтезированного по каждой из предложенных выше структур (рис. 1-4), по сравнению со структурной избыточностью мажоритарной системы (TMR, triple-modular redundancy).
В табл. 4, 5 приведены результаты экспериментов для пяти контрольных комбинационных схем dc1, rd53,p82, m1 и max512. В табл. 4 подробно представлены данные по показателям сложности технической реализации отказоустойчивых устройств по мажоритарной структуре и по четырем приведенным выше структурам. В качестве показателя сложности технической реализации использована площадь, занимаемая устройством на кристалле, в условных единицах библиотеки функциональных элементов stdcell2_2.genlib, а также относительный показатель ц - доля площади, занимаемой отказоустойчивым устройством на кристалле, от площади системы с тройной модульной избыточностью (в процентах). Площадь определялась с применением интерпретатора SIS.
При проведении экспериментов структура исходной схемы F(x) не оптимизировалась (выбиралось законченное устройство). Структуры блоков H(x), G(x) и H*(x) оптимизировались с использованием команды simplify в интерпретаторе SIS. В ходе экспериментов синтезировались отказоустойчивые устройства по структуре с тройной модульной избыточностью (TMR), по обеим структурам с двой-
ной модульной избыточностью и дополнительным контролем вычислений одним из блоков (DMR, double-modular redundancy), а также по обеим структурам, использующим принцип логического дополнения (BC, Boolean complement). При этом в процессе синтеза устройств на основе структур рис. 3 и рис. 4 использовался подход, при котором корректирующие функции представляли собой одну выбранную входную переменную (см. алгоритм 1). В табл. 4 приведены данные о показателях сложности технической реализации составляющих структур, а также устройств, использующих тройную и двойную модульную избыточность, а в табл. 5 - о показателях сложности реализации структур на основе принципа логического дополнения.
Таблица 4
Показатели сложности технической реализации составляющих отказоустойчивых структур
Схема In / Out Площадь устройств на кристалле, усл. ед. библиотеки stdeell2_2.genlib
Fx) H(x) G(x)
x1 x2 x3 x4 xs x6 x7 x8 x9
del 4/7 976 488 608 576 712 672 - - - - -
rd53 5/3 880 680 592 592 592 592 592 - - - -
p82 5/14 2 368 1 784 1 976 1 792 1 920 1 864 1 848 - - - -
ml 6/12 3 064 1 296 1 392 1 560 1 456 1 856 1 536 1 832 - - -
max512 9/6 9 632 5 480 7 832 6 984 6 456 6 872 6 696 7 104 8 352 9 376 10 192
Площадь устройств на кристалле, усл. ед. библиотеки stdeell2_2.genlib %
H*(x) Дополнительные элементы Структура TMR Структуры DMR
TMR DMR ВС
584 952 1 336 1616 3 880 3 776 97,32
680 408 536 656 3 048 2 976 97,638
1 784 408 536 656 7 512 7 056 93,93
1 408 1 632 2 336 2 816 10 824 9 760 90,17
5 232 816 1 136 1 376 29 712 25 880 87,103
Анализируя данные таблиц, можно сделать следующие выводы. Отказоустойчивые устройства, реализуемые по предложенным в настоящей работе структурам, получаются, как правило, менее избыточными, чем отказоустойчивые устройства, реализованные по структуре с тройной модульной избыточность и мажоритарной коррекцией сигналов. Устройства, реализуемые на основе двойной модульной избыточности с контролем вычислений одним из блоков Т(х) или Т*(х) по Тт-коду, для большинства схем имеют выигрыш в показателе избыточности по сравнению с ТМЯ-структурой до 10%. Для некоторых схем (например, для схемы тах512) достигается даже большее улучшение. Реализация устройства по одной из структур, подразумевающих применение принципа логического дополнения, может еще больше сократить сложность технической реализации и уменьшить избыточность. При этом существует достаточно большая вариативность в построении структур. Например, применение алгоритма 1 при выборе функций коррекции значений позволяет строить 7 блоков контрольной логики (7 - число входных переменных). Как видно из данных табл. 4, такая вариативность позволяет выбирать наименее избыточную реализацию блока а(х) для каждого устройства F(x). Это, в свою очередь, позволяет синтезировать 7 различных по сложности структур рис. 3 и выбирать среди них наиболее эффективный вариант. Для большинства реализаций блоков контрольной логики в рассмотренных примерах блоки а(х) получались более простыми, чем блок F(x), - среди 29 вариантов блоков контрольной логики только один дал блок а(х) с площадью, большей чем площадь блока F(x). Таким образом, практически для всех устройств применение структуры рис. 3 и принципа логического дополнения позволило уменьшить сложность технической реализации по сравнению с реализацией по структурам БМЯ (рис. 1, 2). Применение структуры рис. 4 в ряде случаев давало эффект в уменьшении сложности технической реализации и по сравнению со структурой рис. 3. Эффект достигался в том случае, если блок Н*(х) оказывался проще блока Н(х). Реальный эффект от применения структуры рис. 4 заметен лишь для схемы тах512 из приведенных здесь. Для двух схем, тй53 и
p82, сложности реализации структур рис. 3 и рис. 4 совпали. Для двух схем, del и ml, структуры рис. 4 получались несколько более сложными, чем структуры рис. 3, однако превышение находилось на уровне 1-3%. На рис. 5 приведены диаграммы для сравнения показателей ц для отказоустойчивых устройств, полученных по структурам, подразумевающим использование принципа логического дополнения. Применение логического дополнения для ряда схем позволило синтезировать отказоустойчивые устройства со сложностью реализации, меньшей сложности TMR-структуры на 20-25%.
Таблица 5
Показатели сложности технической реализации отказоустойчивых структур на основе логического дополнения
XI x2 x3 x4 xs x6 x7 x8 x9
del, 4/7
Структура с контролем блока F(x)
3 688 3 656 3 792 3 752 - - - - -
95,052 94,227 97,732 96,701
Структура с контролем блока G(x)
3 784 3 752 3 888 3 848 - - - - -
97,526 96,701 100,206 99,175
rd53, 5/3
Структура с контролем блока F(x)
2 808 2 808 2 808 2 808 2 808 - - - -
92,126 92,126 92,126 92,126 92,126
Структура с контролем блока G(x)
2 808 2 808 2 808 2 808 2 808 - - - -
92,126 92,126 92,126 92,126 92,126
p82, 5/14
Структура с контролем блока F(x)
6 784 6 600 6 728 6 672 6 656 - - - -
90,309 87,859 89,563 88,818 88,605
Структура с контролем блока G(x)
6 784 6 600 6 728 6 672 6 656 - - - -
90,309 87,859 89,563 88,818 88,605
ml, 6/12
Структура с контролем блока F(x)
8 568 8 736 8 632 9 032 8 712 9 008 - - -
79,157 80,71 79,749 83,444 80,488 83,222
Структура с контролем блока G(x)
8 680 8 848 8 744 9 144 8 824 9 120 - - -
80,192 81,744 80,783 84,479 81,523 84,257
max512, 9/6
Структура с контролем блока F(x)
24 320 23 472 22 944 23 360 23 184 23 592 24 840 25 864 26 680
81,852 78,998 77,221 78,621 78,029 79,402 83,603 87,049 89,795
Структура с контролем блока G(x)
24 072 23 224 22 696 23 112 22 936 23 344 24 592 25 616 26 432
81,018 78,164 76,387 77,787 77,194 78,568 82,768 86,214 88,961
Следует отметить, что применение алгоритма 2 при выборе переменных для коррекции функций /2, ..., /т-\, /ш, позволяет увеличить число вариантов построения блоков G(x). В этом случае каждая из т функций блока контрольной логики может быть получена ^ способами (всего т( способов реализации). Применение алгоритма 2 может позволить еще больше улучшить показатели структурной избыточности за счет «индивидуального» подхода к каждому из рабочих выходов устройства F(x).
Рис. 5. Сравнение показателей структурной избыточности для различных контрольных комбинационных схем Fig. 5. Comparison of indicators of structural redundancy for various combinational benchmarks
Заключение
При построении отказоустойчивых цифровых вычислительных устройств и систем могут быть использованы не только традиционные подходы, основанные на тройной модульной избыточности с мажоритарной коррекцией сигналов и двойной модульной избыточности с применением схем сравнения и переключения, но и подходы, основанные на использовании СВК отдельных блоков и логического дополнения для фиксации искаженных сигналов. Подобные структуры синтезируются с учетом следующего ограничения: одновременно возможно возникновение неисправностей только в одном из блоков системы.
Структуры отказоустойчивых устройств и систем, основанные на использовании двойной модульной избыточности с контролем вычислений одним из блоков (основным или резервным) по Тт-коду, для многих реальных устройств F(x) позволяют получать менее избыточные отказоустойчивые реализации, чем применение мажоритарной структуры. При этом данные структуры обладают высокой корректирующей способностью за счет возможности фиксации любых сочетаний искажений на выходах объекта диагностирования, за исключением искажений с кратностями й = т. Применение принципа логического дополнения при синтезе блока ФИС позволяет еще больше сократить структурную избыточность конечного отказоустойчивого устройства, что объясняется возможностями существенного упрощения блока логического дополнения а(х).
Необходимо отметить две особенности описанных в настоящей статье структур. Во-первых, за счет использования нескольких последовательных каскадов сумматоров по модулю М = 2 во всех предложенных структурах примерно вдвое уменьшено быстродействие по сравнению с традиционными структурами (пути прохождения сигналов к выходному каскаду увеличены). Однако при современных технологиях реализации цифровых устройств и систем такое снижение быстродействия не представляется столь существенным. Во-вторых, если использование принципов модульной избыточности с устройствами сравнения и коррекции позволяет не анализировать структуры исходных объектов F(x) и строить их из типовых блоков, то в случае применения описанных подходов такой
анализ требуется при построении СВК и блока ФИС. Для устройств с большим числом входов (более 30) данная задача может быть достаточно трудоемкой, что потребует применения методов декомозиции при синтезе соответствующих устройств и более сложных процедур проектирования отказоустойчивых устройств и систем. Тем не менее при автоматизации процедур получения функций логического дополнения можно добиться существенного упрощения конечных отказоустойчивых устройств и систем, реализуемых на современной элементной базе, по сравнению с традиционными подходами для решения этой задачи.
Применение логического дополнения и кодовых методов для синтеза самопроверяемых и отказоустойчивых цифровых устройств и систем позволяет расширить число способов их реализации и минимизировать показатели структурной избыточности. Полученные в статье результаты целесообразно учитывать на практике при выборе подхода к синтезу отказоустойчивых цифровых устройств и систем.
В заключение также обратим внимание на возможные перспективы в продолжении исследований в области синтеза отказоустойчивых устройств и систем. Прежде всего отметим еще раз, что предложенные в настоящей статье структуры ориентированы на работу с одиночными неисправностями. Тем не менее при использовании подобных структур в ряде приложений, например в составе устройств и систем критического применения, где входные воздействия могут изменяться достаточно редко [34], будут создаваться условия накопления скрытых неисправностей. В аварийном режиме скрытые неисправности могут начать проявляться в виде кратных отказов, а их последствия - в виде искажения вычисляемых функций, в конечном итоге не корректироваться в предложенных структурах. В дальнейших исследованиях необходимо обращать внимание на проблему контролепригодности подобных структур при их функционировании в штатном режиме и на возможности обнаружения искажаемых функций в рабочем режиме и локализации скрытых дефектов [35-37]. Ее решение может быть связано с повышением обнаруживающей способности схемы контроля, а также с организацией систем тестово-функционального диагностирования [38].
Список источников
1. Щербаков Н.С. Самокорректирующиеся дискретные устройства. М. : Машиностроение, 1975. 216 с.
2. Согомонян Е.С., Слабаков Е.В. Самопроверяемые устройства и отказоустойчивые системы. М. : Радио и связь, 1989. 208 с.
3. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco : Morgan Kaufmann Publishers, 2001. 216 p.
4. Sogomonyan E.S. Self-Correction Fault-Tolerant Systems : Preprint. 2018, 30 p. URL: https://www.researchgate.net/publication/
328355722_Self-Correction_Fault-Tolerant_Systems
5. Sellers F.F., Hsiao M.-Y., Bearnson L.W. Error Detecting Logic for Digital Computers. New York : McGraw-Hill, 1968, XXI + 295 p.
6. Гаврилов М.А., Остиану В.М., Потехин А.И. Надежность дискретных систем. М. : 1970. 104 с. (Итоги науки и техники.
Сер. Теория вероятностей. Математическая статистика. Теоретическая кибернетика).
7. Сапожников В.В., Сапожников Вл.В., Христов Х.А., Гавзов Д.В. Методы построения безопасных микроэлектронных си-
стем железнодорожной автоматики / под ред. Вл.В. Сапожникова. М. : Транспорт, 1995. 272 с.
8. Matrosova A.Yu., Levin I., Ostanin S.A. Self-Checking Synchronous FSM Network Design with Low Overhead // VLSI Design.
2000. V. 11, is. 1. P. 47-58.
9. Cкляр В.В., Харченко В.С. Отказоустойчивые компьютерные системы управления с версионно-пороговой адаптацией:
способы адаптации, оценка надежности, выбор архитектур // Автоматика и телемеханика. 2002. № 6. С. 131-145.
10. Останин С.А. Синтез отказоустойчивых комбинационных схем // Прикладная дискретная математика (приложение № 1). 2009. № 1. С. 71-72.
11. Hamamatsu M., Tsuchiya T., Kikuno T. Finding the Optimal Configuration of a Cascading TMR System // 14th IEEE Pacific Rim International Symposium on Dependable Computing, 15-17 December 2008, Taipei, Taiwan. P. 329-350.
12. Matsumoto K., Uehara M., Mori H. Evaluating the Fault Tolerance of Stateful TMR // 13th International Conference on Network-Based Information Systems, 14-16 September 2010, Takayama, Japan. P. 332-336.
13. Бочков К.А., Харлап С.Н., Сивко Б.В. Разработка отказоустойчивых систем на основе диверситетных базисов // Автоматика на транспорте. 2016. Т. 2, № 1. С. 47-64.
14. Стемпковский А.Л., Тельпухов Д.В., Жукова Т.Д., Гуров С.И., Соловьев Р.А. Методы синтеза сбоеустойчивых комбинационных КМОП схем, обеспечивающих автоматическое исправление ошибок // Известия ЮФУ. Технические науки. 2017. № 7 (192). С. 197-210.
15. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Схема коррекции сигналов для комбинационных устройств автоматики на основе логического дополнения с контролем вычислений по паритету // Информатика. 2020. Т. 17, № 2. С. 71-85.
16. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Отказоустойчивая структура на основе логического дополнения с контролем вычислений по паритету // Автоматика на транспорте. 2020. Т. 6, № 3. С. 377-403.
17. Гессель М., Морозов А.В., Сапожников В.В., Сапожников Вл.В. Логическое дополнение - новый метод контроля комбинационных схем // Автоматика и телемеханика. 2003. № 1. С. 167-176.
18. Göessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking. Ed. 1. Dordrecht : Springer Science + Business Media B.V., 2008. 184 p.
19. Das D.K., Roy S.S., Dmitiriev A., Morozov A., Gössel M. Constraint Don't Cares for Optimizing Designs for Concurrent Checking by 1-out-of-3 Codes // Proc. of the 10th International Workshops on Boolean Problems, Freiberg, Germany, September, 2012. P. 33-40.
20. Saposhnikov Vl.V., Dmitriev A., Goessel M., Saposhnikov V.V. Self-Dual Parity Checking - a New Method for on Line Testing // Proc. of 14th IEEE VLSI Test Symposium. USA, Princeton, 1996. P. 162-168.
21. Efanov D., Sapozhnikov V., Sapozhnikov Vl., Osadchy G., Pivovarov D. Self-Dual Complement Method up to Constant-Weight Codes for Arrangement of Combinational Logical Circuits Concurrent Error-Detection Systems // Proc. of 17th IEEE East-West Design & Test Symposium (EWDTS'2019), Batumi, Georgia, September 13-16, 2019. P. 136-143.
22. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Дмитриев В.В. Новые структуры систем функционального контроля логических схем // Автоматика и телемеханика. 2017. № 2. С. 127-143.
23. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Коды с суммированием для систем технического диагностирования. М. : Наука, 2021. Т. 2: Взвешенные коды с суммированием. 455 с.
24. Sapozhnikov V., Sapozhnikov Vl., Efanov D. Typical Signal Correction Structures Based on Duplication with the Integrated Control Circuit // Proc. of 18th IEEE East-West Design & Test Symposium (EWDTS'2020), Varna, Bulgaria, September 4-7, 2020. P. 78-87.
25. Efanov D.V., Sapozhnikov V.V., Sapozhnikov Vl.V. Typical Structure of a Duplicate Error Correction Scheme with Code Control with Summation of Weighted Transitions // Electronic Modeling. 2020. V. 42, is. 5. P. 38-50.
26. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Коды Хэмминга в системах функционального контроля логических устройств. СПб. : Наука, 2018. 151 с.
27. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Коды с суммированием для систем технического диагностирования. М. : Наука, 2020. Т. 1: Классические коды Бергера и их модификации. 383 с.
28. Nikolos D. Self-Testing Embedded Two-Rail Checkers // Journal of Electronic Testing. 1998. V. 12. P. 69-79.
29. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Основы теории надежности и технической диагностики. СПб. : Лань, 2019. 588 с.
30. Zakrevskij A., Pottosin Yu., Cheremisinova L. Optimization in Boolean Space. Tallinn : TUT Press, 2009. 241 p.
31. Sentovich E.M., Singh K.J., Moon C., Savoj H., Brayton R.K., Sangiovanni-Vincentelli A. Sequential Circuit Design Using Synthesis and Optimization // Proc. IEEE International Conference on Computer Design: VLSI in Computers & Processors, 1114 October 1992, Cambridge, MA, USA. P. 328-333.
32. SIS: A System for Sequential Circuit Synthesis / E.M. Sentovich, K.J. Singh, L. Lavagno, C. Moon, R. Murgai, A. Saldanha, H. Savoj, P.R. Stephan, R.K. Brayton, A. Sangiovanni-Vincentelli / Electronics Research Laboratory, Department of Electrical Engineering and Computer Science, University of California. Berkeley, 1992. 45 p.
33. Collection of Digital Design Benchmarks. URL: http:// ddd.fit.cvut.cz/www/prj/Benchmarks/
34. Сапожников Вл.В. Синтез систем управления движением поездов на железнодорожных станциях с исключением опасных отказов. М. : Наука, 2021. 230 с.
35. Drozd A., Kharchenko V., Antoshchuk S., Sulima J., Drozd M. Checkability of the Digital Components in Safety-Critical Systems: Problems and Solutions // Proc. of 9th IEEE East-West Design & Test Symposium (EWDTS'2011). Sevastopol, 2011. P. 411-416.
36. Drozd A., Drozd M., Martynyuk O., Kuznietsov M. Improving of a Circuit Checkability and Trustworthiness of Data Processing Results in LUT-based FPGA Components of Safety-Related Systems // CEUR Workshop Proc. 2017. Vol. 1844. P. 654-661. URL: http://ceur-ws.org/Vol-1844/10000654.pdf
37. Drozd O., Perebeinos I., Martynyuk O., Zashcholkin K., Ivanova O., Drozd M. Hidden Fault Analysis of FPGA Projects for Critical Applications // Proc. of the IEEE International Conference on Advanced Trends in Radioelectronics, Telecommunications and Computer Engineering (TCSET), 2020, 25-29 February, Lviv-Slavsko, Ukraine. Paper 142.
38. Литиков И.П., Согомонян Е.С. Тестово-функциональное диагностирование цифровых устройств и систем // Автоматика и телемеханика. 1985. № 3. С. 111-121.
References
1. Shcherbakov, N.S. (1975) Samokorrektiruyushchiesya diskretnye ustroystva [Self-correcting discrete devices]. Мoscow: Mashi-
nostroenie.
2. Sogomonyan, E.S. & Slabakov, E.V. (1989) Samoproveryaemye ustroystva i otkazoustoychivye sistemy [Self-checking devices
and fault-tolerant systems]. Moscow: Radio i svyaz'.
3. Lala, P.K. (2001) Self-checking and fault-tolerant digital design. San Francisco: Morgan Kaufmann Publishers.
4. Sogomonyan, E.S. (2018) Self-correction fault-tolerant systems. [preprint].
5. Sellers, F.F., Hsiao, M.-Y. & Bearnson, L.W. (1968) Error Detecting Logic For Digital Computers. New York: McGraw-Hill.
6. Gavrilov, M.A., Ostianu, V.M. & Potekhin, A.I. (1969, 1970) Nadezhnost' diskretnykh sistem [Reliability of Discrete Systems].
Moscow: [s.n.]. pp. 7-104.
7. Sapozhnikov, V.V., Sapozhnikov, Vl.V., Khristov, H.A. & Gavzov, D.V. (1995) Metody postroeniya bezopasnykh mikro-
elektronnykh sistem zheleznodorozhnoy avtomatiki [Methods for constructing safety microelectronic systems of railway automation]. Moscow: Transport.
8. Matrosova, A.Yu., Levin I. & Ostanin, S.A. (2000) Self-Checking Synchronous FSM Network Design with Low Overhea. VLSI
Design. 11(1). pp. 47-58. DOI: 10.1155/2000/46578.
9. Sklyar, V.V. & Kharchenko, V.S. (2002) Fault-Tolerant Computer-Aided Control Systems with Multiversion-Threshold Adapta-
tion: Adaptation Methods, Reliability Estimation, and Choice of an Architecture. Avtomatika i telemekhanika - Automation and Remote Control. 6. pp. 131-145.
10. Ostanin, S.A. (2009) Sintez otkazoustoychivykh kombinatsionnykh skhem [Synthesis of Fault-Tolerant Combinational Circuits]. Prikladnaya diskretnaya matematika (prilozhenie № 1). 1. pp. 71-72.
11. Hamamatsu, M., Tsuchiya, T. & Kikuno, T. (2008) Finding the Optimal Configuration of a Cascading TMR System. 14th IEEE Pacific Rim International Symposium on Dependable Computing. Taipei, Taiwan. December 15-17, 2008. pp. 329-350. DOI: 10.1109/PRDC.2008.12.
12. Matsumoto, K., Uehara, M. & Mori, H. (2010) Evaluating the Fault Tolerance of Stateful TMR. 13th International Conference on Network-Based Information Systems. Takayama, Japan. September 14-16, 2010. pp. 332-336. DOI: 10.1109/NBiS.2010.86
13. Bochkov, K.A., Harlap, S.N. & Sivko, B.V. (2016) Design of Axiomatic Based Fault-Tolerant Systems. Avtomatika na transporte - Automation on Transport. vol. 2, Issue 1, pp. 47-64.
14. Stempkovskiy, A.L., Telpuhov, D.V., Zhukova, T.D., Gurov, S.I. & Soloviev, R.A. (2017) Synthesis Methods of Fault-Tolerant Combination CMOS Circuits, Providing Automatic Correction of Errors. Izvestiya YuFU. Tekhnicheskie nauki - Izvestiya SFedU. Engineering sciences. 7(192). pp. 197-210. DOI: 10.23683/2311-3103-2017-7-197-210.
15. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2020) Signal Correction for Combinational Automation Devices on the Basis of Boolean Complement with Control of Calculations by Parity. Informatika - Informatics. 17(2). pp. 71-85. DOI: 10.37661/1816-0301-2020-17-2-71-85.
16. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2020) Fault-Tolerant Structure Based on Boolean Complement with Parity Calculations Control. Avtomatika na transporte - Automation on Transport. 6(3). pp. 377-403. DOI: 10.20295/24129186-2020-6-3-377-403.
17. Gessel, M., Morozov, A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2003) Logic Complement, a New Method of Checking the Combinational Circuits. Avtomatika i telemekhanika - Automation and Remote Control. 1. pp. 167-176.
18. Gössel, M., Ocheretny, V., Sogomonyan, E. & Marienfeld, D. (2008) New Methods of Concurrent Checking. 1st ed. Dordrecht: Springer Science+Business Media B.V.
19. Das, D.K., Roy, S.S., Dmitiriev, A., Morozov, A. & Gössel, M. (2012) Constraint Don't Cares for Optimizing Designs for Concurrent Checking by 1-out-of-3 Codes. Proc. of the 10th International Workshops on Boolean Problems. Freiberg, Germany, September. pp. 33-40.
20. Saposhnikov, Vl.V., Dmitriev, A., Gössel, M. & Saposhnikov, V.V. (1996) Self-Dual Parity Checking - a New Method for on Line Testing. Proceedings of 14th IEEE VLSI Test Symposium. USA, Princeton. pp. 162-168.
21. Efanov, D., Sapozhnikov, V., Sapozhnikov, Vl., Osadchy, G. & Pivovarov, D. (2019) Self-Dual Complement Method up to Constant-Weight Codes for Arrangement of Combinational Logical Circuits Concurrent Error-Detection Systems, Proc. of 17th IEEE East-West Design & Test Symposium (EWDTS'2019). Batumi, Georgia. September 13-16. pp. 136-143. DOI: 10.1109/EWDTS.2019.8884398
22. Sapozhnikov, V.V., Sapozhnikov, Vl.V., Efanov, D.V. & Dmitriev, V.V. (2017) New Structures of the Concurrent Error Detection Systems for Logic Circuits. Automation and Remote Control. 2. pp. 127-143.
23. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2021) Kody s summirovaniem dlya sistem tekhnicheskogo diagnostiro-vaniya [Sum codes for technical siagnostics systems].Vol. 2. Moscow: Nauka.
24. Sapozhnikov, V., Sapozhnikov, Vl. & Efanov, D. (2020) Typical Signal Correction Structures Based on Duplication with the Integrated Control Circuit. Pro. of 18th IEEE East-West Design & Test Symposium (EWDTS'2020). Varna, Bulgaria. September 4-7, 2020. pp. 78-87. DOI: 10.1109/EWDTS50664.2020.9224649
25. Efanov, D.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2020) Typical Structure of a Duplicate Error Correction Scheme with Code Control with Summation of Weighted Transitions. Electronic Modeling. 42(5). pp. 38-50. DOI: 10.15407/emodel.42.05.038
26. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2018J Kody Khemminga v sistemakh funktsional'nogo kontrolya logicheskikh ustroystv [Hamming codes in concurrent error detection systems of logic devices]. St. Petersburg: Nauka.
27. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (2020) Kody s summirovaniem dlya sistem tekhnicheskogo diagnostiro-vaniya [Sum Codes for Technical Siagnostics Systems]. Vol. 1. Moscow: Nauka.
28. Nikolos, D. (1998) Self-Testing Embedded Two-Rail Checkers. Journal of Electronic Testing. 12. pp. 69-79. DOI: 10.1007/978-1-4757-60-69-9_7.
29. 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'.
30. Zakrevskij, A., Pottosin, Yu. & Cheremisinova, L. (2009) Optimization in Boolean Space. Tallinn: TUT Press.
31. Sentovich, E.M., Singh, K.J., Moon, C., Savoj, H., Brayton, R.K. & Sangiovanni-Vincentelli, A. (1992) Sequential Circuit Design Using Synthesis and Optimization. Proc. IEEE International Conference on Computer Design: VLSI in Computers & Processors. Cambridge, MA, USA. October 11-14. pp. 328-333. DOI: 10.1109/ICCD.1992.276282
32. Sentovich, E.M., Singh, K.J., Lavagno, L., Moon, C., Murgai, R., Saldanha, A., Savoj, H., Stephan, P.R., Brayton, R.K. & Sangiovanni-Vincentelli, A. (1992) SIS: A system for sequential circuit synthesis. electronics research laboratory. Department of Electrical Engineering and Computer Science. University of California, Berkeley. 4 th May.
33. Czechia. (n.d.) Collection of Digital Design Benchmarks. [Online] Available from: http:// ddd.fit.cvut.cz/www/prj/Benchmarks/
34. Sapozhnikov, Vl.V. (2021) Sintez sistem upravleniya dvizheniem poezdov na zheleznodorozhnykh stantsiyakh s isklyucheniem opasnykh otkazov [Synthesis of train traffic control systems at railway stations with the exception of dangerous failures]. Moscow: Nauka.
35. Drozd, A., Kharchenko, V., Antoshchuk, S., Sulima, J. & Drozd, M. (2011) Checkability of the Digital Components in Safety-Critical Systems: Problems and Solutions. Proc. of 9th IEEE East-West Design & Test Symposium (EWDTS'2011). Sevastopol, Ukraine. pp. 411-416. DOI: 10.1109/EWDTS.2011.6116606
36. Drozd, A., Drozd, M., Martynyuk, O. & Kuznietsov, M. (2017) Improving of a Circuit Checkability and Trustworthiness of Data Processing Results in LUT-based FPGA Components of Safety-Related Systems. CEUR Workshop Proceedings. 1844. pp. 654661. [Online] Available from: http://ceur-ws.org/Vol-1844/10000654.pdf
37. Drozd, O., Perebeinos, I., Martynyuk, O., Zashcholkin, K., Ivanova, O. & Drozd, M. (2020) Hidden Fault Analysis of FPGA Projects for Critical Applications. Proc. of the IEEE International Conference on Advanced Trends in Radioelectronics, Telecommunications and Computer Engineering (TCSET). Lviv-Slavsko, Ukraine. February 25-29. Paper 142. DOI: 10.1109/TCSET49122.2020.235591
38. Litikov, I.P. & Sogomonyan, E.S. (1985) Test and Functional Diagnosis of Digital Devices and Systems. Avtomatika i teleme-khanika - Automation and Remote Control. 3. pp. 111-121.
Информация об авторе:
Ефанов Дмитрий Викторович - доктор технических наук, профессор кафедры автоматики, телемеханики и связи на железнодорожном транспорте Российского университета транспорта (Москва, Россия); профессор Высшей школы транспорта Института машиностроения, материалов и транспорта Санкт-Петербургского политехнического университета Петра Великого (Санкт-Петербург, Россия). E-mail: TrES-4b@yandex.ru
Information about the author:
Efanov Dmitry Viktorovich - Doctor of Technical Sciences, Professor, Russian University of Transport (Moscow, Russian Federation); Peter the Great St. Petersburg Polytechnic University (St. Petersburg, Russian Federation). E-mail: TrES-4b@yandex.ru
Поступила в редакцию 11.06.2021; принята к публикации 28.02.2022 Received 11.06.2021; accepted for publication 28.02.2022