Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 2 METODY VERIFIKACE SYSTÉMŮ NA ČIPU II doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii ČVUT v Praze Hana Kubátová MI-SOC 2011/12 1
VERIFIKACE A VALIDACE Část 1 Techniky formální verifikace a validace Část 2 Verifikační strategie Pokročilé techniky simulace Metriky verifikace Aserce Statická a dynamická formální verifikace Kombinované verifikační techniky Hana Kubátová MI-SOC 201 11/12 2
SLOŽKY VERIFIKACE Verifikační prostředí Verifikační IP Metodika verifikace Standardní komponenty (knihovna) Simulátor Jazyky Kontrola modelu 3
Ú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? 4
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 5
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)? 6
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 7
VYHODNOCENÍ VÝSTUPU odezva chybné části implementace se projeví na výstupu se zpožděním, maskovaně nebo vůbec ne simulaci specifikace a implementace nelze problém srovnat přímočaře pozorovatelnosti 8
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?) 9
ASERCE Výroky, vložené do kódu Použití: kontrola modelu (statická verifikace) kontrola při simulaci (dynamická verifikace) popis přípustného vstupu bloku řízení verifikace (sběr statistik) okrajové případy pozorovatelnost řiditelnost 10
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í 11
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 12
POKRYTÍ STAVOVÉHO PROSTORU výchozí stav stavy, pokryté dynamickou verifikací stavy, pokryté statickou verifikací stavy dosažitelné k kroky (radius kontroly modelu) stavy, dosažené hledáním protipříkladu do hloubky 13
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 14
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 15
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 16
OPEN VERIFICATION METHODOLOGY Verifikační prostředí Verifikační IP Metodika OVM Knihovna tříd OVM SystemVerilog SystemVerilog simulátor OVM 17
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ů 18
STAVEBNÍ BLOKY OVM sběrnce AMBA Verifikace AMBA Generátor odezvy Generátor sekvencí Monitor: kontrola protokolu kontrola pokrytí 19 podle Information Qarterly 7(1), 2008