Научная статья на тему 'Использование информационной избыточности при построении сбоеустойчивых комбинационных схем'

Использование информационной избыточности при построении сбоеустойчивых комбинационных схем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
303
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SYNTHESIS OF FAULT-TOLERANT CIRCUITS / REDUNDANT CODING / CODES WITH PARITY CHECKS / R-CODE / СИНТЕЗ СБОЕУСТОЙЧИВЫХ СХЕМ / ИЗБЫТОЧНОЕ КОДИРОВАНИЕ / КОДЫ С ПРОВЕРКАМИ НА ЧЕТНОСТЬ / R-КОД

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гаврилов С.В., Гуров С.И., Тельпухов Д.В., Жукова Т.Д.

В статье на основе проведенного анализа специфики задачи повышения сбоеустойчивости комбинационных интегральных схем методами избыточного кодирования формулируются и требования к такому коду. Предлагается линейный нециклический код с проверками на четность, удовлетворяющий данным требованиям. Код исправляет одиночные ошибки, обнаруживает двойные и обладает преимуществами, существенными для рассматриваемой задачи. Дана оценка эффективности предложенного кода.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гаврилов С.В., Гуров С.И., Тельпухов Д.В., Жукова Т.Д.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Synthesis of fault-tolerant combination schemes by introducing information redundancy

In the article, based on the analysis of the specifics of the problem of increasing the fault tolerance of combinational integrated circuits, the requirements for such a code are formulated by the methods of excessive coding. A linear non-cyclic code with parity checks satisfying these requirements is proposed. The code fixes single errors, detects double errors and has the advantages that are essential for the task at hand. The efficiency of the proposed code is estimated.

Текст научной работы на тему «Использование информационной избыточности при построении сбоеустойчивых комбинационных схем»

УДК: 519.725, 621.3.049.771.14 MSC2010: 94B05, 68R99

ИСПОЛЬЗОВАНИЕ ИНФОРМАЦИОННОЙ ИЗБЫТОЧНОСТИ ПРИ ПОСТРОЕНИИ СБОЕУСТОЙЧИВЫХ КОМБИНАЦИОННЫХ СХЕМ1

© С. В. Гаврилов

Институт проблем проектирования в микроэлектронике РАН проспект 60-летия Октября, 9, Москва, 117312, Российская Федерация е-ма1ь: ippm@ippm.ru

© С. И. Гуров

Московский государственный университет имени М. В. Ломоносова Факультет Вычислительной математики и кибернетики Ленинские горы, д. 1, стр.52, Москва, ГСП-1, 119991, Российская Федерация

е-ма1Ь: sgur@cs.msu.su

© Д. В. Тельпухов, Т. Д. Жукова

Институт проблем проектирования в микроэлектронике РАН проспект 60-летия Октября, 9, Москва, 117312, Российская Федерация е-ма1ь: ippm@ippm.ru

Synthesis of fault-tolerant combination schemes by introducing information redundancy.

Gavrilov S. V., Gurov S. I., Tel'pukhov D. V., Zhukova T. D.

Abstract. In the article, based on the analysis of the specifics of the problem of increasing the fault tolerance of combinational integrated circuits, the requirements for such a code are formulated by the methods of excessive coding. A linear non-cyclic code with parity checks satisfying these requirements is proposed. The code fixes single errors, detects double errors and has the advantages that are essential for the task at hand. The efficiency of the proposed code is estimated.

Keywords: Synthesis of fault-tolerant circuits, redundant coding, codes with parity checks, R-code

1Работа выполнена при финансовой поддержке РНФ, проект №17-19-01645

Введение

Любая система характеризуется не ошибками и сбоями, а реакцией на ошибки и сбои.

Фольклор.

Важной стороной задачи синтеза интегральных схем (ИС) остаётся проблема устойчивости их к кратковременным случайным самоустраняемым отказам — сбоям. Причиной сбоев (SEU, single event upsets) является воздействия на схему различных видов помех: радиационных, скачков напряжений питания, деградаций сигналов во времени и др. В последнее время проектные нормы ИМС уменьшаются до единиц нанометров, что влечёт уменьшение энергетического порога, вызывающего сбои.

Считается, что интенсивность сбоев (soft errors) на порядок превышает интенсивность отказов (hard errors) — потери способности устройства выполнить требуемую функцию. В литературе отмечается, что до 50% отказов в современном оборудовании, работающем в условиях воздействия внешней радиации, связаны с влиянием различных радиационных эффектов. В таблице 1 указаны дозы радиации в зависимости от места нахождения ИС2.

Место Доза

Поверхность Земли 1 кРад/год

Объекты ядерной энергетики 100 кРад/день

Низкие орбиты Земли (МКС) 2 кРад/год

Радиационные пояса Земли 100 кРад/год

Геостационарные орбиты Земли 10 кРад/год

