Структуры схем коррекции ошибок на основе логического дополнения с контролем вычислений по коду с суммированием взвешенных переходов от разряда к разряду | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2022. № 58. DOI: 10.17223/19988605/58/10

Структуры схем коррекции ошибок на основе логического дополнения с контролем вычислений по коду с суммированием взвешенных переходов от разряда к разряду

Предложены новые структуры отказоустойчивых цифровых вычислительных устройств и систем, в основе которых лежит использование принципа логического дополнения для фиксации искаженных сигналов и схем встроенного контроля. Последние реализуются с применением кода с суммированием взвешенных переходов от разряда к разряду в информационном векторе, при построении которого использована последовательность весовых коэффициентов, образующая ряд возрастающих степеней числа 2. Использование данного кода с суммированием позволяет обнаруживать любые комбинации искажений на выходах объекта диагностирования, за исключением одновременного искажения всех выходов, что на практике бывает достаточно редко. Дано описание четырех структур: структуры с двойной модульной избыточностью и контролем вычислений основным блоком по выбранному коду, структуры с двойной модульной избыточностью и контролем вычислений резервным блоком по выбранному коду, структуры с контролем вычислений основным блоком по выбранному коду и блоком фиксации искаженных сигналов на основе логического дополнения, структуры с блоком фиксации искаженных сигналов на основе логического дополнения с непосредственным контролем вычислений данным блоком. Приводятся примеры синтеза отказоустойчивых устройств и дана оценка их эффективности по сравнению с использованием традиционной структуры отказоустойчивых устройств и систем, основанной на тройной модульной избыточности с мажоритарной коррекцией сигналов. Освещены результаты экспериментов с контрольными комбинационными схемами LG'93 и MCNC Benchmarks, также показавшие эффективность предлагаемых отказоустойчивых структур. Использование принципа логического дополнения позволяет синтезировать отказоустойчивые цифровые устройства и системы, в которых не требуется прямого резервирования и внесения модульной избыточности, что на практике может давать существенное снижение структурной избыточности конечного объекта.

