TMPA-2013 Frenkel: Verifying Functional Reliability

Post on 05-Dec-2014

714 views 2 download

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

Transcript of TMPA-2013 Frenkel: Verifying Functional Reliability

Унифицированная высокоуровневая модель программно-аппаратной системы для верификации свойств надежности функционирования

 

С.Л. Френкель1 , В.Н.Захаров1, В.Г. Ушаков2

1 Институт проблем информатики (fsergei@mail.ru, VZakharov@ipiran.ru) 2Московский гос. университет им. М.В. Ломоносова, Институт проблем информатики РАН ( Ushakov@akado.ru ).

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!