Поверхность Марса 1 кРад/год

Орбита Марса 5 кРад/год

Путь до Марса 5 кРад/год

Орбита Юпитера 100 кРад/год ... 100МРад/год

Рис. 1. Дозы радиации (по данным компании Миландр, г. Москва, Зеленоград)

Поэтому сбоеустойчивость является важнейшим требованием к аппаратуре, работающей в тяжелых условиях космоса. Период работоспособного функционирования,

2 Рад — внесистемная единица измерения поглощённой дозы ионизирующего излучения.

например, аппаратуры спутников связи должен быть не менее 15 лет, а радиационно-стойкие техпроцессы в настоящее время по проектным нормам отстают на 4—6 поколений от современных коммерчески доступных. Например, 32-битное микропроцессорное ядро LEON3 систем на кристалле (СнК), используемой в европейских космических проектах, реализовано по 180 нм-технологии.

В настоящее время в мире активно развивается направление радиационно-стой-кого проектирования (RHBD, Radiation Hardening by Design), основанное на использовании схемотехнических, топологических и алгоритмических методов повышения сбоеустойчивости [21].

Следует отметить, что многие современные СнК реализуют так называемые «критически-важные приложения» (mission-critical applications), ошибки в которых приводят к серьёзному воздействию на управляющие системы (связь, управление движением, слежение за движущимся объектом, бизнес-операции, криптографические приложения и др.) и даже могут вызвать социальные потрясения и катастрофы3.

Отказы по характеру своего проявления подразделяются на «византийские»4 (система активна и может проявлять себя по-разному, даже злонамеренно) и «пропажа признаков жизни» (частичная или полная). Первые распознать гораздо сложнее, чем вторые.

Повышение надёжности схем связывают с использованием того или иного вида избыточности. Выделяют аппаратную, информационную и временную избыточность. Аппаратная избыточность обеспечивается внедрением в схему дополнительной корректирующей аппаратуры, информационная — использованием корректирующих кодов, временнуая — многократным пересчётом выхода (аналогом метода повторной передачи в теории связи). При этом понятно, что использование любого вида избыточности в конечном счёте реализуется дополнительными схемами.

В работе рассматриваются автоматические способы коррекции ошибок, возникающие при сбоях комбинационных схем (выходные сигналы которых в некоторый момент времени однозначно определяются входными сигналами, имеющими место в данный момент времени). Предлагается код для исправления одиночных и обнаружения двойных ошибок, возникающих при сбоях комбинационных схем (выходные сигналы которых в некоторый момент времени однозначно определяются входными сигналами, имеющими место в данный момент).

3 См., например, НЬЬрв : //en.wikipedia.org/wiki/Missioncritical.

4 Это название они получили по имени Византийской империи (330-1453 гг.), где процветали интриги и обман

1. Самокорректируемые схемы и обратимая схемотехника

Построение самопроверяемых схем — традиционный подход решению поставленной проблемы [1, 2]. Самокорректируемость функциональных блоков есть свойство обнаруживать и исправлять неисправности как в основной, так и в контролирующей аппаратуре. Последнее свойство позволяет избежать проблемы "сторожа над сторожем". В этом случае говорят о схемной избыточности.

Поскольку одиночная неисправность того или иного элемента схемы может привести к кратной ошибке на выходе схемы, типичной является ситуация либо полного отсутствия ошибки (маскирование), либо наличия сразу нескольких ошибок на выходе схемы (конус ошибок). Для исключения эффекта конуса ошибок возможно применение принципа независимой реализации функций, при котором не производится совместная минимизация, однако это приводит к заметному увеличению объема аппаратуры.

При возникновении ошибки контролирующая схема обеспечивает пересчет значений выхода основной схемы. Такой пересчет может повторяться неоднократно, что иногда может привести к большой задержке времени получения результата.

Другим широко используемым методом является N-модульная избыточность, при котором результат определяется мажорированием выходов N экземпляров основной схемы. Как правило, используется исключительно троирование аппаратуры (TMR, Triple Modular Redundancy, тройное модульное резервирование). Очевидно, применение аппаратного резервирования приводит к проигрышу в площади схемы (при TMR — более 200%), но практически не ведет к временным задержкам.

Обратимые схемы представляют собой новую технологию, основанную на нетрадиционном подходе: такие схемы реализует биективные преобразования битовых данных. В настоящее время ведутся исследования по синтезу сбоеустойчивых обратимых схем, способных обнаружить широкий класс ошибок на выходах [3, 4]. Оценки показывают, что число вентилей при реализации комбинационной логики на программируемых логических матрицах в обычной и обратимой сбоеустойчивой схемотехнике может совпадать [5]. Это подтверждает предположение о высокой эффективности данного метода для решения рассматриваемой задачи.

2. Избыточное кодирование для сбоеустойчвых ИС

