Метод инжектирования ошибок для оценки надежностных характеристик комбинационных схем
DimaT (обсуждение | вклад) |
DimaT (обсуждение | вклад) |
||
Строка 156: | Строка 156: | ||
</tr> | </tr> | ||
</table> | </table> | ||
+ | |||
+ | Метод статистического внесения сбоев заключается в использовании метода Монте-Карло [8], что подразумевает проведение многократных экспериментов с различными входными данными с последующей оценкой необходимых параметров отказоустойчивости. | ||
+ | |||
+ | == Модели возникновения ошибок == | ||
+ | В общем виде, схему для оценки помехоустойчивости можно представить в следующем виде: | ||
+ | |||
+ | //рисунок// | ||
+ | |||
+ | Пусть входы для моделирования ошибок формируют вектор ошибки: | ||
+ | , где – -ый вход. При в схему внедряется ошибка в -ый вентиль. При - ошибки нет. | ||
+ | |||
+ | === Шум окружающей среды === | ||
+ | |||
+ | При реализации этой стратегии внесения ошибок будем рассматривать ситуацию, когда каждый вентиль имеет некоторую вероятность сбоя. Для удобства эта вероятность фиксируется для всех вентилей схемы, а ошибки происходят независимо. | ||
+ | Таким образом, введем некоторый вещественный параметр , который будет являться характеристикой шума окружающей среды. Тогда элемент при каждой подаче входных воздействий с вероятностью может обратиться в единицу. При таком подходе количество ошибок в схеме, при одной подаче данных, лежит в диапазоне от нуля до общего числа элементов схемы . Случаи с нулевым вектором ошибки при подсчетах характеристик помехоустойчивости схемы не рассматриваются. | ||
+ | |||
+ | === Кратные ошибки === | ||
+ | |||
+ | Фиксируется параметр – кратность ошибки. Вектор при каждой подаче входных воздействий генерируется случайным образом так, чтобы вес его всегда был равен . Пример векторов для : | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === Стресс-тесты для определенных вентилей === | ||
+ | |||
+ | Кроме нахождения обобщенных характеристик отказоустойчивости схемы, метод инжектирования ошибок может быть полезен для выявления наиболее уязвимых участков схемы с точки зрения влияния ошибки в конкретном вентиле на общую работоспособность. Эмпирически было установлено существенное различие в уязвимости для разных участков типовых схем. Этот факт привод к идее разработки методов селективной избыточности комбинационных схем. Эффективным методом определения степени уязвимости участка схемы может служить метод инжектирования ошибок с использованием стратегии стресс-теста: | ||
+ | - Фиксируется элемент , который на всем протяжении тестирования будет равен единице. Остальные элементы вектора обращены в ноль. | ||
+ | - Определяется влияние конкретного вентиля (группы вентилей) на корректность работы всей схемы в условиях помех. | ||
+ | Селективное добавление избыточности для наиболее уязвимых участков схемы позволит достичь разумного компромисса в надежности функционирования при незначительном увеличении площади микросхемы. | ||
+ | |||
+ | == Характеристики помехозащищенности схемы == | ||
+ | |||
+ | Для оценки архитектурной устойчивости к сбоям и отказам, а также для оценки эффективности методов исправления ошибок в процессе моделирования необходимо подсчитывать следующие параметры: | ||
+ | - общее количество экспериментов; | ||
+ | - количество корректных значений выхода схемы; | ||
+ | - общее количество внедренных ошибок. | ||
+ | После проведения серии экспериментов в количестве, достаточном для получения корректной статистической выборки, необходимо вычислить характеристики, с помощью которых можно эффективно сравнивать между собой различные архитектуры комбинационных схем с точки зрения их помехозащищенности. | ||
+ | Для оценки отказоустойчивости схем с точки зрения исправления ошибок будем рассматривать два параметра. Первый параметр характеризует архитектурную устойчивость к ошибкам и определяется как отношение числа некорректных результатов работы схемы к общему числу инжектированных ошибок: | ||
+ | , (3) | ||
+ | где - количество экспериментов с несовпадением результата с эталонным, - общее число внедренных ошибок. По сути, этот параметр определяет вероятность того, что внедренная ошибка в схему приведет к искажению работы всей схемы. | ||
+ | Второй параметр определяет общую устойчивость схемы к ошибкам и вычисляется как отношение числа корректных результатов работы схемы к общему числу тестов: | ||
+ | (4) | ||
+ | В случае комбинационных схем, обнаруживающих ошибки, мы располагаем не только эталонным значением выхода схемы, но и эталонным значением флага ошибки на заданных входных данных. Таким образом, в процессе моделирования необходимо подсчитывать число появлений для событий, описанных в таблице: | ||
+ | |||
+ | <table cellpadding=5 cellspacing=0 border=1><tr><td><p>Истинность результата</p> | ||
+ | <p>(0 – результат верный</p> | ||
+ | <p>1 – результат не верный)</p> | ||
+ | </td> | ||
+ | <td><p>Флаг ошибки</p> | ||
+ | </td> | ||
+ | <td><p>Событие</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr><td><p>0</p> | ||
+ | </td> | ||
+ | <td><p>0</p> | ||
+ | </td> | ||
+ | <td><p>Ошибка не «проявилась»</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr><td><p>0</p> | ||
+ | </td> | ||
+ | <td><p>1</p> | ||
+ | </td> | ||
+ | <td><p>«Ложная тревога»</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr><td><p>1</p> | ||
+ | </td> | ||
+ | <td><p>0</p> | ||
+ | </td> | ||
+ | <td><p>Ошибка пропущена</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | <tr><td><p>1</p> | ||
+ | </td> | ||
+ | <td><p>1</p> | ||
+ | </td> | ||
+ | <td><p>Ошибка обнаружена</p> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | Следует отметить, что при каждой подаче данных в процессе моделирования, в схему вносится, по меньшей мере, одна ошибка. В этом контексте первую строку таблицы 3 следует понимать, как некоторую способность архитектуры маскировать ошибки, то есть ошибка, возникшая на одном из вентилей схемы, не доходит до выходов из-за особенностей её архитектуры. | ||
+ | Эти четыре варианта составляют полную группу событий, следовательно, характеристиками помехоустойчивости схемы будут являться вероятности наступления каждого из событий. |
Версия 12:43, 8 июля 2014
Содержание |
Введение
Суть метода заключается в том, что в процессе моделирования исследуемой логической схемы в один или несколько узлов схемы вносится ошибка. Необходимо определить: произошло ли искажение результата работы схемы, и была ли ошибка обнаружена.
Предлагаемый подход инжектирования ошибок при логическом моделировании подразумевает модификацию схемы таким образом, чтобы появилась возможность вносить ошибки в любой узел схемы. Для этого после каждого вентиля в схему необходимо добавить дополнительный элемент, называемый инжектором. Процесс модификации схемы на примере логической функции XOR в базисе И-ИЛИ-НЕ представлен на рисунке:
Первый вход инжектора соединяется с выходом вентиля, выход инжектора подается в соответствии с начальной коммутацией схемы. Второй входной сигнал инжектора определяется как входной сигнал основной схемы и интерпретируется как дополнительный вход. Логическая единица на любом дополнительном входе – означает ошибку в соответствующем ей вентиле. Инжектор выполняет бинарную логическую операцию, формируемую в зависимости от типа моделируемой ошибки.
Типы моделируемых ошибок
Чаще всего в литературе, связанной с помехоустойчивостью логических схем, рассматриваются только ошибки, связанные с инверсией сигнала. Однако, часто на практике приходится встречаться с ошибками, обусловленными технологическими несовершенствами микроэлектронных изделий, таких как замыкания. В этой работе мы будем рассматривать три основных типа ошибок:
• Замыкание на питание (stuck at VCC);
• Замыкание на землю (stuck on ground);
• Инверсия сигнала.
Структура модифицированной схемы, в зависимости от типа ошибок, существенно изменяться не будет, поменяются только двухвходовые логические элементы эмулирующие ошибку в вентиле. Типы элементов с таблицами истинности для каждого типа ошибки представлены в таблице:
Тип ошибки |
Таблица истинности для инжектора |
Название булевой функции инжектора |
|||||||||||||||
Замыкание на питание (stuck at VCC); |
|
OR, Логическое ИЛИ |
|||||||||||||||
Замыкание на землю (stuck on ground); |
|
Инверсия прямой импликации (больше, детектор 4 |
|||||||||||||||
Инверсия сигнала |
|
XOR, Сумма по модулю 2, Исключающее ИЛИ |
Метод статистического внесения сбоев заключается в использовании метода Монте-Карло [8], что подразумевает проведение многократных экспериментов с различными входными данными с последующей оценкой необходимых параметров отказоустойчивости.
Модели возникновения ошибок
В общем виде, схему для оценки помехоустойчивости можно представить в следующем виде:
//рисунок//
Пусть входы для моделирования ошибок формируют вектор ошибки:
, где – -ый вход. При в схему внедряется ошибка в -ый вентиль. При - ошибки нет.
Шум окружающей среды
При реализации этой стратегии внесения ошибок будем рассматривать ситуацию, когда каждый вентиль имеет некоторую вероятность сбоя. Для удобства эта вероятность фиксируется для всех вентилей схемы, а ошибки происходят независимо. Таким образом, введем некоторый вещественный параметр , который будет являться характеристикой шума окружающей среды. Тогда элемент при каждой подаче входных воздействий с вероятностью может обратиться в единицу. При таком подходе количество ошибок в схеме, при одной подаче данных, лежит в диапазоне от нуля до общего числа элементов схемы . Случаи с нулевым вектором ошибки при подсчетах характеристик помехоустойчивости схемы не рассматриваются.
Кратные ошибки
Фиксируется параметр – кратность ошибки. Вектор при каждой подаче входных воздействий генерируется случайным образом так, чтобы вес его всегда был равен . Пример векторов для :
Стресс-тесты для определенных вентилей
Кроме нахождения обобщенных характеристик отказоустойчивости схемы, метод инжектирования ошибок может быть полезен для выявления наиболее уязвимых участков схемы с точки зрения влияния ошибки в конкретном вентиле на общую работоспособность. Эмпирически было установлено существенное различие в уязвимости для разных участков типовых схем. Этот факт привод к идее разработки методов селективной избыточности комбинационных схем. Эффективным методом определения степени уязвимости участка схемы может служить метод инжектирования ошибок с использованием стратегии стресс-теста: - Фиксируется элемент , который на всем протяжении тестирования будет равен единице. Остальные элементы вектора обращены в ноль. - Определяется влияние конкретного вентиля (группы вентилей) на корректность работы всей схемы в условиях помех. Селективное добавление избыточности для наиболее уязвимых участков схемы позволит достичь разумного компромисса в надежности функционирования при незначительном увеличении площади микросхемы.
Характеристики помехозащищенности схемы
Для оценки архитектурной устойчивости к сбоям и отказам, а также для оценки эффективности методов исправления ошибок в процессе моделирования необходимо подсчитывать следующие параметры: - общее количество экспериментов; - количество корректных значений выхода схемы; - общее количество внедренных ошибок. После проведения серии экспериментов в количестве, достаточном для получения корректной статистической выборки, необходимо вычислить характеристики, с помощью которых можно эффективно сравнивать между собой различные архитектуры комбинационных схем с точки зрения их помехозащищенности. Для оценки отказоустойчивости схем с точки зрения исправления ошибок будем рассматривать два параметра. Первый параметр характеризует архитектурную устойчивость к ошибкам и определяется как отношение числа некорректных результатов работы схемы к общему числу инжектированных ошибок:
, (3)
где - количество экспериментов с несовпадением результата с эталонным, - общее число внедренных ошибок. По сути, этот параметр определяет вероятность того, что внедренная ошибка в схему приведет к искажению работы всей схемы. Второй параметр определяет общую устойчивость схемы к ошибкам и вычисляется как отношение числа корректных результатов работы схемы к общему числу тестов:
(4)
В случае комбинационных схем, обнаруживающих ошибки, мы располагаем не только эталонным значением выхода схемы, но и эталонным значением флага ошибки на заданных входных данных. Таким образом, в процессе моделирования необходимо подсчитывать число появлений для событий, описанных в таблице:
Истинность результата (0 – результат верный 1 – результат не верный) |
Флаг ошибки |
Событие |
0 |
0 |
Ошибка не «проявилась» |
0 |
1 |
«Ложная тревога» |
1 |
0 |
Ошибка пропущена |
1 |
1 |
Ошибка обнаружена |
Следует отметить, что при каждой подаче данных в процессе моделирования, в схему вносится, по меньшей мере, одна ошибка. В этом контексте первую строку таблицы 3 следует понимать, как некоторую способность архитектуры маскировать ошибки, то есть ошибка, возникшая на одном из вентилей схемы, не доходит до выходов из-за особенностей её архитектуры. Эти четыре варианта составляют полную группу событий, следовательно, характеристиками помехоустойчивости схемы будут являться вероятности наступления каждого из событий.