9. Praktická verifikace

Podobné dokumenty
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

12. VHDL pro verifikaci - Testbench I

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

10. Techniky formální verifikace a validace

SYSTÉMY NAČIPU MI-SOC

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

2. Synchronní číslicové systémy

Verifikace číslicových obvodů

Metody návrhu systémů na bázi FPGA

Profilová část maturitní zkoušky 2017/2018

Verifikace číslicových obvodů

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Simulace číslicových obvodů: úvod Jakub Šťastný ASICentrum, s.r.o. Katedra teorie obvodů FEL ČVUT Praha

Profilová část maturitní zkoušky 2013/2014

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Zátěžové testy aplikací

VeriFIT Automatizovaná analýza a verifikace


7. Popis konečného automatu

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Profilová část maturitní zkoušky 2014/2015

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Profilová část maturitní zkoušky 2015/2016

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena.

Honeywell & Masarykova univerzita v Brně

U Úvod do modelování a simulace systémů

FPGA + mikroprocesorové jádro:

Návrh a simulace zkušební stolice olejového čerpadla. Martin Krajíček

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Maturitní témata Školní rok: 2015/2016

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

MPASM a IDE pro vývoj aplikací MCU (Microchip)

Struktury a vazebné energie iontových klastrů helia

Centrum kompetence automobilového průmyslu Josefa Božka - AutoSympo a Kolokvium Božek 2. a , Roztoky -

CO JE STAVOVÝ AUTOMAT

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

VISUAL BASIC. Přehled témat

3. Sekvenční logické obvody

Vývoj a testování elektronických řídicích jednotek pro automobily

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně

Aplikovaná informatika

POČÍTAČOVÁ SIMULACE PODNIKOVÝCH PROCESŮ. Ing. V. Glombíková, PhD.

Řídící systémy hydraulických procesů. Cíl: seznámení s možnostmi řízení, regulace a vizualizace procesu.

Digitální technika. Jazyk VHDL, základy návrhu. Ing. Jakub Št astný, Ph.D. 1

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

Verifikace pomocí assertions: jazyk PSL Jakub Šťastný

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Temporální Logiky. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 19

Úplný systém m logických spojek. 3.přednáška

Institut teoretické informatiky (ITI) na FI MU

PŘÍLOHA C Požadavky na Dokumentaci

Principy komunikace s adaptéry periferních zařízení (PZ)

TÉMATICKÝ OKRUH Softwarové inženýrství

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

Testování a spolehlivost. 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů

Programování LEGO MINDSTORMS s použitím nástroje MATLAB a Simulink

Normal mission real time system

Program a životní cyklus programu

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

7 Jazyk UML (Unified Modeling Language)

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Návrh. číslicových obvodů

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

Architektura softwarových systémů

5. Metody návrhu uživatelského rozhraní

TEAM DESIGN ABB CHALLENGE. EBEC Brno března

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

7.6 Další diagramy UML

Moderní nástroje pro vývoj elektronických řídicích jednotek

Unbounded Model Checking

SEKVENČNÍ LOGICKÉ OBVODY

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Převodník Ethernet ARINC 429

Řízení IO přenosů DMA řadičem

7.6 Další diagramy UML

Firmware řídící jednotky stejnosměrného generátoru

PODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2

2. Začlenění HCI do životního cyklu software

Testování softwaru. 10. dubna Bořek Zelinka

Pohled do nitra mikroprocesoru Josef Horálek

Případová studie Řadič I2C rozhraní

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

Analýza a Návrh. Analýza

Projekt: Přístupový terminál

Algebra blokových schémat Osnova kurzu

5 Požadavky a jejich specifikace

Architektury Informačních systémů. Jaroslav Žáček

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Princip funkce počítače

Otázky ke státní závěrečné zkoušce

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

7 Jazyk UML (Unified Modeling Language)

5. Sekvenční logické obvody

Transkript:

Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt 9. Praktická verifikace EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI Pravidla, postupy Testovací prostředí Techniky pokročilé verifikace 1

Něco navrhnout není všechno specifikace část návrhového postupu syntetický krok implementace simulace analytické kroky časová analýza analýza příkonu analýza plochy simulace report report report srovnání (verifikace) report 2

Verifikace a testování Verifikace je proces, který ověří, že obvod byl navržen podle specifikace Testování je proces, který ověří, že obvod byl vyroben podle návrhu.

Verifikace Verifikace srovnává specifikaci a implementaci. Bez specifikace není verifikace. Specifikace je typicky textový dokument (neformální specifikace), který popisuje fyzické, elektrické, funkční a časové vlastnosti obvodu, který bude navržen.

Formy verifikace verifikace simulací (Modelsim ) verifikace v simulačním prostředí (testbench), který produkuje stimuly a sbírá-kontroluje odezvy formální verifikace (Formality, Conformal) formální důkaz funkčních vlastností obvodu statická časová analýza (STA) (PrimeTime) automatická kontrola časových vlastností obvodu

Verifikační prostředí Design under Verification (DUV) generátor stimulů & kontrola odezvy TESTBENCH RTL VHDL funkční verifikace Netlist + SDF časová verifikace

Struktura verifikačního prostředí Nejjednodušší: jeden proces, který generuje stimuly a kontroluje odezvu Více procesů může kontrolovat různé části specifikace VHDL konfigurací můžeme volit úroveň detailu popisu (RTL, netlist s časováním) verifikační případ (test case)

