Upload
iosif-itkin
View
706
Download
2
Embed Size (px)
DESCRIPTION
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
Citation preview
Унифицированная высокоуровневая модель программно-аппаратной системы для верификации свойств надежности функционирования
С.Л. Френкель1 , В.Н.Захаров1, В.Г. Ушаков2
1 Институт проблем информатики ([email protected], [email protected]) 2Московский гос. университет им. М.В. Ломоносова, Институт проблем информатики РАН ( [email protected] ).
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
Основные Вызовы в практике верификации проектов
Верификация занимает 50-80% of ASIC / IP / SoC проектных затрат
Вычислительная сложность формальной верификации
Моделирование:медленно, трудоемкость подбора тестовых примеров и анализа результатов
Дороговизна программных инструментов.
Высокие, и зачастую противоречивые требования к подготовке персонала
НЕКОТОРЫЕ ФАКТОРЫ СТОИМОСТИ ПРОЕКТИРОВАНИЯ
RTL Синтез по исходной спецификации, Разработка производственных и
эксплуатационных тестов Функционально-временная верификация
проекта Анализ надежности в присутствии различных
внешних помех
ф
5
Возможности повышения эффективности
Переиспользование (Reuse) входных данных и результатов различных этапов проектирования через унификацию исходных спецификаций.
УНИФИКАЦИЯ {Task_i}- набор задач,
решение которых необходимо для разработки проекта системы (синтеза, тестирования, верификации, надежности и.т.д.)
ФЗ-формализованноезадание, Ispec_i- неформальная
спецификация i-ой задачи
6
Унификация
{Task_i} (Ispec_i) i= 1,2…k
ФЗ (Design Input)
SW_i(input)
Requirements
ЯЗЫКИ СПЕЦИФИКАЦИИУровень модели
Арихитектурно-
Алгоритмический
Поведенческий
RTL
SystemC, Abstract State Machine (AsmL),Promela (синтез, верификация)
SystemC, System Verilog, SMV
(синтез, верификация)
VHDL, Verilog (синтез, верификация, производственные тесты)
7
8
Algorithmic State Machine (ASM)
An Algorithmic State Machine (ASM) –направленный граф с начальной вершиной (Begin), конечной (End), и конечным множеством операторных и условных вершин с одним входом.
Вершина End не имеет выходов. Операторная вершина содержит описание операторов на некотором псевдо-коде.
ASM позволяет:Иерархически описать алгоритм работы проектируемой системы ,
Специфицировать Data Path проектируемой системы,
Специфицировать управляющий автомат проектируемой системы.
Блок-схема алгоритма Контроллера Светофора
main- main road, sec- secondary, amb- ambulance 9
10
Переход от блок-схемы алгоритма к ASM :
Вершины НАБОР МИКРООПЕРАЦИЙ y1, y2, … , yN, операторы Y1, Y2, … ,YM
Неформальные условия в условных вершинах булевы функции от x1, x2,, … , xL
Блок-схема- ASM FSM
Входы вершин “Begin” . “End” помечаем как a1
Входы вершин следующих за операторными вершинами помечаем как
a1,..,aM (M=6)
Входы разных вершин, кроме END, помечаются разными индексами)
11
12
Основные свойства ASM, обеспечивающие прозрачность связей разных уровней
проектирования
Все операции в одной операторной вершине выполняются в одном и том же цикле
Если две операции в двух последовательных вершинах могут быть выполены в одном цикле, то вершины (и соответсnвующие им состояния ai ) могут быть объеденены в одну
Для каждой регистровой операции (register-transfer statement), существует путь между регистром -иcточником, и регистром –приемником .
Таблица переходов FSM контроллера
13
Структурное представление FSM
14
15
Синтез схем с использованием системы Abelite
(Prof. Samary Baranov, Holon Institute of Technology, Israel)
ASM-description
FSMFSMMicro
operations
RTL (VHDL)
Design Tools(SYNOPSIS,CADENCE)
I2
Joint ASMFlow Chart
I1 In
ASM как средство унификации
16
ASM-Диаграмма
Анализ тестов
Анализ производительности
Анализ надежности
17
Общая схема верификации проектов
Design Specification
Verifier
Implementation
NoYes
Correct Implementation
Incorrect Implementation
18
Верификация на основе Model Checking
FINITE-STATE SYSTEM
PROPERTYTO VERIFY
MODEL CHECKINGPROGRAM
PROPERTY IS TRUE OR A COUNTER EXAMPLE
propagates sets of states, not individual trajectories
Формальная верификация для проверки соответствия проекта определенным требованиям производительности и надежности
Использование ASM- для полуформальной спецификации
проекта
20
Защита (Hardening) от EU
Hamming distance preserving arithmetic, Shlomi Dolev (Ben-Gurion Univ., Israel and Sergey Frenkel (IPI RAN), 2008
модель самовосстановленияпосле прекращения действия помехи
Начальный момент t=0; автомат X под действием помехи переходит в состояние Y0 вместо состояния X0.
Обозначим такой автомат как как Y. Неисправный автомат Y действует на тех же входных сигналах с теми же переходами и выходными сигналами в зависимости от текущих состояний и входных сигналов. Так происходит до того момента, когда либо проявилось действие помехи в выходном сигнале, либо состояния обоих автоматов совпадут. 22
Произведение автоматов
Распределение вероятностнй входов X известно.Множество состяний автомата- {(si,sj
f )}, i,j=1,..n {si }- состояния исправного автомата, {sj
f } – автомат, подвергшийся действию помехи
Время до самовосстановления (Self-healing time):
Вероятностная модель Цепь Маркова (ЦМ) 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 и A1
представляют собой поглощающие состояния двумерной цепи Маркова Zt. 24
25
Вычисление вероятности самовосстановления
26
D ектор начального распределения определяется начальными состояниями исправного и неисправного автоматов. Если исправный автомат в начальный момент 0 находится в состоянии i0, а неисправный – в состоянии j0 ≠ i0, то p(i0,j0)(0) = 1, а остальные координаты вектора нулевые.
Матрица переходных вероятностей *вычисляется по известным вероятностям выполнения условных вершин
Распределение времени t от прекращения действия помехи до самовосстановления:
Пример вычисления переходных вероятности ЦМ 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)
28
Методология совместной функциональной и надежностной верификации
ASM диаграмма фазы выборки конвейеризированного процессора
29
Входные данные программ верификации,генерируемые из ASM
Таблица переходов автомата Микрооперации
30
Анализ надежности
Вероятности восстановления через 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
32
Thank You!