Данный подход также хорошо известен [2, 6, 7], однако, в силу разных причин, только в последнее время к нему возрос интерес исследователей [8, 9, 11-14]. Из

специфики задачи следует, что возможные ошибки связаны только с инвертированием некоторых разрядов выходного вектора комбинационной схемы (нет выпадения/вставки бит). При этом понятно, что любой избыточный код может обнаружить или исправить не все ошибки, а только ошибки определенного типа.

2.1. Особенности задачи. Прежде всего считают, что исходная (основная) функциональная схема ОС спроектирована и не подлежит изменению. Далее, обычно искажение информации, возникающее при сбоях, не описывается в рамках традиционных моделей каналов передачи информации. Также понятно, что эффективность и сложность применения того или иного метода избыточного кодирования существенно зависит от требуемого уровня обеспечения надежности исправления ошибки.

Важным является то, что обычные характеристики: минимальное кодовое расстояние, избыточность и т. д., не являются определяющими при выборе кода для рассматриваемой задачи и поэтому на практике часто выбирают коды с худшими характеристиками, но позволяющими более просто выполнить парирование ошибки схемы.

При разработке средств исправления ошибок схем, вызванных сбоями, следует также учитывать следующие особенности задачи, из которых вытекают требования к свойствам выбираемого кода.

1. Проверочные биты вычисляются специальной корректирующей схемой (КС), параллельно и одновременно с информационными, вычисляемыми (ОС), в то время как при классическом подходе предполагается кодирование уже имеющегося сообщения.

В составе КС будем различать кодер, вычисляющий проверочные биты, декодер, вычисляющий данные, необходимые для парирования ошибки (например, синдром) и исправляющую схему (ИС), обеспечивающую, исправление ошибок при их наличии.

2. Выигрыш в суммарной площади ОС+КС при описываемом подходе получается из-за того, что число проверочных разрядов меньше, и обычно — значительно, числа информационных, и методы минимизации позволяют синтезировать кодер существенно меньшей площади, чем ОС.

3. Для исключения появления ошибки уже в процессе проверки и исправления выходного вектора (проблема «сторожа над сторожем»), КС с помощью специальных схемотехнических и технологических методов выполняют в специальном сбоеустойчивом варианте, и поэтому этот процесс можно считать свободным от ошибок.

4. Представляется естественным строить корректирующие схемы для комбинационных схем также комбинационными, что означает ограничение на реализацию декодера, заключающееся в отказе от использования последовательностных элементов: сдвиговых регистров, счётчиков и д. р.

5. Проведенные эксперименты показали, что наиболее вероятный одиночный сбой, функционального элемента схемы, как правило, либо маскируется (не проявляется на выходе), либо приводит к инвертированию единственного разряда на выходе схемы, т.е. кратные ошибки маловероятны [13].

Для исключения появления ошибки уже в процессе проверки и исправления выходного вектора, с помощью схемотехнических и технологических методов КС выполняют в специальном сбоеустойчивом варианте и поэтому этот процесс можно считать свободным от ошибок5 [11, 12, 15, 16]. Платой за такую безошибочность служит увеличение площади КС. Понятно, что успех будет лишь в случае, когда площадь последней менее чем в два раза превосходит площадь ОС, иначе исправление одиночной ошибки методом TMR с мажорированием выходов по правилу «2 из 3» становится более выгодным.

На практике обычно используют линейные коды, исправляющие одиночную единичную и обнаруживающие двойную ошибку (SEC/DED, Single error correction/Double error detection). Далее мы их кратко рассмотрим. Использование нелинейных кодов связано с трудоемкими исследованиями свойств конкретного синтезируемого устройства. Применение же циклических кодов нецелесообразно, поскольку их эффективная реализация требует использования последовательностных схем.

2.2. Линейные блоковые коды (коды с проверкой на четность). При систематическом блоковом кодировании, напомним, кодовые слова (n, к)-кода имеют длину n = k + m, где k — число информационных разрядов, повторяющих символы сообщения, а m — число проверочных разрядов, которые суть суммы по mod 2 различных подмножеств информационных (далее " +" и "^2" для битовых переменных — символы суммирования по mod 2). Минимальное расстояние d кода есть минимум по числу несовпадающих координат среди всех пар кодовых слов.

Систематическим кодом с проверкой на четность называется двоичный блоковый код, в котором сообщению u = (ui,...,u&) сопоставлено кодовое слово

5 Например, считается, что микросхемы технологии больше 0,2 мкм радиационно-стойки.

V = (ух, ..., уп), к ^ п, определяемое соотношениями

щ, 1 ^ г ^ к,

к (1) у^ Щ • д^-к-и, к + 1 ^ г ^ п,

3 = 1

где множество двоичных символов {д^}, 0 ^ г ^ т — 1, 1 ^ ] ^ к фиксировано [17]. Таким образом, мы предполагаем размещение символов сообщения в первых позициях кодового слова.

