32
Унифицированная высокоуровневая модель программно-аппаратной системы для верификации свойств надежности функционирования С.Л. Френкель 1 , В.Н.Захаров 1 , В.Г. Ушаков 2 1 Институт проблем информатики ([email protected], [email protected]) 2 Московский гос. университет им. М.В. Ломоносова, Институт проблем информатики РАН ( [email protected] ).

TMPA-2013 Frenkel: Verifying Functional Reliability

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

Page 1: TMPA-2013 Frenkel: Verifying Functional Reliability

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

 

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

1 Институт проблем информатики ([email protected], [email protected]) 2Московский гос. университет им. М.В. Ломоносова, Институт проблем информатики РАН ( [email protected] ).

Page 2: TMPA-2013 Frenkel: Verifying Functional Reliability

2

ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ ПРОГРАММНО-АППАРАТНЫХ СИСТЕМ Architectural and RTL Design

Input: Архитектурная/поведенческая модель на HDL (Verilog, VHDL) или языках высокого уровня (SystemC, SystemVerilog)

Output: RTL модель: data path control logic (конечно-автоматная модель блока

управления)

Logic Synthesis

Input: RTL описание

Output: вентильная модель Physical Design

Вне нашего рассмотрения

Page 3: TMPA-2013 Frenkel: Verifying Functional Reliability

3

Основные Вызовы в практике верификации проектов

Верификация занимает 50-80% of ASIC / IP / SoC проектных затрат

Вычислительная сложность формальной верификации

Моделирование:медленно, трудоемкость подбора тестовых примеров и анализа результатов

Дороговизна программных инструментов.

Высокие, и зачастую противоречивые требования к подготовке персонала

Page 4: TMPA-2013 Frenkel: Verifying Functional Reliability

НЕКОТОРЫЕ ФАКТОРЫ СТОИМОСТИ ПРОЕКТИРОВАНИЯ

RTL Синтез по исходной спецификации, Разработка производственных и

эксплуатационных тестов Функционально-временная верификация

проекта Анализ надежности в присутствии различных

внешних помех

ф

Page 5: TMPA-2013 Frenkel: Verifying Functional Reliability

5

Возможности повышения эффективности

Переиспользование (Reuse) входных данных и результатов различных этапов проектирования через унификацию исходных спецификаций.

Page 6: TMPA-2013 Frenkel: Verifying Functional Reliability

УНИФИКАЦИЯ {Task_i}- набор задач,

решение которых необходимо для разработки проекта системы (синтеза, тестирования, верификации, надежности и.т.д.)

ФЗ-формализованноезадание, Ispec_i- неформальная

спецификация i-ой задачи

6

Унификация

{Task_i} (Ispec_i) i= 1,2…k

ФЗ (Design Input)

SW_i(input)

Requirements

Page 7: TMPA-2013 Frenkel: Verifying Functional Reliability

ЯЗЫКИ СПЕЦИФИКАЦИИУровень модели

Арихитектурно-

Алгоритмический

Поведенческий

RTL

SystemC, Abstract State Machine (AsmL),Promela (синтез, верификация)

SystemC, System Verilog, SMV

(синтез, верификация)

VHDL, Verilog (синтез, верификация, производственные тесты)

7

Page 8: TMPA-2013 Frenkel: Verifying Functional Reliability

8

Algorithmic State Machine (ASM)

An Algorithmic State Machine (ASM) –направленный граф с начальной вершиной (Begin), конечной (End), и конечным множеством операторных и условных вершин с одним входом.

Вершина End не имеет выходов. Операторная вершина содержит описание операторов на некотором псевдо-коде.

ASM позволяет:Иерархически описать алгоритм работы проектируемой системы ,

Специфицировать Data Path проектируемой системы,

Специфицировать управляющий автомат проектируемой системы.

Page 9: TMPA-2013 Frenkel: Verifying Functional Reliability

Блок-схема алгоритма Контроллера Светофора

main- main road, sec- secondary, amb- ambulance 9

Page 10: TMPA-2013 Frenkel: Verifying Functional Reliability

10

Переход от блок-схемы алгоритма к ASM :

Вершины НАБОР МИКРООПЕРАЦИЙ y1, y2, … , yN, операторы Y1, Y2, … ,YM

Неформальные условия в условных вершинах булевы функции от x1, x2,, … , xL

Page 11: TMPA-2013 Frenkel: Verifying Functional Reliability

Блок-схема- ASM FSM

Входы вершин “Begin” . “End” помечаем как a1