Error correction circuits structures based on Boolean complement with calculation checking by code with summation of wei.pdf Методы коррекции ошибок в вычислениях повсеместно используются при построении надежных цифровых устройств и систем [1-4]. Все они подразумевают внесение избыточности по определенным правилам, например внесение модульной избыточности с проверкой вычислений и выбором верного значения по принципу большинства (мажоритарный принцип) или использование предварительно при синтезе устройства помехоустойчивого кодирования состояний или выходов устройства и т.д. [5-14]. Как показано в ряде работ [15, 16], для синтеза устройств и систем, не чувствительных к проявлениям ошибок, возможно применение принципа логического дополнения с организацией схем встроенного контроля (СВК) либо объекта диагностирования, либо блока логического дополнения в схеме фиксации искаженных сигналов (ФИС). Это позволяет учитывать особенности структуры самого объекта диагностирования и снижать структурную избыточность, необходимую для реализации отказоустойчивой системы. Метод логического дополнения описан в [17, 18] и подразумевает преобразование значений функций некоторого объекта диагностирования (исходного устройства) в СВК в функции специального вида. Такое преобразование осуществляется с использованием двухвходовых элементов сложения по модулю M = 2 (элементов XOR) и блока логического дополнения, имеющего такое же (или меньшее) число выходов, как и исходное устройство. Преобразования, таким образом, осуществляются по формуле: f © gt, i е {1,2,...,mJ, 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+1 из ряда возрастающих степеней числа 2: [w/,/+1] = [W1,2, W2,3, Wm-2,m-1, Wm-1,m] = = [2m-2, 2m-3, 21, 20]. Будем их приписывать переходам в информационном векторе, начиная справа налево. 2. Подсчитывается суммарный вес активных переходов: m-1 i=1 (1) где qi i+1 = f Ф f+1 - функция активации перехода между разрядамиf иf+1. 3. Полученное число представляется в двоичном виде и записывается в разряды контрольного вектора. К примеру, получим контрольный вектор для информационного вектора t? Если нет, то возвращаемся к п. 5 данного алгоритма, в противном случае переходим к п. 9. 9. Полагается i := i + i. 10. Проверяется условие достижения конечной функции выхода блока F(x) i > m? Если нет, то возвращаемся к п. 3 данного алгоритма, в противном случае переходим к п. 11. 11. Для каждой функции gi, j выбираем ту входную переменную, коррекция по которой дает наименьшую сложность реализации в выбранном элементном базисе. 12. Синтезируется блок реализации системы функций дополнений G(x). Следует отметить, что в качестве функций {ri, Г2, ..., Гт-1, Гт} могут быть выбраны произвольные функции, что увеличивает число вариантов синтеза отказоустойчивых цифровых устройств, при этом может быть выбран способ, дающий наименьшую сложность их реализации. Приведем далее примеры синтеза отказоустойчивых устройств по всем четырем рассмотренным ранее структурам. 4. Пример синтеза отказоустойчивых структур Рассмотрим в качестве примера процедуры синтеза структур, представленных на рис. 1-4, для комбинационного логического устройства, описываемого формулами f = x XX v X XX v XXX v XXX v xxx; f2 = x xx v x x x v x x x v x xx v x x x v x x xx ; =xx vxxx vx xx vxx x; (5) f4 =XXXvXXX vXXX vXXXvXXX; f5 = x}x2x4 vXXX vXXX vXXXX. Для синтеза структур, основанных на использовании двойной модульной избыточности (см. рис. 1, 2), требуется синтезировать только блок контрольной логики H(x), а остальные компоненты являются типовыми. В табл. 1 приводится описание исходного блока F(x) в виде таблицы истинности, а также контрольных функций, вычисляемых блоком H(x). Непосредственно из табл. 1 путем оптимизации получаются логические выражения для функций h1, h2, h3 и h4, по которым синтезируется блок H(x). Таблица 1 Описание комбинационного устройства и функций для контроля блока F(x) или его копии F*(x) по Tm-коду Х4Х3Х2Х1 ff/3/2/1 Активные переходы Формула подсчета веса W h4h3h2h1 0000 01101 q1,2, q2,3, q4,5 W1,2 + W2,3 + W4,5 11 1011 0001 01110 q1,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), отказоустойчивую структуру на основе тройной модульной избыточности, а также предложенные в настоящей работе отказоустойчивые структуры с контролем вычислений по Tm-коду. При этом будем использовать библиотеку стандартных функциональных элементов stdcell2_2.genlib, а саму процедуру синтеза будем проводить по табличным формам задания устройств (в виде файлов *.pla). SIS позволяет не только синтезировать сами цифровые устройства, но и оценивать сложность их технической реализации в условных единицах площади, занимаемой устройством на кристалле. Это дает возможность сравнения различных отказоустойчивых структур между собой. Далее не будем приводить сами устройства ввиду их громоздкости, а приведем только численные данные о показателях сложности реализации устройств. Сложность исходного блока F(x) равна LF(x) = 1 080. Мажоритарный элемент сравнения имеет сложность L>2 = 136. Отсюда следует, что сложность отказоустойчивого устройства, реализованного по мажоритарной структуре, равна L = 3Lp(x) + 5L. = 3 -1080 + 5 -136 = 3920. Оценим сложности отказоустойчивых устройств, реализованных по структурам рис. 1 и рис. 2. При этом учтем, что сложности стандартных функциональных элементов равны: элементов сложения по модулю два - LXOR = 40, четырехвходового элемента ИЛИ - L4OR = 48, сложность элемента логического умножения (как с инверсией на одном входе, так и без нее) - LAND = 32. Оптимизация функций блока H(x) с применением стандартной процедуры simplify дает следующий результат: LH(x) = 560. C учетом полученного рассчитаем сложность структур, синтезируемых на основе двойной модульной избыточности с контролем вычислений одним из блоков по Tm-коду [25]: LDMR = 2LF(x) + LH(x) +18LXOR + 5LAND + L4OR = 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, имеет сложность LSCB1 = LF(x) + LH(x) + LG(x) +23LXOR +5LAND +L4OR =1080 + 560 + 640 + 23- 40 + 5- 32 + 48 = 3408. Таблица 2 Описание блока контрольной логики G(x) и блока H*(x) для его контроля при использовании одной переменной для коррекции X4 X3 X2 X1 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 0 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 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 X2 X1 h4 h3 h2 h1 g5 g4 g3 g2 g1 g5 g4 g3 g2 g1 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 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 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 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. Блок G(x) уже получен. Требуется синтез блока H*(x). В табл. 1 представлены функции данного блока. Следует отметить, что он будет одинаков для блоков G(x), получаемых при коррекции сигналов по какой-либо одной из переменных, что следует из принципов построения Tm-кода. Это справедливо в силу того, что выбор той или иной переменной для коррекции приводит к инверсии всех значений функции относительно одного из вариантов дополнения либо же к сохранению значений, а для Tm-кода это не влияет на суммарный вес информационного вектора. Сложность блока H*(x) получена равной LH*(x) = 568. Таким образом, устройство, синтезированное по структуре рис. 4, имеет сложность реализации LSBC1 LF( x) + LG( x) + LH*( x) + 23LXOR + 5LAND + L4OR = 1080 + 640 + 568 + 23-40 + 5 - 32 + 48 = 34166. Полученная величина несколько превышает величину сложности реализации, полученной для структуры рис. 3, - она дает устройство с 87,143% от сложности устройства, реализуемого при использовании мажоритарной структуры. Алгоритм синтеза 2 позволяет для каждой функции дополнения выбрать наилучший вариант переменной и несколько уменьшить сложность конечного отказоустойчивого устройства. Расчеты показали, что наилучшие варианты коррекции получаются при использовании функций дополнения, вычисляемых по формулам g = f ® x4, g = f ® x3, g = f ® x4, g4 = f4 ® x2, g = f ® x4. В этом случае получается блок контрольной логики со сложностью технической реализации LG(x) = 464. Таким образом, синтез в соответствии со структурой рис. 3, дает отказоустойчивое устройство со сложностью реализации: LSCB2 LF( x) + LH (x) + LG( x) + 23LXOR + 5LAND + L4OR = 1080 + 560 + 464 + 23-40 + 5-32 + 48 = 3232. Это составляет 82,449% от сложности устройства, реализованного по мажоритарной структуре. При использовании для контроля вычислений не блока F(x), а блока G(x), получаем блок контрольной логики H*(x) (табл. 3) со сложностью реализации LH(x) = 560. Отсюда следует, что устройство, синтезированное по структуре рис. 4, имеет сложность реализации LSBC1 LF( x) + LG(x) + LH*(x) + 23LXOR + 5LAND + L4OR = 1080 + 464 + 560 + 23 - 40 + 5 - 32 + 48 = 3232. Это также составляет 82,449% от сложности устройства, реализованного по мажоритарной структуре. Таблица 3 Описание блока контрольной логики G(x) и блока H*(x) для его контроля при использовании различных переменных для коррекции Х4 X3 X2 X1 f f4 f3 fi f1 X4 X2 X4 X3 X4 h4 ha hi 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 0 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 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 подробно представлены данные по показателям сложности технической реализации отказоустойчивых устройств по мажоритарной структуре и по четырем приведенным выше структурам. В качестве показателя сложности технической реализации использована площадь, занимаемая устройством на кристалле, в условных единицах библиотеки функциональных элементов stdce//2_2.gen/ib, а также относительный показатель ц - доля площади, занимаемой отказоустойчивым устройством на кристалле, от площади системы с тройной модульной избыточностью (в процентах). Площадь определялась с применением интерпретатора SIS. При проведении экспериментов структура исходной схемы F(x) не оптимизировалась (выбиралось законченное устройство). Структуры блоков H(x), G(x) и H*(x) оптимизировались с использованием команды simp/ify в интерпретаторе SIS. В ходе экспериментов синтезировались отказоустойчивые устройства по структуре с тройной модульной избыточностью (TMR), по обеим структурам с двойной модульной избыточностью и дополнительным контролем вычислений одним из блоков (DMR, double-modular redundancy), а также по обеим структурам, использующим принцип логического дополнения (BC, Boolean complement). При этом в процессе синтеза устройств на основе структур рис. 3 и рис. 4 использовался подход, при котором корректирующие функции представляли собой одну выбранную входную переменную (см. алгоритм 1). В табл. 4 приведены данные о показателях сложности технической реализации составляющих структур, а также устройств, использующих тройную и двойную модульную избыточность, а в табл. 5 - о показателях сложности реализации структур на основе принципа логического дополнения. Таблица 4 Показатели сложности технической реализации составляющих отказоустойчивых структур Схема In / Out Площадь устройств на кристалле, усл. ед. библиотеки stdce//2 2.gen/ib F(x) H(x) G(x) x1 x2 x3 x4 x5 x6 xi x8 x9 dc1 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 - - - m1 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 Площадь устройств на кристалле, усл. ед. библиотеки stdce//2 2.gen/ib p, % 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 Анализируя данные таблиц, можно сделать следующие выводы. Отказоустойчивые устройства, реализуемые по предложенным в настоящей работе структурам, получаются, как правило, менее избыточными, чем отказоустойчивые устройства, реализованные по структуре с тройной модульной избыточность и мажоритарной коррекцией сигналов. Устройства, реализуемые на основе двойной модульной избыточности с контролем вычислений одним из блоков F(x) или F*(x) по Tm-коду, для большинства схем имеют выигрыш в показателе избыточности по сравнению с TMR-структурой до 10%. Для некоторых схем (например, для схемы max512) достигается даже большее улучшение. Реализация устройства по одной из структур, подразумевающих применение принципа логического дополнения, может еще больше сократить сложность технической реализации и уменьшить избыточность. При этом существует достаточно большая вариативность в построении структур. Например, применение алгоритма 1 при выборе функций коррекции значений позволяет строить t блоков контрольной логики (t - число входных переменных). Как видно из данных табл. 4, такая вариативность позволяет выбирать наименее избыточную реализацию блока G(x) для каждого устройства F(x). Это, в свою очередь, позволяет синтезировать t различных по сложности структур рис. 3 и выбирать среди них наиболее эффективный вариант. Для большинства реализаций блоков контрольной логики в рассмотренных примерах блоки G(x) получались более простыми, чем блок F(x), - среди 29 вариантов блоков контрольной логики только один дал блок G(x) с площадью, большей чем площадь блока F(x). Таким образом, практически для всех устройств применение структуры рис. 3 и принципа логического дополнения позволило уменьшить сложность технической реализации по сравнению с реализацией по структурам DMR (рис. 1, 2). Применение структуры рис. 4 в ряде случаев давало эффект в уменьшении сложности технической реализации и по сравнению со структурой рис. 3. Эффект достигался в том случае, если блок H*(x) оказывался проще блока H(x). Реальный эффект от применения структуры рис. 4 заметен лишь для схемы max512 из приведенных здесь. Для двух схем, rd53 и p82, сложности реализации структур рис. 3 и рис. 4 совпали. Для двух схем, dc1 и m1, структуры рис. 4 получались несколько более сложными, чем структуры рис. 3, однако превышение находилось на уровне 1-3%. На рис. 5 приведены диаграммы для сравнения показателей ц для отказоустойчивых устройств, полученных по структурам, подразумевающим использование принципа логического дополнения. Применение логического дополнения для ряда схем позволило синтезировать отказоустойчивые устройства со сложностью реализации, меньшей сложности TMR-структуры на 20-25%. Показатели сложности технической реализации отказоустойчивых структур на основе логического дополнения Таблица 5 Х1 Х2 Х3 Х4 X5 X6 X7 X8 X9 dc1, 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 при выборе переменных для коррекции функций fi, fz, ..., fm-i, fm, позволяет увеличить число вариантов построения блоков G(x). В этом случае каждая из m функций блока контрольной логики может быть получена t способами (всего mt способов реализации). Применение алгоритма 2 может позволить еще больше улучшить показатели структурной избыточности за счет «индивидуального» подхода к каждому из рабочих выходов устройства F(x). 101 ■ С KownpaiaiJ F(x) ■ С коя?п/?о.7£« G(x) ml 100 ■ С контролем F(x) ■ С контролем G(x) 50,5 ■ С контролем F(x) ■ С контролем G(x) 85 ■ С контролем F(x) ■ С контролем G(x) #10X512 х5 хб х! х2 хЗ х4 х5 хб х7 х8 х9 ■ С контролем F(x) ■ С контролем G(x) Рис. 5. Сравнение показателей структурной избыточности для различных контрольных комбинационных схем Fig. 5. Comparison of indicators of structural redundancy for various combinational benchmarks Заключение При построении отказоустойчивых цифровых вычислительных устройств и систем могут быть использованы не только традиционные подходы, основанные на тройной модульной избыточности с мажоритарной коррекцией сигналов и двойной модульной избыточности с применением схем сравнения и переключения, но и подходы, основанные на использовании СВК отдельных блоков и логического дополнения для фиксации искаженных сигналов. Подобные структуры синтезируются с учетом следующего ограничения: одновременно возможно возникновение неисправностей только в одном из блоков системы. Структуры отказоустойчивых устройств и систем, основанные на использовании двойной модульной избыточности с контролем вычислений одним из блоков (основным или резервным) по Tm-коду, для многих реальных устройств F(x) позволяют получать менее избыточные отказоустойчивые реализации, чем применение мажоритарной структуры. При этом данные структуры обладают высокой корректирующей способностью за счет возможности фиксации любых сочетаний искажений на выходах объекта диагностирования, за исключением искажений с кратностями d = m. Применение принципа логического дополнения при синтезе блока ФИС позволяет еще больше сократить структурную избыточность конечного отказоустойчивого устройства, что объясняется возможностями существенного упрощения блока логического дополнения G(x). Необходимо отметить две особенности описанных в настоящей статье структур. Во-первых, за счет использования нескольких последовательных каскадов сумматоров по модулю M = 2 во всех предложенных структурах примерно вдвое уменьшено быстродействие по сравнению с традиционными структурами (пути прохождения сигналов к выходному каскаду увеличены). Однако при современных технологиях реализации цифровых устройств и систем такое снижение быстродействия не представляется столь существенным. Во-вторых, если использование принципов модульной избыточности с устройствами сравнения и коррекции позволяет не анализировать структуры исходных объектов F(x) и строить их из типовых блоков, то в случае применения описанных подходов такой анализ требуется при построении СВК и блока ФИС. Для устройств с большим числом входов (более 30) данная задача может быть достаточно трудоемкой, что потребует применения методов декомозиции при синтезе соответствующих устройств и более сложных процедур проектирования отказоустойчивых устройств и систем. Тем не менее при автоматизации процедур получения функций логического дополнения можно добиться существенного упрощения конечных отказоустойчивых устройств и систем, реализуемых на современной элементной базе, по сравнению с традиционными подходами для решения этой задачи. Применение логического дополнения и кодовых методов для синтеза самопроверяемых и отказоустойчивых цифровых устройств и систем позволяет расширить число способов их реализации и минимизировать показатели структурной избыточности. Полученные в статье результаты целесообразно учитывать на практике при выборе подхода к синтезу отказоустойчивых цифровых устройств и систем. В заключение также обратим внимание на возможные перспективы в продолжении исследований в области синтеза отказоустойчивых устройств и систем. Прежде всего отметим еще раз, что предложенные в настоящей статье структуры ориентированы на работу с одиночными неисправностями. Тем не менее при использовании подобных структур в ряде приложений, например в составе устройств и систем критического применения, где входные воздействия могут изменяться достаточно редко [34], будут создаваться условия накопления скрытых неисправностей. В аварийном режиме скрытые неисправности могут начать проявляться в виде кратных отказов,