Ясно, что описан класс блоковых линейных кодов. Кодирование в них описывается умножением вектора сообщения (в нашей задаче это — выходной вектор комбинационной схемы) на определяемую вышепреведенными соотношениями порождающую матрицу О: V = пО. Искажение в результате сбоя описывается вектором ошибок е: ю = V + е, ю — полученный вектор.

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

Существуют различные методы декодирования линейных кодов: прямое, весовое, оптимальной проверочной матрицы [18], перестановочное [19], метод дизъюнкции сфер [2] и др. Для нашей задачи применяют, как наиболее удобные, либо синдромное, либо мажоритарное декодирование.

Синдромное декодирование основано на вычислении вектора в синдромов по проверочной матрице Н: в = Ню (проверочная матрица может быть построена по порождающей и связана с ней соотношением ОНТ = 0 — нулевая матрица). Если ошибок нет, то в = 0. Иначе по заранее определенным наиболее вероятным позициям ошибки е(в), соответствующим данному синдрому, производится восстановление сообщения п.

Декодер при синдромном декодировании состоит из схемы обнаружения ошибки, включая подсхему вычисления синдрома, и схемы определения вектора ошибки с последующим ее исправлением.

Мажоритарное декодирование базируется на системе проверочных равенств для каждого информационного бита, в качестве которых используются линейные комбинации строк проверочной матрицей Н. Такое декодирование допускает большое число кодов. При этом декодирующие устройства, построенные по мажоритарному принципу, часто оказываются наиболее простыми.

Заметим, что в рассматриваемых кодах длина кодовых слов определяется, вообще говоря, однозначно. Это обстоятельство накладывает существенные ограничения

на число информационных разрядов k в кодовом слове. Для обхода этого ограничения переходят к укороченным кодам, при этом укорачивание некоторых видов кодов может быть сопряжено со значительными трудностями.

2.3. Практически применяемые коды для синтеза сбоеустойчивых ИС кратко описаны ниже; они принадлежат к классу линейных блоковых SEC/SED-кодов, имеющих минимальное расстояние кода d = 4.

Коды Хэмминга (d = 3) требуют минимального количества проверочных битов и позволяют определять и исправлять однократную ошибку. При добавлении еще одного общего бита четности для всех информационных и проверочных битов получают модифицированный кода Хэмминга (d = 4). Анализ этого дополнительного бита и синдрома позволяет исправить единичную ошибку и обнаружить двойную, кроме тех, которые затрагивают сам общий бит четности. Это необходимо учитывать при проектировании декодера, что делается с помощью отдельного сторожа в схеме формирования сигнала ошибки [12].

При исправлении одиночной ошибки кодом Хемминга площадь корректирующей схемы может составлять 130% площади основной [8].

Коды Хсяо (которые в отечественной литературе также называют «кодами с нечетным весом столбца») [20] являются подклассом модифицированных кодов Хэм-минга. Проверочная матрица кода может быть получена путем линейных операций над соответствующей матрицей модифицированного кода Хэмминга приведением ее к каноническому виду с единичной матрицей в левой (правой) части. При этом минимизируется количество единиц в матрице, что влечет уменьшение аппаратных средств и задержки для вычисления синдрома, однако за это приходится платить усложнением алгоритма вычисления номера искаженного разряда и меньшим, по сравнению с кодер-декодерами Хэмминга, быстродействием. Коды Хсяо широко применяются для помехоустойчивого кодирования субмикронных КМОП оперативных запоминающих устройств.

Низкоплотностные коды (коды Галлагера, LDPC-коды, Low Density Parity-Check Codes), или коды с малой плотностью проверок на четность являются сейчас объектом интенсивных исследований. Они описываются сильно разреженными проверочными матрицами H, что уменьшает количество символов, входящих в проверочные соотношения. Это упрощает процесс обнаружения ошибки, но усложняет ее исправление. Некоторые коды данного типа могут быть получены из кодов Хэмминга с помощью укорачивания.

Важной характеристикой порождающей матрицы LDPC-кода является отсутствие циклов определенного размера. Параметры LDPC-кодов класса SED приведены в [22]. На сегодняшний день они считаются оптимальными для применения при синтезе помехозащищенных схем при реализации декодирования мажоритарным методом.

3. Спектральный код на основе функций Радемахера. Опишем новый новый систематический код с проверками на четность, имеющий произвольное число k информационных разрядов [10].

3.1. Построение кода. Предположим сначала, что k = 2q, q = 1,2,...; это ограничение потом легко снимается. Положим g0,j = 1, а значения qi,j для i = 1, q и j = 1, k такими, чтобы вектор (gi,j , g2,j,... , gq,j) был двоичным кодом числа j — 1. Например, для q = 3, j = 5 это вектор (100).