Rozvinuté verifikační prostředí modely externích bloků Design Under Verification kontrola odezvy generátory stimulů vstupní data řízení verifikace skript výstupní data

Kontrola odezvy a generátory stimulů Standardní chování standardní kontrola Generátory např. transakcí na sběrnici Kontrola dodržení protokolu např. na sběrnici Samostatné procesy verifikační IP makrobloky (jádra)

Složky verifikace Verifikační prostředí Verifikační IP Metodika verifikace Standardní komponenty (knihovna) Simulátor Jazyky Kontrola modelu

Kontrola modelu Teorie: abstraktní poznatek červený a zelený signál jsou neslučitelné Model: konkrétní systém, který teorii vyhovuje semafor na křižovatce semafor na nádraží semafor na železničním modelu (pokud nejsou zpackané řídící obvody) Kontrola modelu: ověření, zda implementace vyhovuje teorii, tj. zda má určitou vlastnost

Úzká místa simulace Tvorba stimulů Provedení simulace Vyhodnocení výstupu Ladění návrhu Útěk k software Neefektivní co se týče příkonu a plochy Kdo bude verifikovat software?

Provedení simulace Paralelní systémy Dedikovaný hardware speciální HW struktura pro daný simulační algoritmus cenová efektivita? (~20 běžných strojů) Emulace část HW naživo úschova a obnova stavu FPGA

Nebudeš simulovat na zbytečně nízké úrovni K odladění bootloaderu nepotřebujeme přesná časování jednotek procesoru Modely na úrovni instrukce (simulátory procesoru) Modely na úrovni transakce (čtení z paměti ) Modely na úrovni cyklu sběrnice

Stimuly příliš mnoho možností vstupu Vymezené náhodné (constrained random) stimuly příliš velké systémy Spec. jazyky (Vera, SystemVerilog, SystemC) problém řiditelnosti jak popsat omezení vstupů? jak řídit simulaci, aby pokryla i okrajové případy (corner cases)?

Metriky pokrytí Strukturní metriky měří pokrytí strukturními jednotkami kódu (příkaz, větvení, výraz...) Funkční metriky body verifikačního plánu důležité funkce, obsažené ve specifikaci

Vyhodnocení výstupu odezva chybné části implementace se projeví na výstupu se zpožděním, maskovaně nebo vůbec ne problém pozorovatelnosti simulaci specifikace a implementace nelze srovnat přímočaře

Ladění K nápravě chyby je třeba porozumět příčině Náhodně generované stimuly nedávají smysl Výstup popisuje příznaky, ne příčinu Chybí informace o chování vnitřních signálů resimulace (emulované bloky?)

Aserce Výroky, vložené do kódu Použití: okrajové případy kontrola modelu (statická verifikace) kontrola při simulaci (dynamická verifikace) popis přípustného vstupu bloku řízení verifikace (sběr statistik) pozorovatelnost řiditelnost

Property Specification Language (PSL) Booleovská vrstva: výrazy (Verilog, VHDL), které se týkají jednoho okamžiku Temporální vrstva: výroky o posloupnostech v (diskrétním) čase (LTL, CTL) Verifikační vrstva: direktivy nástrojům Modelová vrstva: popis okolí, je-li třeba LTL: Linear Time Logic, logika lineárního času CTL: Computational Tree Logic, logika výpočetních posloupností

Kombinované techniky Aserce: dokázaná, má protipříklad, nedokázaná, částečně dokázaná Kontrola modelu z daného počátečního stavu po daný počet kroků (radius důkazu) Kontrola modelu u problematických bloků (hot spots) Celek: dynamická verifikace řízená statistikami

Pokrytí stavového prostoru stavy, pokryté dynamickou verifikací výchozí stav stavy, pokryté statickou verifikací stavy dosažitelné k kroky (radius kontroly modelu) stavy, dosažené hledáním protipříkladu do hloubky

Problémová místa Místo Kontrolovaná tvrzení Metoda správa zdrojů, arbitry rozhraní automaty rozhraní přechod mezi hodinovými doménami exkluzivní alokace, korektní dealokace protokol zatížení rozhraní časové specifikace časové závislosti, hazardy rekonvergentních signálů integrita dat čtení dat před přepsáním, tok dat kontrola modelu na arbitru, kontrola předpokladů monitory protokolu aserce z časových diagramů aserce z časových diagramů, statická kontrola návrhových pravidel kontrola modelu, verifikační knihovna

Metriky pro aserce Pokrytí konstruktů HDL složitost aserce Strukturní pokrytí indukované funkční simulací Množství stavů pokrytých částečnými důkazy

Zdroje asercí Formální modely známých struktur (např. fronta): knihovny Standardy, definice protokolů Popis na vyšší úrovni abstrakce např. automatový popis versus proudově pracující implementace

Open Verification Methodology Verifikační prostředí Verifikační IP Metodika OVM Knihovna tříd OVM OVM SystemVerilog SystemVerilog simulátor SystemC SystemC simulátor

OVM Mentor Graphics AVM, Cadence URM Komunikace mezi bloky na úrovni transakcí pojem transakce kompatibilní se SystemC standardní rozhraní, metody rozhraní Standardní fáze simulace (záchytné body pro verifikační IP) konstrukce elaborace simulace report Podpora generování vymezených náhodných stimulů

Stavební bloky OVM sběrnce AMBA Verifikace AMBA Generátor odezvy Generátor sekvencí Monitor: kontrola protokolu kontrola pokrytí podle Information Qarterly 7(1), 2008