Ключевые слова

отказоустойчивые цифровые устройства и системы, модульная избыточность, схема встроенного контроля, коррекция сигналов, контроль вычислений, код с суммированием взвешенных переходов, структурная избыточность

Авторы

ФИООрганизацияДополнительноE-mail
Ефанов Дмитрий ВикторовичРоссийский университет транспорта; Санкт-Петербургский политехнический университет Петра Великогодоктор технических наук, профессор кафедры автоматики, телемеханики и связи на железнодорожном транспорте; профессор Высшей школы транспорта Института машиностроения, материалов и транспортаtres-4b@yandex.ru
Всего: 1

Ссылки

Щербаков Н.С. Самокорректирующиеся дискретные устройства. М. : Машиностроение, 1975. 216 с.
Согомонян Е.С., Слабаков Е.В. Самопроверяемые устройства и отказоустойчивые системы. М. : Радио и связь, 1989. 208 с.
Lala P.K. Self-Checking and Fault-Tolerant Digital Design. San Francisco : Morgan Kaufmann Publishers, 2001. 216 p.
Sogomonyan E.S. Self-Correction Fault-Tolerant Systems : Preprint. 2018, 30 p. URL: https://www.researchgate.net/publication/328355722_Self-Correction_Fault-Tolerant_Systems
Sellers F.F., Hsiao M.-Y., Bearnson L.W. Error Detecting Logic for Digital Computers. New York : McGraw-Hill, 1968, XXI + 295 p.
Гаврилов М.А., Остиану В.М., Потехин А.И. Надежность дискретных систем. М. : 1970. 104 с. (Итоги науки и техники. Сер. Теория вероятностей. Математическая статистика. Теоретическая кибернетика).
Сапожников В.В., Сапожников Вл.В., Христов Х.А., Гавзов Д.В. Методы построения безопасных микроэлектронных си стем железнодорожной автоматики / под ред. Вл.В. Сапожникова. М. : Транспорт, 1995. 272 с.
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.
Cкляр В.В., Харченко В.С. Отказоустойчивые компьютерные системы управления с версионно-пороговой адаптацией: способы адаптации, оценка надежности, выбор архитектур // Автоматика и телемеханика. 2002. № 6. С. 131-145.
Останин С.А. Синтез отказоустойчивых комбинационных схем // Прикладная дискретная математика (приложение № 1). 2009. № 1. С. 71-72.
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.
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.
Бочков К.А., Харлап С.Н., Сивко Б.В. Разработка отказоустойчивых систем на основе диверситетных базисов // Автоматика на транспорте. 2016. Т. 2, № 1. С. 47-64.
Стемпковский А.Л., Тельпухов Д.В., Жукова Т.Д., Гуров С.И., Соловьев Р.А. Методы синтеза сбоеустойчивых комбинационных КМОП схем, обеспечивающих автоматическое исправление ошибок // Известия ЮФУ. Технические науки. 2017. № 7 (192). С. 197-210.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Схема коррекции сигналов для комбинационных устройств автоматики на основе логического дополнения с контролем вычислений по паритету // Информатика. 2020. Т. 17, № 2. С. 71-85.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Отказоустойчивая структура на основе логического дополнения с контролем вычислений по паритету // Автоматика на транспорте. 2020. Т. 6, № 3. С. 377-403.
Гессель М., Морозов А.В., Сапожников В.В., Сапожников Вл.В. Логическое дополнение - новый метод контроля комбинационных схем // Автоматика и телемеханика. 2003. № 1. С. 167-i76.
Goessel M., Ocheretny V., Sogomonyan E., Marienfeld D. New Methods of Concurrent Checking. Ed. 1. Dordrecht : Springer Science + Business Media B.V., 2008. i84 p.
Das D.K., Roy S.S., Dmitiriev A., Morozov A., Gossel 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.
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.
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.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В., Дмитриев В.В. Новые структуры систем функционального контроля логических схем // Автоматика и телемеханика. 2017. № 2. С. 127-143.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Коды с суммированием для систем технического диагностирования. М. : Наука, 2021. Т. 2: Взвешенные коды с суммированием. 455 с.
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.
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.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Коды Хэмминга в системах функционального контроля логических устройств. СПб. : Наука, 2018. 151 с.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Коды с суммированием для систем технического диагностирования. М. : Наука, 2020. Т. 1: Классические коды Бергера и их модификации. 383 с.
Nikolos D. Self-Testing Embedded Two-Rail Checkers // Journal of Electronic Testing. 1998. V. 12. P. 69-79.
Сапожников В.В., Сапожников Вл.В., Ефанов Д.В. Основы теории надежности и технической диагностики. СПб. : Лань, 2019. 588 с.
Zakrevskij A., Pottosin Yu., Cheremisinova L. Optimization in Boolean Space. Tallinn : TUT Press, 2009. 241 p.
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.
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.
Collection of Digital Design Benchmarks. URL: http://ddd.fit.cvut.cz/www/prj/Benchmarks/
Сапожников Вл.В. Синтез систем управления движением поездов на железнодорожных станциях с исключением опасных отказов. М. : Наука, 2021. 230 с.
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.
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
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.
Литиков И.П., Согомонян Е.С. Тестово-функциональное диагностирование цифровых устройств и систем // Автоматика и телемеханика. 1985. № 3. С. 111-121.
 Структуры схем коррекции ошибок на основе логического дополнения с контролем вычислений по коду с суммированием взвешенных переходов от разряда к разряду | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2022. № 58. DOI: 10.17223/19988605/58/10

Структуры схем коррекции ошибок на основе логического дополнения с контролем вычислений по коду с суммированием взвешенных переходов от разряда к разряду | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2022. № 58. DOI: 10.17223/19988605/58/10