Значения qi,j можно получить линейным преобразованием аргумента и значений дискретных функций Радемахера [23]. Как известно, система функций Радемахера ортогональна, ортонормирована, но не полна и используется для построения функций Уолша, по которым, как по базису, осуществляют спектральное разложение кусочно-постоянных булевых функций [24]. В силу этого полученный код предлагается называть R-спектральным.

Таким образом, получены m = q +1 проверочных разрядов и образован блоковый систематический код длины n = 2q + q +1 с проверкой на четность.

Покажем, что построенный код способен исправлять ошибку инвертирования некоторого разряда в и. Для этого примем еще одно допущение, что одиночная ошибка произошла в информационных битах, т.е. w' = (w1,...,wk) = u + e, e = (ei,...,6fc), где w' — начальная часть полученного вектора, содержащая информационные разряды, а e — вектор ошибки, содержащий не более одной 1. Это ограничение мы далее обойдем.

Вычислим синдромы s0, ... ,sq для вектора w': si = ^2j=1 Wj • gi,j, 0 ^ i ^ q.

Если So = 0, то одиночной ошибки не произошло. В противном случае вычисляем вектор (s1,... , sq) который есть двоичный вектор числа j — 1, если e содержит 1 в j-й позиции, и эта позиция может быть получен дешифрованием полученного вектора. Ясно, что вычисление вектора ошибки построенного кода происходит по упрощенной схеме: входом является синдром ошибки разрядности n — k — 1, а выходом — вектор ошибки разрядности k.

Построенный линейный нециклический R-код имеет минимальное расстояние кода d = 2: нулевой вектор и вектор, имеющий 1 только в первом и (k + 1)-м разрядах — его кодовые слова. Но, тем не менее, R-код позволяет исправлять одиночную ошибку

в информационных разрядах полученного слова, а для определения разряда, в котором произошла ошибка, может быть использована стандартная схема дешифратора. Пример. Рассмотрим пример с q = 3. Значения коэффициентов , 0 ^ i ^ 3, 1 ^ j ^ 8 представлены ниже в таблице:

9o,j 11111111

gi,j 0 0 0 0 1 1 1 1 g2j 0 0 1 1 0 0 1 1

g3j 0 10 10 10 1

Позиции информационных 12345678 разрядов, j

Мы видим, что значения вектора (g1,j ,g2,j ,g3,j) есть двоичный код числа j — 1. Значения проверочных vg,... , v12 разрядов для u = (u1,... , Us) будут определяться соотношениями

Vg = U1 + U2 + U3 + U4 + U5 + U6 + U7 + Us, V11 = U3 + U4 + U7 + U8,

Vio = U5 + U6 + U7 + Us, V12 = U2 + U4 + U6 + Us.

Если ошибка произошла, например, в 5-м разряде, то s1 = 1, s2 = s3 = 0, при ошибке в 8-м разряде будем иметь s1 = s2 = s3 = 1 и т. д. В коде Хэмминга расположение столбцов проверочной матрицы H такое, что синдром также является двоичным представлением позиции ошибки, однако при этом учитывается ошибка не только в информационных, но и в проверочных разрядах.

Ограничение k = 2q легко снимается: при 2q-1 < k ^ 2q строим код для q как указано выше и отбрасываем последние 2q — k значений v и коэффициентов gi,j. В результате получен ([logk] + 1 + k, к)-код, исправляющий одиночную ошибку в информационных битах.

3.2. Обнаружение и исправление сбоев комбинационной схемы. Пусть ОС по входному вектору x вычисляет выходной k-мерный вектор информационных бит y, и одновременно КС по x и формулам (1), вычисляет вектор z = (z0, ... , z¡) из m = l + 1, l = [log k] проверочных бит R-кода.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Реально выход ОС может быть искажен: y = (у1, ... , щ) = y + e, e — вектор ошибок. Вектор проверочных бит z тоже может содержать ошибки, но всех ошибок не более двух. Также считаем, что значение z0 — бит четности неискаженного вектора y — кодером всегда вычисляется верно. Это можно обеспечить защитой соответствующей части кодера специальными технологическими методами, причем подсхемы вычисления остальных проверочных бит z1, ... , z¡ могут оставаться незащищенными.

Обнаружение и исправление сбоев комбинационной схемы проходит по следующему алгоритму, реализуемому декодером, который также защищают от ошибок.

1. Вычисляется вектор 5 = (во, ... в г) синдрома: вг = ^к=1 Уз ■ , г = 0,1.

2. Если в0 = ¿о, то либо ||е|| = 0 и выходной вектор ОС у вычислен верно, либо ||е|| = 2 и у содержит две ошибки. Далее

a) если вг = для всех г = 1, /, то выходной вектор ОС ошибок не содержит;

b) иначе, вектор у содержит две ошибки, и И,-код устанавливает этот факт.

