Tools & Methods of Program Analysis (TMPA-2013)
Frenkel, S.L., Zakharov, V.N., Ushakov, V.G., Institute of Informatics Problems, RAS; Moscow State University
Unified High Level Model of Software and Hardware System for Verifying Functional Reliability
1. Унифицированная высокоуровневая
модель программно-аппаратной
системы для верификации свойств
надежности функционирования
С.Л. Френкель1
, В.Н.Захаров1
, В.Г. Ушаков2
1
Институт проблем информатики (fsergei@mail.ru,
VZakharov@ipiran.ru)
2
Московский гос. университет им. М.В. Ломоносова,
Институт проблем информатики РАН ( Ushakov@akado.ru ).
2. 2
ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ
ПРОГРАММНО-АППАРАТНЫХ СИСТЕМ
Architectural and RTL Design
Input: Архитектурная/поведенческая модель на HDL
(Verilog, VHDL) или языках высокого уровня (SystemC,
SystemVerilog)
Output: RTL модель:
data path
control logic (конечно-автоматная модель блока
управления)
Logic Synthesis
Input: RTL описание
Output: вентильная модель
Physical Design
Вне нашего рассмотрения
3. 3
Основные Вызовы в практике
верификации проектов
Верификация занимает 50-80% of ASIC / IP / SoC
проектных затрат
Вычислительная сложность формальной верификации
Моделирование:медленно, трудоемкость подбора тестовых
примеров и анализа результатов
Дороговизна программных инструментов.
Высокие, и зачастую противоречивые требования к
подготовке персонала
4. НЕКОТОРЫЕ ФАКТОРЫ СТОИМОСТИ
ПРОЕКТИРОВАНИЯ
RTL Синтез по исходной спецификации,
Разработка производственных и эксплуатационных
тестов
Функционально-временная верификация проекта
Анализ надежности в присутствии различных
внешних помех
ф
6. УНИФИКАЦИЯ
{Task_i}- набор задач,
решение которых
необходимо для
разработки проекта
системы (синтеза,
тестирования,
верификации,
надежности и.т.д.)
ФЗ-формализованное
задание,
Ispec_i- неформальная
спецификация i-ой
задачи
6
Унификация
{Task_i} (Ispec_i) i=
1,2…k
ФЗ (Design Input)
SW_i(input)
Requirements
8. 8
Algorithmic State Machine (ASM)
An Algorithmic State Machine (ASM) –направленный граф с начальной
вершиной (Begin), конечной (End), и конечным множеством операторных
и условных вершин с одним входом.
Вершина End не имеет выходов. Операторная вершина содержит
описание операторов на некотором псевдо-коде.
ASM позволяет:
Иерархически описать алгоритм работы проектируемой системы ,
Специфицировать Data Path проектируемой системы,
Специфицировать управляющий автомат проектируемой системы.
10. 10
Переход от блок-схемы алгоритма к
ASM :
Вершины НАБОР МИКРООПЕРАЦИЙ y1, y2, … ,
yN, операторы Y1, Y2, … ,YM
Неформальные условия в условных вершинах
булевы функции от x1, x2,, … , xL
11. Блок-схема- ASM FSM
Входы вершин “Begin” .
“End” помечаем как a1
Входы вершин следующих
за операторными
вершинами помечаем как
a1,..,aM (M=6)
Входы разных вершин, кроме
END, помечаются разными
индексами)
11
12. 12
Основные свойства ASM, обеспечивающие
прозрачность связей разных уровней
проектирования
Все операции в одной операторной вершине
выполняются в одном и том же цикле
Если две операции в двух последовательных
вершинах могут быть выполены в одном цикле,
то вершины (и соответсnвующие им состояния ai )
могут быть объеденены в одну
Для каждой регистровой операции (register-
transfer statement), существует путь между
регистром -иcточником, и регистром –
приемником .
18. 18
Верификация на основе Model Checking
FINITE-STATE
SYSTEM
PROPERTY
TO VERIFY
MODEL
CHECKING
PROGRAM
PROPERTY IS TRUE OR
A COUNTER EXAMPLE
propagates sets
of states, not
individual
trajectories
19. Формальная верификация для проверки соответствия проекта
определенным требованиям производительности и надежности
21. Защита (Hardening) от EU
Hamming distance preserving arithmetic, Shlomi Dolev (Ben-Gurion Univ.,
Israel and Sergey Frenkel (IPI RAN), 2008
22. модель самовосстановления
после прекращения действия помехи
Начальный момент t=0;
автомат X под действием помехи переходит
в состояние Y0 вместо состояния X0.
Обозначим такой автомат как как Y.
Неисправный автомат Y действует на тех же
входных сигналах с теми же переходами и
выходными сигналами в зависимости от
текущих состояний и входных сигналов. Так
происходит до того момента, когда либо
проявилось действие помехи в выходном
сигнале, либо состояния обоих автоматов
совпадут. 22
23. Произведение автоматов
Распределение вероятностнй входов X известно.
Множество состяний автомата- {(si,sj
f
)}, i,j=1,..n
{si }- состояния исправного автомата,
{sj
f
} – автомат, подвергшийся действию помехи
Время до самовосстановления (Self-healing time):
24. Вероятностная модель
Цепь Маркова (ЦМ) Zt=(Xt, Yt), описывает совместное
функционирование ЦМ Xt и Yt до момента, когда либо выходной
сигнал неисправного автомата окажется отличным от выходного
сигнала исправного автомата (проявилось действие помехи в
выходном сигнале), либо состояния обоих автоматов совпадут.
Множества состояний S1,2, |S1,2| = n, обеих ЦМ одинаковы,
начальные состояния X0, Y0, Y0 ≠ X0 детерминированы. Множество
состояний ЦМ Zt представляет собой S = {(i,j), i,j = 1,…,n, j ≠ i} ∪
A0 ∪ A1, где состояние (i,j) означает, что исправный автомат
находится в состоянии i, а неисправный – в состоянии j
(отличном от состояния i исправного автомата), состояние
A1 – неправильное функционирование (в результате действия
помехи) уже проявилась в выходном сигнале),
A0 – произошло восстановление траектории функционирования
автомата до проявления эффекта помехи на выходе.
Число состояний этой ЦМ равно n(n – 1) + 2. Состояния A0 и A124
26. Вычисление вероятности
самовосстановления
26
D ектор начального распределения определяется начальными
состояниями исправного и неисправного автоматов. Если исправный
автомат в начальный момент 0 находится в состоянии i0
, а неисправный
– в состоянии j0
≠ i0
, то p(i0,j0)
(0) = 1, а остальные координаты вектора
нулевые.
Матрица переходных вероятностей *
вычисляется по известным
вероятностям выполнения условных вершин
Распределение времени t от прекращения действия помехи до
самовосстановления:
27. Пример вычисления переходных вероятности ЦМ Zt
Состояния A0 и A1 -вероятность остаться в каждом
из этих состояний равна 1.
(1,2) – исправный и неисправный автоматы находятся,
соответственно, в состояниях a1и a2, (2,1) – в
состояниях и a2 и a1.
Из состояния (1,2) в состояние A0 можно попасть
только в том случае, когда поступит сигнал ¬
x1x2x3 с вероятностью q1p2p3. Тогда оба
автомата (исправный и неисправный) перейдут в
одно и тоже состояние a2, а выходной сигнал у
обоих автоматов – y2,y4
из состояния (1,2) в состояние A1 можно попасть.
если поступит сигнал x1 ¬x2 (с вероятностью
p1q2, ), тогда выходной сигнал у исправного
автомата y2y3, у неисправного – y2y4 (при этом
исправный автомат переходит из состояния a1 в
состояние a2, неисправный – из состояния a2 в
состояние a1 ),либо, если поступит сигнал
x1x2 ¬x3, выходной сигнал у исправного автомата
–y2y4, , у неисправного – y1y2 (при этом оба
автомата попадают в состояние a1 ), либо, если
поступит сигнал ¬x1x2 ¬x3, тогда выходной сигнал
у исправного автомата –y2y4 , у неисправного-y1y4
– (при этом исправный автомат: a1- a2,
неисправный- a2-a1)
30. Входные данные программ верификации,генерируемые из
ASM
Таблица переходов
автомата
Микрооперации
30
31. Анализ надежности
Вероятности восстановления через t тактов после сбоя (1,2):
SH = (0.0, 0.034, 0.46, 0.55, 0.64, 0.68),
и после сбоя (5.2):
S = (0.00, 0.79, 0.79, 0,85, 0.89, 0.92, 0.93
31