Входы вершин следующих за операторными вершинами помечаем как

a1,..,aM (M=6)

Входы разных вершин, кроме END, помечаются разными индексами)

11

Page 12: TMPA-2013 Frenkel: Verifying Functional Reliability

12

Основные свойства ASM, обеспечивающие прозрачность связей разных уровней

проектирования

Все операции в одной операторной вершине выполняются в одном и том же цикле

Если две операции в двух последовательных вершинах могут быть выполены в одном цикле, то вершины (и соответсnвующие им состояния ai ) могут быть объеденены в одну

Для каждой регистровой операции (register-transfer statement), существует путь между регистром -иcточником, и регистром –приемником .

Page 13: TMPA-2013 Frenkel: Verifying Functional Reliability

Таблица переходов FSM контроллера

13

Page 14: TMPA-2013 Frenkel: Verifying Functional Reliability

Структурное представление FSM

14

Page 15: TMPA-2013 Frenkel: Verifying Functional Reliability

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

Page 16: TMPA-2013 Frenkel: Verifying Functional Reliability

ASM как средство унификации

16

ASM-Диаграмма

Анализ тестов

Анализ производительности

Анализ надежности

Page 17: TMPA-2013 Frenkel: Verifying Functional Reliability

17

Общая схема верификации проектов

Design Specification

Verifier

Implementation

NoYes

Correct Implementation

Incorrect Implementation

Page 18: TMPA-2013 Frenkel: Verifying Functional Reliability

18

Верификация на основе Model Checking

FINITE-STATE SYSTEM

PROPERTYTO VERIFY

MODEL CHECKINGPROGRAM

PROPERTY IS TRUE OR A COUNTER EXAMPLE

propagates sets of states, not individual trajectories

Page 19: TMPA-2013 Frenkel: Verifying Functional Reliability

Формальная верификация для проверки соответствия проекта определенным требованиям производительности и надежности

Page 20: TMPA-2013 Frenkel: Verifying Functional Reliability

Использование ASM- для полуформальной спецификации

проекта

20

Page 21: TMPA-2013 Frenkel: Verifying Functional Reliability

Защита (Hardening) от EU

Hamming distance preserving arithmetic, Shlomi Dolev (Ben-Gurion Univ., Israel and Sergey Frenkel (IPI RAN), 2008

Page 22: TMPA-2013 Frenkel: Verifying Functional Reliability

модель самовосстановленияпосле прекращения действия помехи

Начальный момент t=0; автомат X под действием помехи переходит в состояние Y0 вместо состояния X0.

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

Page 23: TMPA-2013 Frenkel: Verifying Functional Reliability

Произведение автоматов

Распределение вероятностнй входов X известно.Множество состяний автомата- {(si,sj

f )}, i,j=1,..n {si }- состояния исправного автомата, {sj

f } – автомат, подвергшийся действию помехи

Время до самовосстановления (Self-healing time):

Page 24: TMPA-2013 Frenkel: Verifying Functional Reliability

Вероятностная модель Цепь Маркова (ЦМ) 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

Page 25: TMPA-2013 Frenkel: Verifying Functional Reliability

25

Page 26: TMPA-2013 Frenkel: Verifying Functional Reliability

Вычисление вероятности самовосстановления

26

D ектор начального распределения определяется начальными состояниями исправного и неисправного автоматов. Если исправный автомат в начальный момент 0 находится в состоянии i0, а неисправный – в состоянии j0 ≠ i0, то p(i0,j0)(0) = 1, а остальные координаты вектора нулевые.

Матрица переходных вероятностей *вычисляется по известным вероятностям выполнения условных вершин

Распределение времени t от прекращения действия помехи до самовосстановления:

Page 27: TMPA-2013 Frenkel: Verifying Functional Reliability

Пример вычисления переходных вероятности ЦМ 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)

Page 28: TMPA-2013 Frenkel: Verifying Functional Reliability

28

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

Page 29: TMPA-2013 Frenkel: Verifying Functional Reliability

ASM диаграмма фазы выборки конвейеризированного процессора

29

Page 30: TMPA-2013 Frenkel: Verifying Functional Reliability

Входные данные программ верификации,генерируемые из ASM

Таблица переходов автомата Микрооперации

30

Page 31: TMPA-2013 Frenkel: Verifying Functional Reliability

Анализ надежности

Вероятности восстановления через 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

Page 32: TMPA-2013 Frenkel: Verifying Functional Reliability

32

Thank You!