3. Если = ¿о, то вектор у/ содержит одну ошибку в позиции £ и (в1, ... , вг) есть двоичный код числа £ — 1.

Утверждение в п. 2Ь справедливо, поскольку если обе возможные ошибки произошли в у, то контрольные разряды ¿1, ... , ^ вычислены верно. В случае 3 возможна ещё одна ошибка в контрольных разрядах, что, однако, не влияет на вычисление битов синдрома в1, ... , в1.

Таким образом, построенный И,-код относится к классу БЕС/БЕВ.

Мы видим, что вычисление вектора ошибки е декодером И,-кода проводится дешифрированием вектора (в1, ..., в1). Однако схема дешифратора обладает естественной избыточностью [7, 18], т.к. на его выходе должен возбуждаться только один разряд, и другое свидетельствует об ошибке. Данный факт можно использовать: не обеспечивая сам дешифратор технологической защитой, снабдить его защищенной схемой проверки на четность, а в случае ошибки в вычислениях е применить пересчет выходного вектора. Это будет единственная последовательностная подсхема в проектируемой КС.

Такой подход оправдан, поскольку, во-первых, данный дешифратор будет иметь площадь существенно меньше площади ОС и, во-вторых, возбуждаться он будет лишь в случае коррекции ошибки в последней, т. е. достаточно редко. Поэтому вероятность появления ошибки в схеме дешифратора будет значительно меньше вероятности ошибки в ОС. С другой стороны, именно вычисление позиции ошибки по синдрому является наиболее сложной операцией, выполняемой декодером [18].

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

3.4. Сравнение кодов. С целью оценки эффективности применения И,-кода для повышения сбоеустойчивости комбинационных схем был проведено иммитационное тестирование на схемах из известных тестовых наборов 18СА8'85 и Ь08уП;Ь89; состав этих наборов может быть найден на сайте Ьир://^тлррт.га/'№/Схемы_18СА885.

При моделировании сбоя осуществлялось искажение выхода некоторого логического элемента тестируемой схемы. При этом, чтобы оставаться в рамках принятой модели сбоев, считалось, что может оказаться инвертированными не более одного бита вектора у, а всех ошибок в выходе ОС и кодера — не более двух. Также считалось, что значение бита четности неискаженного выходного вектора у всегда вычисляется верно, что обеспечивается специальной технологической защитой соответствующей части кодера, при этом подсхемы вычисления остальных проверочных бит могут оставаться незащищенными [25].

При оценке структурных затрат для схем функционального контроля было проведено сравнение исходной схемы с и без КС. При этом оптимизация кодера и декодера проводилась отдельно с использованием программы Yosys. В результате тестирования было получено, что благодаря оптимизации схема функционального контроля для представленных схем в среднем была уменьшена на 18,7%.

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

• 65,3% сбоев маскируются;

• 17,5% сбоев исправляются КС;

• 4,4% сбоев были пропущены;

• в 10,1% случаев получен ложный сигнал о наличии ошибки;

• в 2,6% случаев получен сигнал о наличии двукратной ошибки.

Относительного последнего пункта отметим, что однократная ошибка в каком-либо элементе схемы может привести к множественной ошибке на выходе [13]. В целом приведённые результаты говорят о том, что использование R-кода обеспечивает в среднем исправление или обнаружение приблизительно 85,5% реальных ошибок на выходе схем (без использования разбиений выходов на группы).

Также было проведено сравнение структурных затрат КС предлагаемого спектрального R-кода и схем, полученных с помощью TMR [28] В результате оказалось, что для рассмотренных схем при использовании TMR число элементов схемы увеличивалось в среднем в 3,2 раза, а при использовании схемы функционального контроля на основе спектрального R-кода — в среднем в 2,2 раза.

Заключение и выводы

В работе дан краткий обзор проблемы синтеза сбоеустойчивых ИС и подхода, основанного на использовании помехозащищенного кодирования. Выявлены особенности данной задачи, отличающие ее от известной задачи кодирования сообщений. Указывается, в частности, что обычные характеристики кода для рассматриваемой

задачи не являются определяющими. При использовании корректирующих кодов важно обнаружить и исправить ошибку именно в информационных, а не в проверочных символах.

Описан блоковый линейный нециклический R-код с проверкой на четность с произвольным числом информационных символов. Важным свойством R-кода является возможность обеспечивать технологической защитой только часть КС. Код относится к классу SEC/SED, хотя и имеет кодовое расстояние, равное 2 (следствие безошибочности вычисления бита четности выходного вектора ОС). Иммитационное моделирование показало достаточную эффективность использования предложенного R-кода для повышения сбоеустойчивости ИМС.

Описок литературы

1. Согомонян, Е. С., Слабаков, Е. В. Самопроверяемые устройства и отказоустойчивые системы. — М.: Радио и связь, 1989.

