ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА 2023 Управление, вычислительная техника и информатика № 65
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/65/13
Особенности реализации самопроверяемых структур на основе метода инвертирования данных и линейных кодов
Дмитрий Викторович Ефанов
Санкт-Петербургский политехнический университет Петра Великого, Санкт-Петербург, Россия, Российский университет транспорта (МИИТ), Москва, Россия, Ташкентский государственный транспортный университет, Ташкент, Узбекистан, [email protected]
Аннотация. Рассматриваются особенности реализации самопроверяемых цифровых устройств на основе метода инвертирования данных и линейных кодов. Установлены особенности применения линейных кодов, которые следует учитывать при разработке самопроверяемых цифровых устройств. Предложена модифицированная структура организации схем встроенного контроля, подразумевающая контроль вычислений по признакам самодвойственности и самоантидвойственности вычисляемых функций и по признаку принадлежности формируемых кодовых векторов заранее выбранным линейным кодам.
Ключевые слова: самопроверяемые цифровые устройства; метод инвертирования данных; линейный код; самодвойственная булева функция; самоантидвойственная булева функция; контроль вычислений на выходах цифровых устройств.
Для цитирования: Ефанов Д.В. Особенности реализации самопроверяемых структур на основе метода инвертирования данных и линейных кодов // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2023. № 65. С. 126-138. doi: 10.17223/19988605/65/13
Original article
doi: 10.17223/19988605/65/13
The self-checking structures implementation features based on the inverting data and linear block code method
Dmitry V. Efanov
Peter the Great Saint Petersburg Polytechnic University, Saint Petersburg, Russian Federation, Russian University of Transport, Moscow, Russian Federation, Tashkent State Transport University, Tashkent, Uzbekistan, [email protected]
Abstract. The self-checking digital device implementation features based on the data inversion and linear block codes method are considered. The features of the linear block codes using, which should be considered in case of developing self-checking digital devices, are established. The concurrent error-detection circuit modified structure is proposed, implying the calculation control based on self-duality and self-anti-duality of the calculated functions and based on belonging the generated code vectors to pre-selected linear block codes.
Keywords: self-checking digital devices; data inversion method; linear code; self-dual Boolean function; self-anti-dual Boolean function; calculations testing at the outputs of digital devices.
© Д.В. Ефанов, 2023
For citation: Efanov, D.V. (2023) The self-checking structures implementation features based on the inverting data and linear block code method. Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika - Tomsk State University Journal of Control and Computer Science. 65. pp. 126-138. doi: 10.17223/19988605/65/13
Введение
Одним из подходов к синтезу самопроверяемых цифровых устройств является применение метода инвертирования данных, подразумевающего использование временной избыточности и импульсного режима работы [1, 2]. В этом случае вычисления контролируются по признаку принадлежности формируемых функций классу самодвойственных булевых функций [3].
Подход к построению самопроверяемых цифровых устройств, предполагающий контроль самодвойственности вычисляемых функций, изучался в большом количестве работ отечественных и зарубежных ученых. Одной из первых работ, в которой обсуждались вопросы реализации устройств с обнаружением неисправностей на основе использования свойств самодвойственных функций (alternating logic design), является статья [1]. В ней установлены необходимые и достаточные условия построения комбинационных логических структур с обнаружением всех одиночных неисправностей на основе свойств самодвойственных функций. В статье [2] обращается внимание на особенности построения логических схем с памятью, в которых вычисления контролируются с использованием свойств самодвойственных функций; предложены самодвойственные модификации простейших устройств с памятью - триггеров. Отдельного внимания заслуживают работы в части использования свойств самодвойственных булевых функций, проводившиеся в 90-е гг. прошлого столетия под руководством профессоров Сапожниковых. Ими развита теория синтеза самопроверяемых самодвойственных цифровых комбинационных устройств и устройств с памятью. При этом предложены оригинальные методы синтеза схем встроенного контроля по признаку самодвойственности вычисляемых функций - самодвойственная модификация структуры контроля вычислений по паритету [4, 5], самодвойственная модификация структуры контроля вычислений путем дублирования [6, 7] и др. Основные результаты в теории синтеза самодвойственных структур цифровых устройств опубликованы в монографиях [8-10].
Дальнейший виток исследований в теории синтеза самопроверяемых устройств с использованием временной избыточности и импульсного режима работы связан с нынешним периодом и охватывает вопросы моделирования самодвойственных структур, совершенствования методов диагностирования за счет использования при контроле вычислений нескольких диагностических признаков, совместного применения гибридных структур синтеза схем встроенного контроля на основе метода логической коррекции сигналов, исследования особенностей обнаружения ошибок на выходах устройств и др.[11-15].
Последние исследования особенностей синтеза самопроверяемых устройств с использованием временной избыточности и импульсного режима работы показывают, что для контроля вычислений могут использоваться не только самодвойственные функции, но и «близкие» к ним, так называемые самоантидвойственные булевы функции [16, 17]. Для этого требуется только некоторая модификация известной структуры [1] тестера самодвойственных сигналов. Кроме того, целый класс устройств обладает таким свойством: выходы описываются либо самодвойственными, либо самоантидвойствен-ными функциями. Читателю предлагаются некоторые результаты, полученные автором в части использования свойств самодвойственных и самоантидвойственных функций при синтезе самопроверяемых цифровых устройств.
1. Структура организации контроля вычислений для построения самопроверяемых цифровых устройств
Рассмотрим структуру организации контроля вычислений, изображенную на рис. 1. Данная структура предложена в статье [14. Рис. 5]. В ней исходное самодвойственное устройство F(x), реализующее функцииf1,f2, ..., fm, снабжается специализированной схемой встроенного контроля по двум
диагностическим признакам - принадлежности вычисляемых функций классу самодвойственных и принадлежности формируемых кодовых векторов заранее выбранному блоковому разделимому коду (n, m), где n - число символов в кодовом слове, а m - число информационных символов.
В схеме встроенного контроля для получения проверочных символов (n, m) кода используется кодер Gf), определяющий значения проверочных символов gi, g2, ..., gk по значениям информационных символовfi,f2, ..., fm. Функции gi, g2, ..., gk должны обладать свойством самодвойственности. Это обеспечивается только тем, что сам кодер G(f) является самодвойственным устройством. Для контроля самодвойственности функций gi, g2, ..., gk устанавливается каскад тестеров самодвойственного сигнала kSDCl, позволяющий k самодвойственных сигналов сжать в один. Устройство kSDCi реализуется на основе k тестеров самодвойственности SDC (self-dual checker) и k - 1 модуля сжатия парафазных сигналов TRC (two-rail checker) [18]. На выходах z\ и z\ kSDCl осуществляется контроль вычислений по признаку самодвойственности функций. Для контроля принадлежности вычисляемых кодовых векторов заданному (n, m) коду используется кодер G(x), определяющий значения проверочных символов g'i, g'2, ..., g'k по значениям входных воздействий на систему диагностирования, а также компаратор kTRCl. Компаратор сравнивает одноименные сигналы с выходов блоков G(f) и G(x). Он строится на основе k - 1 модуля TRC. Так как последний функционирует в парафазной логике, требуется предварительное инвертирование сигналов от блока G(x) или от блока Gf), либо же сам блок G(x) должен вычислять инверсные сигналы для gi, g2, ..., gk. Выходы z\ и z\ kTRCl являются контрольными выходами по признаку принадлежности формируемых кодовых векторов выбранному (n, m) коду. Для получения одного наблюдаемого выхода выходы z\ и z\ kSDCl и z\ и z\ kTRCl подключаются к одному модулю TRC.
(U ч g £
ем я
й а
li H l-Q
К M 8
Рис. 1. Структура организации контроля вычислений Fig. 1. Structure of the concurrent checking
Особое значение в представленной структуре имеет блок Gf). Данное устройство должно обладать свойством самодвойственности. Например, в статье [14. Теорема 3] доказано, что известные коды Хэмминга [19] с числом символов п — 3 + 41 (/ е М0) обладают свойством самодвойственности всех функций, описывающих проверочные символы, а кодеры таких кодов будут самодвойственными устройствами. Это позволяет применять коды Хэмминга при синтезе структуры, представленной на рис. 1.
Известны и другие блоковые разделимые коды, обладающие свойством самодвойственности всех функций, описывающих проверочные символы [14, 15].
2. Особенности линейных кодов, используемые в самодвойственных цифровых устройствах
Выходы кодеров кодов Хэмминга, как и любых других линейных кодов, описываются линейными булевыми функциями.
Определение 1 [1]. Функцияfx1, x2, ..., xí) называется линейной, если она может быть представлена в виде полинома Жегалкина первой степени:
/ (х, х,..., х) = С © Сх © С2х2 ©... © Сх, (1)
где Ci = 0 или 1.
В [20] доказано следующее положение.
Теорема 1. Линейная булева функция будет самодвойственной только в том случае, если имеет нечетное количество аргументов, от которых она зависит существенно.
Определение 2 [1]. Функцияf(xl, X2, ...,Xí) называется самодвойственной, если
/ (Х , Х2, •••, ) = / (Х1, Х2, •••, )• (2)
Самодвойственная функция принимает противоположные значения при инвертировании всех аргументов (при подстановке в качестве входных комбинаций «противоположных» кодовых комбинаций). Самодвойственная функция равна своей двойственной функции.
Отметим, что также известно понятие самоантидвойственной функции [16, 17], которая принимает одинаковые значения при инвертировании всех аргументов, т.е. равна инверсии двойственной к ней функции.
Определение 3. Функцияf(xl, X2, ..., Xí) называется самоантидвойственной, если
/(Х,Х2,...,xt) _ /(Х,Х2,...,Х). (3)
Самоантидвойственные функции «близки» к самодвойственным. Единственное отличие - противоположные значения на противоположных комбинациях.
К примеру, для функции х & Х2 двойственной является функция х V Х2, а антидвойственной -
Х ^ х2.
Теорема 2. Линейная булева функция будет самоантидвойственной только в том случае, если имеет четное количество аргументов, от которых она зависит существенно.
Доказательство. Функция является самоантидвойственной, если выполняется равенство (3). Рассмотрим произвольную линейную функцию / = х © Х © ••• © х 1 © х , q е {1, 2,...,
Пусть q = qo + ql, где qo - число нулевых аргументов, а ql - число единичных аргументов.
Рассмотрим все четыре случая сочетания чисел q, qo и ql с позиции четности и нечетности их значений.
Предположим, что число q является нечетным. В этом случае либо qo четно и ql нечетно, либо qo нечетно и ql четно. Возьмем входную комбинацию, соответствующую случаю, когда qo четно и ql нечетно. Значение функции f на такой входной комбинации будет равно 1, так как нечетно ql. Инвертируем все переменные в выбранной входной комбинации и получим случай, когда qo нечетно
и qi четно. Значение функции f на такой входной комбинации уже будет равно 0, так как число qi четно. Рассматриваемый вариант характерен как раз самодвойственным функциям.
Положим теперь, что q является четным числом. В этом случае либо qo четно и qi четно, либо qo нечетно и qi нечетно. Аналогично проделанному выше возьмем входную комбинацию, соответствующую случаю, когда qo четно и qi четно. Значение функции f на такой входной комбинации будет равно 0, так как четно qi. Инверсия всех переменных для выбранной комбинации даст комбинацию, для которой q0 и qi также будут четными. Значение f = 0. Это как раз есть признак самоанти-двойственной функции. Возьмем случай, когда qo нечетно и qi нечетно. Значение функции f на такой входной комбинации равно 1, так как число qi нечетно. Инверсия всех переменных в выбранной входной комбинации нечетности чисел qo и qi не нарушит, а значит, и значение функции останется равным 1. Это также признак самоантидвойственной функции.
Из теорем 1 и 2 следует
Утверждение 1. Любая функция, описывающая проверочные символы линейного кода, является либо самодвойственной, либо самоантидвойственной, а кодер любого линейного кода будет либо самодвойственным устройством (SD-устройством), либо самоантидвойственным устройством (SAD-устройством), либо самодвойственно-самоантидвойственным устройством (SD/SAD-устройством).
Для контроля вычислений в SD-, SAD- и SD/SAD-устройствах используются специализированные устройства, которые рассмотрим далее.
3. Тестеры самодвойственных и самоантидвойственных сигналов
В структуре рис. 1 для контроля самодвойственности сигналов используется тестер SDC (self-dual checker), структура которого приведена на рис. 2. Аналогично может быть разработан тестер самоантидвойственных сигналов SADC (self-anti-dual checker).
Контрольные выходы
Рис. 2. Тестер самодвойственного сигнала Fig. 2. Self-dual checker
SDC позволяет контролировать принадлежность формируемой функции f* классу самодвойственных булевых функций. При помощи линии задержки (ЛЗ на рис. 2), равной одному такту импульсной последовательности a, сигнал f* преобразуется в двухфазный сигнал <vi V2>. При отсутствии ошибок в импульсной последовательности в контрольных тактах в точках vi и V2 формируются сигналы с противоположными значениями. В информационных тактах могут формироваться сигналы как с одинаковыми, так и с противоположными значениями. При наличии ошибки в сигнале в некотором периоде в контрольном такте этого периода в точках v1 и v2 всегда формируются сигналы с одинаковыми значениями. Отсюда следует, что контроль самодвойственного сигнала можно осуществлять только в контрольном такте. Схема SDC преобразует самодвойственный сигнал f* в пространственный парафазный сигнал <z0 z1>. При этом во время информационного такта, когда a = 0, значения сигналов на выходах z0 и z1 не зависят от сигналов в точках vi и V2, а на них всегда формируется парафазный сигнал <10>. Во время контрольного такта, когда a = 1, устанавливаются равенства z0 = vi и zi = v2, а следовательно, осуществляется контроль самодвойственного сигнала в текущем периоде.
0
z
z
a
На рис. 3 изображен SADC, который получен путем модификации SDC. Структура SADC отличается от структуры SDC тем, что на входах второго элемента AND установлен инвертор. SADC работает аналогично тестеру самодвойственного сигнала.
f*
Контрольные выходы
Рис. 3. Тестер самоантидвойственного сигнала Fig. 3. Self-anti-dual checker
s > °
^ о
ci Й
H Л
и n
о
ы
Рис. 4. Модифицированная структура организации контроля вычислений Fig. 4. Modified structure of the concurrent checking
При использовании для контроля вычислений свойств самодвойственных и самоантидвой-ственных функций несколько модифицируется и структура, изображенная на рис. l. Модифицированная структура организации контроля вычислений приведена на рис. 4. В ней блок kSDCl заменен
0
z
z
a
блоком kSDC / SADC1, в котором ^ < k выходов кодера G(/), описываемых самодвойственными функциями, контролируются с использованием SDC, и k - к* выходов кодера Gf), описываемых са-моантидвойственными функциями, контролируются с использованием SADC. Можно сказать, что образуются две подсистемы контроля - k*SDC1 и ^ - k*)SADC1. В каждом из этих устройств к* и k - к* выходов тестеров самодвойственности и самоантидвойственности подключены к схемам сжатия, реализованным на основе к* - 1 и k - &* - 1 модуля TRC соответственно, а выходы последних каскадов подключены к входам одного TRC, на выходах и которого осуществляется контроль вычислений по признаку самодвойственности или самоантидвойственности функций.
4. Особенности обнаружения ошибок в реализациях линейных функций
Рассмотрим в качестве примера две линейные функции: = х © X © х и /2 = х © х2 © х © х4. На основании теорем 1 и 2 функция / является самодвойственной, а fl - самоантидвойственной. Их технические реализации представлены на рис. 5.
a b
Рис. 5. Технические реализации функций: а -fi; b -f Fig. 5. Technical implementations of functions: а - fi; b - f
Рассмотрим возникновение одиночных константных неисправностей на выходах внутренних элементов в технических реализациях обеих функций и особенности их обнаружения при контроле самодвойственности вычисляемых функций.
Обратимся к рис. 5, а, где изображено SD-устройство. Рассмотрим неисправности элемента XORi видов «константа 0» и «константа 1» и их проявления на выходе fi. На рис. 6, а показаны проявление ошибки вида «константа 0» на выходе рассматриваемого элемента, активация неисправности и ее трансляция на выход fi при подаче на входы комбинации <011>. Хорошо известно, что в схемах, реализующих линейные функции, константные неисправности при их проявлении всегда транслируются на выходы [3]. Однако при подаче второй комбинации <100> из пары подаваемых на входы при импульсном режиме работы ошибка также транслируется на выход f (рис. 6, Ь).Так как переменная хз = 0 при подаче первой комбинации из пары и хз = 1 при подаче второй комбинации из пары, происходят противоположные виды искажений при трансляции ошибки: в первом случае - 0 ^ 1, а во втором - i ^ 0. Такая ошибка не будет обнаружена SDC. Аналогичное обстоятельство имеет место при рассмотрении неисправности вида «константа 1» (рис. 6, c и d). При подаче на входы комбинации <001> ошибка вида «константа 1» транслируется на выход схемы в виде неисправности 1 ^ 0, а при подаче комбинации <100> - в виде неисправности 0 ^ 1. Такая неисправность не будет обнаружена SDC.
В табл. 1 приведены значения функции fi на всех входных комбинациях, а также значения функции с ошибками вида «константа 0» и «константа 1» - графы f и f. Как следует из таблицы, все три функции являются самодвойственными, а значит, при контроле по признаку самодвойственности рассматриваемые неисправности обнаружены не будут.
c d
Рис. 6. Трансляция ошибок на выходы схемы реализации функцииfi: а - трансляция ошибки «константа 0» на выходе элемента XORi при подаче первой комбинации из пары; b - трансляция ошибки «константа 0» на выходе элемента XORi при подаче второй комбинации из пары; c - трансляция ошибки «константа l» на выходе элемента XORi при подаче первой комбинации из пары; d - трансляция ошибки «константа l» на выходе элемента XORi при подаче второй комбинации из пары Fig. 6. Translation of errors to the outputs of the implementation circuit of the function fi: a) translation of the stuck-at-0 at the output of the XORi when the ist combination of the pair is applied; b) translation of the stuck-at-0 at the output of the XORi when the 2nd combination of the pair is applied; c) translation of the stuck-at-i at the output of the XORi when the ist combination of the pair is applied; d) translation of the stuck-at-i at the output of the XORi when the 2nd combination of the pair is applied
Таблица l
Влияние ошибок элемента ХОЯг на выходы схемы реализации функции /1
b
a
№ xi Х2 Х3 fi J1 r0 J1
0 0 0 0 0 0 i
i 0 0 i i i 0
2 0 i 0 i 0 i
3 0 i i 0 i 0
4 i 0 0 i 0 i
5 i 0 i 0 i 0
6 i i 0 0 0 i
7 i i i i i 0
Аналогично рассмотрим и схему, приведенную на рис. 5, b, где изображено SAD-устройство. Рассмотрим неисправности элемента XORi видов «константа 0» и «константа l» и их проявления на выходе f2. На рис. 7, а показана трансляция ошибки вида «константа 0» на выход схемы при подаче на входы комбинации <0ll0>. На выходе схемы возникает искажение 0 ^ l. При подаче на входы инвертированной во всех разрядах комбинации <l00l> (рис. 7, b) ошибка также транслируется на выход в виде искажения 0 ^ l. Это происходит потому, что при подаче первой комбинации из пары хз = l и Х4 = 0, а при подаче второй комбинации - хз = 0 и Х4 = l. При подаче первой комбинации из пары при трансляции ошибки на выход схемы вид ошибки сначала поменялся на выходе элемента XOR2, а затем остался неизменным после трансляции через элемент XOR3. При подаче второй комбинации из пары при трансляции ошибки ее вид сначала не поменялся на выходе элемента XOR2, а затем изменился после трансляции через элемент XOR3. Такая ошибка не будет обнаружена SADC.
Аналогичное обстоятельство имеет место и при трансляции ошибки вида «константа 1» на выход схемы (см. рис. 7, с и Данная ошибка также не будет обнаружена БЛВС.
b
c d
Рис. 7. Трансляция ошибок на выходы схемы реализации функцииf2: а - трансляция ошибки «константа 0» на выходе элемента XORi при подаче первой комбинации из пары; b - трансляция ошибки «константа 0» на выходе элемента XORi при подаче второй комбинации из пары; c - трансляция ошибки «константа 1» на выходе элемента XORi при подаче первой комбинации из пары; d - трансляция ошибки «константа 1» на выходе элемента XORi при подаче второй комбинации из пары Fig. 7. Translation of errors to the outputs of the implementation circuit of the functionf2: a) translation of the stuck-at-0 at the output of the XORi when the 1st combination of the pair is applied; b) translation of the stuck-at-0 at the output of the XORi when the 2nd combination of the pair is applied; c) translation of the stuck-at-1 at the output of the XORi when the 1st combination of the pair is applied; d) translation of the stuck-at-i at the output of the XORi when the 2nd combination of the pair is applied
В табл. 2 приведены значения функции f на всех входных комбинациях, а также значения функции с ошибками вида «константа 0» и «константа 1» - графы f1^0 и f0^1.
Как следует из табл. 2, все три функции являются самоантидвойственными, а значит, при контроле по признаку самоантидвойственности рассматриваемые неисправности обнаружены не будут.
Теорема 3. В схемной реализации линейной булевой функции от нечетного числа аргументов, от которых она зависит существенно, при контроле вычислений по признаку самодвойственности не тестируются неисправности логических элементов, которые связаны путями с четным числом входов.
Доказательство. Рассмотрим произвольную линейную самодвойственную функцию f = x Фx ©■■■ ©xm-i ©X,■ Согласно теореме 1 число m является нечетным.
Пусть ошибка происходит на выходе элемента, связанного с q входами. Тогда рассматриваемую функцию можно переписать в виде: f = (X © X © ••• © X-i © X)© X+i © © © •
Возможно два случая. Первый - число q является нечетным. Так как число m также является нечетным, то число m - q будет четным. При неисправности вида «константа 0» выражение
X © X © ••• © X-i © X = ^ и f = 0 © X+i © ••• © Х-1 © хт = X+i © ••• © © хт; при неисправности вида
«константа 1» выражение х © X © ••• © хч-\ © X = 1 и f = 1 © Х+1 © ••• © хт-\ © X = хч+\ © ••• © хт-\ © хт•
Таким образом, при вычислении функции f по модулю М = 2 складывается четное число аргументов. Из теоремы 2 следует, что такая функция будет самоантидвойственной. Следовательно, при контроле вычислений по признаку самодвойственности неисправность будет обнаружена.
a
Второй случай - число q является четным. Тогда число m - q будет нечетным, а значит, при возникновении неисправности на выходе элемента, который связан путями с q входами, в функции f складывается по модулю M = 2 нечетное число аргументов. Из теоремы l следует, что такая функция будет самодвойственной. Следовательно, при контроле вычислений по признаку самодвойственности неисправность обнаружена не будет.
Таблица 2
Влияние ошибок элемента XORi на выходы схемы реализации функции f 2
№ xi Х2 Х3 Х4 f2 w^o J 2 r-0 J 2
0 0 0 0 0 0 0 i
i 0 0 0 i i i 0
2 0 0 i 0 i i 0
3 0 0 i i 0 0 i
4 0 i 0 0 i 0 i
5 0 i 0 i 0 i 0
6 0 i i 0 0 i 0
7 0 i i i i 0 i
8 i 0 0 0 i 0 i
9 i 0 0 i 0 i 0
i0 i 0 i 0 0 i 0
ii i 0 i i i 0 i
i2 i i 0 0 0 0 i
i3 i i 0 i i i 0
i4 i i i 0 i i 0
i5 i i i i 0 0 i
Теорема 4. В схемной реализации линейной булевой функции от четного числа аргументов, от которых она зависит существенно, при контроле вычислений по признаку самоантидвойственности не тестируются неисправности логических элементов, которые связаны путями с четным числом входов.
Доказательство. Как и при доказательстве теоремы 3, рассмотрим произвольную линейную, но самоантидвойственную функцию / = х © X ©... © хт_х © хт. Согласно теореме 2 число т является четным.
Пусть ошибка происходит на выходе элемента, связанного с q входами. Тогда рассматриваемую функцию можно переписать в виде: / = ( х © X © ••• © х^ © X )© х9+1 © ... © хтЧ © хт.
Возможно два случая. Первый - число q является нечетным. Поскольку число т является четным, то число т - q будет нечетным. При вычислении функции/по модулю М = 2, таким образом, складывается нечетное число аргументов, от которых функция зависит существенно. Из теоремы 1 следует, что такая функция будет самодвойственной. Следовательно, при контроле вычислений по признаку самоантидвойственности неисправность будет обнаружена.
Второй случай - число q является четным. Тогда число т - q будет четным, а значит, при возникновении неисправности на выходе элемента, который связан путями с q входами, в функции / складывается по модулю М = 2 четное число аргументов. Из теоремы 2 следует, что такая функция будет самоантидвойственной. Следовательно, при контроле вычислений по признаку самоантидвой-ственности неисправность обнаружена не будет.
Из утверждения 1, теорем 3 и 4 непосредственно следует.
Утверждение 2. Кодеры и декодеры линейных кодов не будут самопроверяемыми при контроле вычислений по признакам самодвойственности и самоантидвойственности.
Из утверждения 2 следует, что для построения полностью самопроверяемых цифровых устройств со схемами встроенного контроля на основе линейных кодов потребуется дополнительный контроль кодеров и декодеров. Как раз этот дополнительный контроль и реализуется в структурах рис. l и 4 - контроль принадлежности вычисляемых кодовых векторов заранее выбранному (n, m) коду.
Заключение
Линейные коды обладают важным свойством, которое может быть эффективно использовано при построении самопроверяемых цифровых устройств, - функции, описывающие проверочные символы, принадлежат к виду либо самодвойственных, либо самоантидвойственных булевых функций. Используя признаки принадлежности вычисляемых устройством функций виду самодвойственных и самоантидвойственных булевых функций, можно синтезировать самопроверяемые цифровые устройства. В статье доказано, что только при контроле по двум обозначенным признакам в схеме встроенного контроля не удается обеспечить полную самопроверяемость кодера линейного кода. Самопроверяемость кодера обеспечивается при организации дополнительной подсхемы контроля вычислений по признаку принадлежности кодовых векторов выбранному линейному коду. Кроме того, использование нескольких диагностических признаков при организации схемы встроенного контроля позволяет повысить показатели контролепригодности цифрового устройства в части наблюдаемости за счет повышения числа тестовых комбинаций среди рабочих [l4]. Такой подход к построению самопроверяемых цифровых устройств эффективен при редко меняющихся данных на их входах, что актуально при построении устройств и систем критического применения [2l, 22].
Дальнейшие исследования могут быть связаны с анализом возможностей применения различных линейных кодов с учетом их обнаруживающих способностей при синтезе самопроверяемых цифровых устройств, использующих временную избыточность и импульсный режим работы.
Развитие теории синтеза самопроверяемых цифровых устройств на основе использования свойств особых классов булевых функций способствует совершенствованию технологий реализации самодиагностируемых и контролепригодных управляющих систем.
Список источников
1. Reynolds D.A., Meize G. Fault Detection Capabilities of Alternating Logic // IEEE Transactions on Computers. i978. V. C-27,
is. i2. P. i093-i098. doi: i0.ii09/TC.i978.i6750ii
2. Аксёнова Г.П. Восстановление в дублированных устройствах методом инвертирования данных // Автоматика и телеме-
ханика. l987. № l0. С. i44-i53.
3. Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Основы теории надежности и технической диагностики. СПб. : Лань,
20i9. 588 с.
4. Saposhnikov Vl.V., Dmitriev A., Goessel M., Saposhnikov V.V. Self-Dual Parity Checking a New Method for on Line Testing //
Proc. of i4th IEEE VLSI Test Symposium. Princeton, i996. P. i62-i68. doi: i0.ii09/VTEST.i996.5i0852
5. Гессель М., Дмитриев А.В., Сапожников В.В., Сапожников Вл.В. Самотестируемая структура для функционального об-
наружения отказов в комбинационных схемах // Автоматика и телемеханика. l999. № ii. С. i62-i74.
6. Saposhnikov Vl.V., Moshanin V., Saposhnikov V.V., Goessel M. Experimental Results for Self-Dual Multi-Output Combinational
Circuits // Journal of Electronic Testing: Theory and Applications. i999. V. i4, is. 3. P. 295-300. doi: i0.i023/A:i008370405607
7. Гессель М., Дмитриев А.В., Сапожников В.В., Сапожников Вл.В. Обнаружение неисправностей в комбинационных схе-
мах с помощью самодвойственного контроля // Автоматика и телемеханика. 2000. № 7. С. i40-i49.
8. Сапожников В.В., Сапожников Вл.В., Гессель М. Самодвойственные дискретные устройства. СПб. : Энергоатомиздат,
С.-Петерб. отд-ние, 200i. 33l с.
9. Сапожников В.В., Сапожников Вл.В., Валиев Р.Ш. Синтез самодвойственных дискретных систем. СПб. : Элмор, 2006.
220 с.
10. Goessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking. Ed. i. Dordrecht : Springer Science + Business Media B.V., 2008. i84 p.
11. 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 i7th IEEE
East-West Design & Test Symposium (EWDTS'2019), Batumi, Georgia, September 13-i6, 20i9, P. i36-i43. doi: i0.ii09/EWDTS.20i9.8884398
12. Efanov D.V., Pivovarov D.V. The Hybrid Structure of a Self-Dual Built-In Control Circuit for Combinational Devices with Pre-Compression of Signals and Checking of Calculations by Two Diagnostic Parameters // Proc. of i9th IEEE East-West Design & Test Symposium (EWDTS'2021). Batumi, Georgia, September i0-i3. 202i. P. 200-206. doi: i0.ii09/EWDTS 52692.202i.958i0i9
13. Ефанов Д.В., Пивоваров Д.В. Синтез самопроверяемых комбинационных устройств с контролем вычислений по двум диагностическим параметрам // Известия высших учебных заведений. Приборостроение. 2022. Т. 65, № 7. С. 46i-477. doi: i0.i7586/002i-3454-2022-65-7-46i-477
14. Ефанов Д.В., Погодина Т.С. Исследование свойств самодвойственных комбинационных устройств с контролем вычислений на основе кодов Хэмминга // Информатика и автоматизация. 2023. Т. 22, №2. C. 349-392. doi: i0.i5622/ia.22.2.5
15. Ефанов Д.В., Погодина Т.С. Самодвойственные цифровые устройства с контролем вычислений по кодам Сяо // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2023. № 63. С. 118-136. doi: i0.i7223/i9988605/63/i4
16. Шалыто А.А. Логическое управление. Методы аппаратной и программной реализации. СПб. : Наука, 2000. 780 c.
17. Шалыто А.А. Модули, универсальные в классе самодвойственных функций и в «близких» к ним классах // Известия Академии наук. Теория и системы управления. 2001. № 5. С. ii0-i20.
18. Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco : Morgan Kaufmann Publishers, 200i. 2i6 p.
19. Hamming R.W. Error Detecting and Correcting Codes // Bell System Technical Journal. i950. V. 29 (2). P. i47-i60. doi: i0.i002/j.i538-7305.i950.tb00463.x
20. Ефанов Д.В., Погодина Т.С. Самодвойственный контроль комбинационных схем с применением кодов Хэмминга // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2022. № 3. С. ii3-i22. doi: i0.3in4/2078-7707-2022-3-n3-m
21. 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, Ukraine, 20ii. P. 4ii-4i6. doi: i0.ii09/EWDTS.20ii.6ii6606
22. 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). 25-29 February 2020, Lviv-Slavsko, Ukraine. Art. i42. doi: i0.ii09/TCSET49i22.2020.23559i
References
1. Reynolds, D.A. & Meize, G. (i978) Fault Detection Capabilities of Alternating Logic. IEEE Transactions on Computers.
C-27(i2). pp. i093-i098. DOI: i0.ii09/TC.i978.i6750ii
2. Aksenova, G.P.(i987) Restoration in Duplicated Units by the Method of Data Inversion. Avtomatika i telemekhanika - Automa-
tion and Remote Control. i0. pp. i44-i53.
3. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Efanov, D.V. (20i9) Osnovy teorii nadezhnosti i tekhnicheskoy diagnostiki [Funda-
mentals of the Theory of Reliability and Technical Diagnostics]. St. Petersburg: Lan.
4. Saposhnikov, Vl.V., Dmitriev, A., Goessel, M. & Saposhnikov, V.V. (i996) Self-Dual Parity Checking a New Method for on Line
Testing. Proceedings of 14th IEEE VLSI Test Symposium. USA, Princeton. pp. i62-i68. DOI: i0.ii09/VTEST.i996.5i0852
5. Goessel, M., Dmitriev, A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (i999) A Functional Fault-Detection Self-Test for
Combinational Circuits. Avtomatika i telemekhanika - Automation and Remote Control. ii. pp. i62-i74.
6. Saposhnikov, Vl.V., Moshanin, V., Saposhnikov, V.V. & Goessel, M. (i999) Experimental Results for Self-Dual Multi-
Output Combinational Circuits. Journal of Electronic Testing: Theory and Applications. i4(3). pp. 295-300. DOI: i0.i023/A:i008370405607
7. Goessel, M., Dmitriev, A.V., Sapozhnikov, V.V. & Sapozhnikov, Vl.V. (2000) Detection of Faults in Combinational Circuits by
a Self-Dual Test. Avtomatika i telemekhanika - Automation and Remote Control. 7. pp. i40-i49.
8. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Goessel, M. (200i) Samodvoystvennye diskretnye ustroystva [Self-dual Digital Devices].
St. Petersburg: Energoatomizdat.
9. Sapozhnikov, V.V., Sapozhnikov, Vl.V. & Valiev, R.Sh. (2006) Sintez samodvoystvennykh diskretnykh sistem [Synthesis of Self-
Dual Digital Systems]. St. Petersburg: Elmor.
10. Goessel, M., Ocheretny, V., Sogomonyan, E. & Marienfeld, D. (2008) New Methods of Concurrent Checking. Dordrecht: Springer Science+Business Media B.V.
11. Efanov, D., Sapozhnikov, V., Sapozhnikov, Vl., Osadchy, G. & Pivovarov, D. (20i9) Self-Dual Complement Method up to Constant-Weight Codes for Arrangement of Combinational Logical Circuits Concurrent Error-Detection Systems. Proceedings of 17th IEEE East-West Design & Test Symposium (EWDTS'2019). Batumi, Georgia. September i3-i6. pp. i36-i43. DOI: i0.ii09/EWDTS.20i9.8884398
12. Efanov, D.V. & Pivovarov, D.V. (202i) The Hybrid Structure of a Self-Dual Built-In Control Circuit for Combinational Devices with Pre-Compression of Signals and Checking of Calculations by Two Diagnostic Parameters. Proceedings of
19th IEEE East-West Design & Test Symposium (EWDTS'2021). Batumi, Georgia, September i0-i3. pp. 200-206. DOI: i0.ii09/EWDTS52692.202i.958i0i9
13. Efanov, D.V. & Pivovarov, D.V. (2022) Synthesis of Self-Testable Combinational Devices with Control of Calculations by Two Diagnostic Parameters. Izvestiya vysshikh uchebnykh zavedeniy. Priborostroenie - Journal of Instrument Engineering. 65(7). pp. 46i-477. DOI: i0.i7586/002i-3454-2022-65-7-46i-477
14. Efanov, D.V. & Pogodina, T.S. (2023) Properties Investigation of Self-Dual Combinational Devices with Calculation Control Based on Hamming Codes. Informatika i avtomatizatsiya - Informatics and Automation. 22(2). pp. 349-392. DOI: i0.i5622/ia.22.2.5
15. Efanov, D.V. & Pogodina, T.S. (2023) Self-Dual Digital Devices with Calculations Testing by Hsiao Codes. Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitel'naya tekhnika i informatika. 63. pp. ii8-i36. DOI: i0.i7223/i9988605/63/i4
16. Shalyto, A.A. (2000) Logicheskoe upravlenie. Metody apparatnoy iprogrammnoy realizatsii [Logic Control. Methods of Hardware and Software Implementation]. St. Petersburg: Nauka.
17. Shalyto, A.A. (200i) Modules which Are Universal in the Class of Self-Dual Functions and in Close Classes. Izvestiya Akademii nauk. Teoriya i sistemy upravleniya. 5. pp. ii0-i20.
18. Lala, P.K. (200i) Self-Checking and Fault-Tolerant Digital Design. San Francisco: Morgan Kaufmann.
19. Hamming, R.W. (i950) Error Detecting and Correcting Codes. Bell System Technical Journal. 29(2). pp. i47-i60. DOI: i0.i002/j.i538-7305.i950.tb00463.x
20. Efanov, D.V. & Pogodina, T.S. (2022) Self-Dual Control of Combinational Circuits with Using Hamming Codes. Problemy raz-rabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) - Problems of Advanced Micro- and Nanoelectronic Systems Development (MES). 3. pp. ii3-i22. DOI: i0.3iii4/2078-7707-2022-3-ii3-i22
21. Drozd, A., Kharchenko, V., Antoshchuk, S., Sulima, J. & Drozd, M. (20ii) Checkability of the Digital Components in Safety-Critical Systems: Problems and Solutions. Proceedings of 9th IEEE East-West Design & Test Symposium (EWDTS'2011). Sevastopol, Ukraine. pp. 4ii-4i6. DOI: i0.ii09/EWDTS.20ii.6ii6606
22. Drozd, O., Perebeinos, I., Martynyuk, O., Zashcholkin, K., Ivanova, O. & Drozd, M. (2020) Hidden Fault Analysis of FPGA Projects for Critical Applications. Proceedings of the IEEE International Conference on Advanced Trends in Radioelectronics, Telecommunications and Computer Engineering (TCSET). February 25-29. Lviv-Slavsko, Ukraine. Art. i42. DOI: i0.ii09/TCSET49i22.2020.23559i
Информация об авторе:
Ефанов Дмитрий Викторович - доктор технических наук, профессор, действительный член Международной Академии транспорта, член Института инженеров электротехники и электроники (IEEE); профессор Высшей школы транспорта Института машиностроения, материалов и транспорта Санкт-Петербургского политехнического университета Петра Великого (СПбПУ Петра Великого) (Санкт-Петербург, Россия); профессор кафедры «Автоматика, телемеханика и связь на железнодорожном транспорте» Российского университета транспорта (МИИТ) (Москва, Россия); кафедра «Автоматика и телемеханика» Ташкентского государственного транспортного университета (Ташкент, Узбекистан). E-mail: [email protected]
Автор заявляет об отсутствии конфликта интересов.
Information about the author:
Efanov Dmitry V. (Doctor of Technical Sciences, 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; Professor of Automation and Remote Control Department of Tashkent State Transport University, Tashkent, Uzbekistan). E-mail: [email protected]
The author declares no conflicts of interests.
Поступила в редакцию 18.08.2023; принята к публикации 08.12.2023 Received 18.08.2023; accepted for publication 08.12.2023