Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TMPA-2013 Frenkel: Verifying Functional Reliability

TMPA-2013 Frenkel: Verifying Functional Reliability

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

5206c19df417b8876825b5561344c1a0?s=128

Exactpro
PRO

October 12, 2013
Tweet

Transcript

  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 Синтез по исходной спецификации,

     Разработка производственных и эксплуатационных тестов  Функционально-временная верификация проекта  Анализ надежности в присутствии различных внешних помех ф
  5. 5 Возможности повышения эффективности Переиспользование (Reuse) входных данных и результатов

    различных этапов проектирования через унификацию исходных спецификаций.
  6. УНИФИКАЦИЯ  {Task_i}- набор задач, решение которых необходимо для разработки

    проекта системы (синтеза, тестирования, верификации, надежности и.т.д.) ФЗ-формализованное задание, Ispec_i- неформальная спецификация i-ой задачи 6 Унификация {Task_i} (Ispec_i) i= 1,2…k ФЗ (Design Input) SW_i(input) Requirements
  7. ЯЗЫКИ СПЕЦИФИКАЦИИ Уровень модели Арихитектурно- Алгоритмический Поведенческий RTL SystemC, Abstract

    State Machine (AsmL),Promela (синтез, верификация) SystemC, System Verilog, SMV (синтез, верификация) VHDL, Verilog (синтез, верификация, производственные тесты) 7
  8. 8 Algorithmic State Machine (ASM) An Algorithmic State Machine (ASM)

    –направленный граф с начальной вершиной (Begin), конечной (End), и конечным множеством операторных и условных вершин с одним входом. Вершина End не имеет выходов. Операторная вершина содержит описание операторов на некотором псевдо-коде. ASM позволяет: Иерархически описать алгоритм работы проектируемой системы , Специфицировать Data Path проектируемой системы, Специфицировать управляющий автомат проектируемой системы.
  9. Блок-схема алгоритма Контроллера Светофора main- main road, sec- secondary, amb-

    ambulance 9
  10. 10 Переход от блок-схемы алгоритма к ASM : Вершины 

    НАБОР МИКРООПЕРАЦИЙ y 1 , y 2 , … , y N ,  операторы Y 1 , Y 2 , … ,Y M Неформальные условия в условных вершинах  булевы функции от x 1 , x 2 ,, … , x L
  11. Блок-схема- ASM  FSM  Входы вершин “Begin” . “End”

    помечаем как a1  Входы вершин следующих за операторными вершинами помечаем как a1,..,aM (M=6) Входы разных вершин, кроме END, помечаются разными индексами) 11
  12. 12 Основные свойства ASM, обеспечивающие прозрачность связей разных уровней проектирования

     Все операции в одной операторной вершине выполняются в одном и том же цикле  Если две операции в двух последовательных вершинах могут быть выполены в одном цикле, то вершины (и соответсnвующие им состояния ai ) могут быть объеденены в одну  Для каждой регистровой операции (register- transfer statement), существует путь между регистром -иcточником, и регистром – приемником .
  13. Таблица переходов FSM контроллера 13

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

  15. 15 Синтез схем с использованием системы Abelite (Prof. Samary Baranov,

    Holon Institute of Technology, Israel) ASM-description FSM FSM Micro operations RTL (VHDL) Design Tools (SYNOPSIS,CADENCE) I 2 Joint ASM Flow Chart I 1 I n
  16. ASM как средство унификации  16 ASM-Диаграмма Анализ тестов Анализ

    производительности Анализ надежности
  17. 17 Общая схема верификации проектов

  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. Формальная верификация для проверки соответствия проекта определенным требованиям производительности и

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

  21. Защита (Hardening) от EU Hamming distance preserving arithmetic, Shlomi Dolev

    (Ben-Gurion Univ., Israel and Sergey Frenkel (IPI RAN), 2008
  22. модель самовосстановления после прекращения действия помехи Начальный момент t=0; 

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

    {(s i ,s j f )}, i,j=1,..n {s i }- состояния исправного автомата, {s j f } – автомат, подвергшийся действию помехи Время до самовосстановления (Self-healing time):
  24. Вероятностная модель  Цепь Маркова (ЦМ) Z t =(X t

    , Y t ), описывает совместное функционирование ЦМ X t и Y t до момента, когда либо выходной сигнал неисправного автомата окажется отличным от выходного сигнала исправного автомата (проявилось действие помехи в выходном сигнале), либо состояния обоих автоматов совпадут.  Множества состояний S 1,2 , |S 1,2 | = n, обеих ЦМ одинаковы, начальные состояния X 0 , Y 0 , Y 0 ≠ X 0 детерминированы. Множество состояний ЦМ Z t представляет собой S = {(i,j), i,j = 1,…,n, j ≠ i} ∪ A 0 ∪ A 1 , где состояние (i,j) означает, что исправный автомат находится в состоянии i, а неисправный – в состоянии j (отличном от состояния i исправного автомата), состояние  A 1 – неправильное функционирование (в результате действия помехи) уже проявилась в выходном сигнале),  A 0 – произошло восстановление траектории функционирования автомата до проявления эффекта помехи на выходе.  Число состояний этой ЦМ равно n(n – 1) + 2. Состояния A 0 и A 1 24
  25. 25

  26. Вычисление вероятности самовосстановления 26 D ектор начального распределения определяется начальными

    состояниями исправного и неисправного автоматов. Если исправный автомат в начальный момент 0 находится в состоянии i 0 , а неисправный – в состоянии j 0 ≠ i 0 , то p (i0,j0) (0) = 1, а остальные координаты вектора нулевые. Матрица переходных вероятностей *вычисляется по известным вероятностям выполнения условных вершин Распределение времени t от прекращения действия помехи до самовосстановления:
  27. Пример вычисления переходных вероятности ЦМ Z t  Состояния A

    0 и A 1 -вероятность остаться в каждом из этих состояний равна 1. (1,2) – исправный и неисправный автоматы находятся, соответственно, в состояниях a1и a2, (2,1) – в состояниях и a2 и a1.  Из состояния (1,2) в состояние A 0 можно попасть только в том случае, когда поступит сигнал ¬ x1x2x3 с вероятностью q1p2p3. Тогда оба автомата (исправный и неисправный) перейдут в одно и тоже состояние a2, а выходной сигнал у обоих автоматов – y2,y4  из состояния (1,2) в состояние A 1 можно попасть. если поступит сигнал x1 ¬x2 (с вероятностью p1q2, ), тогда выходной сигнал у исправного автомата y2y3, у неисправного – y2y4 (при этом исправный автомат переходит из состояния a1 в состояние a2, неисправный – из состояния a2 в состояние a1 ),либо, если поступит сигнал x1x2 ¬x3, выходной сигнал у исправного автомата –y2y4, , у неисправного – y1y2 (при этом оба автомата попадают в состояние a1 ), либо, если поступит сигнал ¬x1x2 ¬x3, тогда выходной сигнал у исправного автомата –y2y4 , у неисправного-y1y4 – (при этом исправный автомат: a1- a2, неисправный- a2-a1)
  28. 28 Методология совместной функциональной и надежностной верификации

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

  30. Входные данные программ верификации ,генерируемые из ASM Таблица переходов автомата

    Микрооперации 30
  31. Анализ надежности Вероятности восстановления через t тактов после сбоя (1,2):

    S H = (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. 32 Thank You!