SOGOMONJAN, E. S., SLABAKOV, E. V. (1989) Self-testing devices and fault-tolerant systems. Radio and Communication, Moscow.

2. Щербаков, Н. С. Самокорректирующиеся дискретные устройства. — М.: Машиностроение, 1975.

SHCHERBAKOV, N. S. (1976) Self-correcting discrete devices. Mashinostroenie, Moscow.

3. BEHROOZ PARHAMI. Fault-tolerant reversible circuits // Proc. 40th Asi-lomar Conf. Signals, Systems, and Computers, Pacific Grove, CA, October 2006. p. 17261729.

4. BOYKIN, P.O., ROYCHOWDHURY, V. P. Reversible fault-tolerant logic // Proc. Int'l Conf. Dependable Systems and Networks, 2005. p. 444-453.

5. RUBAIA RAHMAN, LAFIFA JAMAL, HAFIZ MD. HASAN BABU. Design of reversible fault tolerant programmable logic arrays with vector orientation // International Journal of Information and Communication Technology ResearchVolume, 1, No. 8, December 2011. p. 337-343.

6. Коц, У. Коды с исправлением ошибок и их реализация в цифровых системах / В кн.: Методы введения избыточности для вычислительных систем. — М.: Сов. радио, 1966. С. 179-229.

KAUTZ, W. (1962) Codes and coding circuity for automatic error correction within

digital systems / in "Redundancy techniques for computing systems", ed. R. H. Wilcox, W. C. Mann. Washington D. C.: Spartan Books, p. 152-195.

7. Хетагуров, Я. А., Руднев, Ю. П. Повышение надежности цифровых устройств методами избыточного кодирования. М.: Энергия, 1974.

KHETAGUROV, YA. A., RUDNEV, YU. P. (1974) Increasing the reliability of digital devices by redundant coding methods, Energija, Moscow.

8. POOLAKKAPARAMBIL, M., MATHEW, J. BCH code based multiple bit error correction in finite field multiplier circuits // ISQED, 2011. p. 1-6.

9. Гаврилов, С. В., Гуров, С. И., Жукова, Т.Д., Рыжова, Д. И. Применение теории кодирования для повышения надежности комбинационных схем // Информационные технологии. № 12. М.: Новые технологии, 2016. С. 931-937. GAVRILOV, S. V, GUROV, S. I., ZHUKOVA, T. D., RYZHOVA, D. I. (2016) Application of the coding theory for increasing the reliability of combinational circuits. Information technology, 12., New technologies, p. 931-937.

10. Гуров, С. И. Спектральный R-код с проверками на четность // Прикладная математика и информатика. М.: МАКС Пресс, 2017, № 55. — С. 91-96. GUROV, S. I. (2017) Spectral R-code with parity checks. Applied Mathematics and Informatics. MAX Press, 55. p. 91-96.

11. POOLAKKAPARAMBIL, M., MATHEW, J. AND JABIR ABUSALEH. Multiple Bit Error Tolerant Galois Field Architectures Over GF(2m) // Electronics, 2012, 1. p. 3—22.

12. Петров, К. А. Элементы помехоустойчивого кодирования нециклического типа субмикронных КМОП оперативных запоминающих устройств / Дисс. ... канд. техн. наук. Национальный исследовательский ядерный университет «МИФИ», 2015.

PETROV, K. A. (2015) Elements of noise-immune encoding of non-cyclic type of submicron CMOS RAMs / Diss. ... cand. tech. sciences. National Research Nuclear University "MIFI".

13. Гаврилов, С. В., Гуров, С. И., Жукова, Т. Д., Рыжова, Д. И., Тельпухов, Д. В. Методы повышения сбоеустойчивости комбинационных ИМС методами избыточного кодирования // Прикладная математика и информатика. № 53. М.: МАКС Пресс, 2016. С. 93-102.

GAVRILOV, S. V., GUROV, S. I., ZHUKOVA, T. D., RYZHOVA, D. I., TELPUKHOV, D. V. (2006) Methods for increasing the fault tolerance of combinational IMS by the methods of excessive coding. Applied Mathematics and

Informatics. 53. MAX Press, 2016. p. 93-102.

14. Гаврилов, С. В., Иванова, Г. А., Рыжова, Д. И., Соловьев, А.Н., Стемпковский, А. Л. Методы синтеза помехозащищенных комбинационных блоков // Информационные технологии. 2015, 21, №11. С. 821-826.

GAVRILOV, S. V., IVANOVA, G. A., RYZHOVA, D. I., SOLOVIEV, A. N., STEMPKOVSKY, A. L. (2015) Methods for the synthesis of jam-free combination blocks. Information Technology. 21 (11). p. 821-826.

15. Телец, В., Цыбин, С., Быстрицкий, А., Подъяпольский, С. ПЛИС для космических применений. Архитектурные и схемотехнические особенности // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес, 2005. 6. С. 44-48.

TAURUS, B., TSYBIN, S., BYSTRITSKII, A., PODYAPOLSKY, S. (2005) FPGA for space applications. Architectural and circuit design features. ELECTRONICS: Science, Technology, Business. 6. p. 44-48.

16. Юдинцев, В. Радиационно-стойкие интегральные схемы. Надежность в космосе и на земле // Электроника: Наука, технология, бизнес, 2007. Вып. 5. C. 72-77. YUDINTSEV, V. (2007) Radiation-resistant integrated circuits. Reliability in space and on earth. Electronics: Science, technology, business, 5. p. 72-77.

17. Галлагер Р. Теория информации и надежная связь. М.: Сов. Радио, 1974. GALLAGER, R. G. (1968) Information theopry and relabable communication. New York, London, Sydney, Toronto: Jon Willy and sons, Inc.

18. Савченко, Ю, Г. Цифровые устройства, нечувствительные к неисправностям элементов. — М.: Советское радио, 1977.

SAVCHENKO, YU. G. (1977) Digital devices that are insensitive to faults of elements. Soviet radio, Moscow.

19. Мак-Вильямс, Дж. Перестановочное декодирование систематическаих кодов / Кибернетический сборник, № 1, (новая серия). М.: Мир, 1965. С. 35-57. MACWILLIAMS, J. (1964) Permutation decoding of systematic codes. Bell Syst. Techn. J., 43, (1), part 2. p. 485-505.

20. HSIAO, M. Y. A class of optimal minimum odd-weight-column SEC-DED codes // IBM J. Res. Develop. 1970. Vol. 14. p. 395-401.

21. RAKESH, T., MEHTA, U. S. A Survey of Radiation Hardening by Design (RHBD) Techniques for Electronic Systems for Space Application. International Journal of Electronics and Communication Engineering & Technology, 7(1), 2016, pp. 75-86.

22. Кодирование информации (двоичные коды). Справочник / Под ред. проф. Н. Т. Березнюка. Харьков: Вища школа, 1978.

Coding information (binary codes). (1978) Directory / Ed. prof. BEREZNYUK, N.

T. Vishcha school, Kharkov.

23. Ахмед, Н., Рао, К. Р. Ортогональные преобразования при обработке цифровых сигналов — М.: Связь, 1980.

AHMED, N., RAO, K. R. (1975) Ortogonal Transforms for Digital Signal Processing. Springer-Verlag.

24. Карповский М. Г., Москалев Э. С. Спектральные методы анализа и синтеза дискретных устройств. — Л.: Энергия, 1973.

KARPOVSKY, M. G., MOSKALEV, E. S. (1973) Spectral methods for analysis and synthesis of discrete devices. Energia, Leningard.

25. Тельпухов, Д. В., Жукова, Т. Д., Деменева, А. И., Гуров, С. И. Схема функционального контроля для комбинационных схем на основе R-кода / VIII Всероссийская научно-техническая конференция «Проблемы разработки перспективных микро- и наноэлектронных систем 2018» (МЭС-2018). Сборник трудов под общей ред. А. Л. Стемпковского. М.: ИППМ РАН, 2018. Часть I. (в печати). TELPUKHOV, D. V., ZHUKOVA, T.D., DEMENEVA, A. I, GUROV, S. I. (2018) Functional control scheme for R-code combination schemes / VIII All-Russian Scientific and Technical Conference « Problems development of promising micro- and nanoelectronic systems 2018 » (MES - 2018). Collection of works under the general ed. A. L. Stempkovsky. Moscow: IPPM RAS, 2018. Part I. (in press).

26. WOLF C., GLASER J. Yosys — A Free Verilog Synthesis Suite. In Proceedings of Austrochip 2013.

27. WOLF C., GLASER, J. Methodology and Example-Driven Interconnect Synthesis for Designing Heterogeneous Coarse-Grain Reconfigurable Architectures. In Jan Haase, editor, Models, Methods, and Tools for Complex Chip Design. Lecture Notes in Electrical Engineering. Vol. 265, 2014, pp. 201-221. Springer, 2013.

28. Стемпковский, А. Л., Тельпухов, Д. В., Жукова, Т.Д., Гуров, С. И., Соловьев, Р. А. Методы синтеза сбоеустойчивых комбинационных КМОП схем, обеспечивающих автоматическое исправление ошибок // Известия ЮФУ. Технические науки. 2017. № 7 (192). — С. 197-210.

STEMPKOVSKY, A., L., TELPUKHOV, D., V., ZHUKOVA, T. D., GUROV, S. I., SOLOV'EV, R. A. (2017) Methods for synthesizing fault-tolerant CMOS combinational circuits that provide automatic error correction. Izvestiya SFU. Technical science. 7 (192). p. 197-210.

i Надоели баннеры? Вы всегда можете отключить рекламу.